Grooper.Core.BatchProcessStep

Represents a logical step in a Batch Process. A Batch Process Step defines an activity to be performed as part of a batch process. Activities fall into two broad categories:


Inherits from: Grooper.GrooperNode

Constructors

Signature Description
New (gdb As GrooperDb) Initializes a new instance of the BatchProcessStep class.
Parameters
gdb
          Type: GrooperDb
          The associated Grooper database.
New (gdb As GrooperDb, dr As IDataReader) Initializes a new instance of the BatchProcessStep class from a DataReader object.
Parameters
gdb
          Type: GrooperDb
          The associated Grooper Database.
 
dr
          Type: IDataReader
          The DataReader object.

Fields

Field Name Field Type Description
Database As Grooper.GrooperDb Grooper.GrooperDb
IsDeleted As System.Boolean System.Boolean

Properties

Property Name Property Type Description
ACL Grooper.AccessControlList Returns the effective ACL for this node. If no ACL has been set directly on the node, the tree structure is traversed up to the root and the first ACL encountered is returned. If no ACL is found, null/Nothing will be returned.
Activity Grooper.Core.BatchProcessingActivity Configuration settings for the selected Activity Type.
ActivityType System.Type The type of activity to be executed by this step.
AllChildren System.Collections.Generic.IEnumerable(Of T) Iterates recursively through all nodes below this node.
AllChildrenOfType(Type As Type) System.Collections.Generic.IEnumerable(Of T) Returns all nodes at any level below the current node which have a TypeName matching the supplied parameter.
Parameters
Type
          Type: Type
          The type to filter by.
AllowedChildTypes System.Collections.Generic.IEnumerable(Of T) Iterates the list of types which can be added as children.
Attributes Grooper.GrooperNode.NodeAttributes The attributes of this node.A combination of the following flags:
  • None: No attributes are set.
  • ReadOnly: If set, the properties of the object are not editable.
  • FixedContents: If set, child objects cannot be added, removed, or reordered.
  • Sorted: If set, child objects will be automatically sorted by name.
  • HasACL: Indicates whether this node has an Access Control List attached to it.
  • System: Indicates whether this node is a system object.
AutoName System.Boolean Indicates whether this node type uses automatic name generation. Node types which use auto name generation: (a) do not prompt for a name on creation; and (b) disable user renaming.
CanAddChildren System.Boolean Returns true if this node has child types defined, the current user has appropriate write permissions, and the 'ContentsReadOnly' flag is not set.
CanHaveChildren System.Boolean Indicates whether this node type can have children.
CanScript System.Boolean Indicates whether this node type can have a script.
ChildrenAtLevel(Level As Int32) System.Collections.Generic.IEnumerable(Of T) Iterates though children at a specific level below this node.
Parameters
Level
          Type: Int32
          The number of levels below this node to generate a list for.
ChildrenOfType(Type As Type) System.Collections.Generic.IEnumerable(Of T) Returns all immediate children of this node which have a TypeName matching the supplied parameter.
Parameters
Type
          Type: Type
          The TypeName to filter by.
Description System.String Generic property allowing an administrator to document the purpose of this Grooper Node.
DirtyFields Grooper.GrooperNode.DirtyFieldMask Returns a bit mask specifying which database fields have been modified.A combination of the following flags:
  • None
  • NonField
  • Name
  • ParentId
  • NodeIndex
  • NumChildren
  • Attributes
  • NodeValues
  • Files
  • Properties
DisplayName System.String The human-readable display name for this node. Derived classes can override this property to provide dynamically generated names rather than stored names. For example, BatchPage overrides this property to return "Page 1", "Page 2", etc. using the NodeIndex rather than trying to keep up with renaming nodes each time a page is inserted. Please note that all nodes must have a unique name, so if dynamic name generation is to be implemented, use the node's unique id as the name.
FileNames System.Collections.Generic.IEnumerable(Of T) Provides a list of filenames for files associated with this node.
Files System.Collections.Generic.IEnumerable(Of T) Iterates the list of file objects stored on this node.
FilesDirty System.Boolean Gets or sets a value indicating whether the properties of this node have changes which should be written to the database on the next call to SaveChanges().
FilesString System.String Gets JSON string which contains the serialized file entries for this node.
FolderLevel System.Int32 The folder level at which tasks will process when the Scope is set to 'Folder'.
FullDisplayName System.String Returns the full display path and display name for this node.
HasACL System.Boolean Returns true or false to indicate whether this node has an ACL attached to it.
HasCircularReference System.Boolean Returns True if this node references any Grooper Nodes that reference this node.
HasCompiledScript System.Boolean Determines whether this node has a compiled script associated with it.
HasContentsReadOnlyFlag System.Boolean Indicates whether this node has the ContentsReadOnly attribute set.
HasContentsSortedFlag System.Boolean Indicates whether this node has the ContentsSorted attribute set.
HasDbRow System.Boolean A boolean value indicating whether this node has been written to the database.
HasReferenceProperties System.Boolean Returns true if the object has properties which reference Grooper Node objects.
HasScript System.Boolean Returns a value indicating whether this node has a script associated with it.
IconImage System.Drawing.Image Returns a 16x16 icon image which represents this object.
IconKey System.String Returns a unique identifier representing the icon image used for this object.
Id System.Guid Unique Node ID. This value is read only. Every node in the Grooper tree structure is identified by a GUID.
ImmediateChildCount System.Int32 Cmis Convenience method to return a count of the immediate children of this node.
IsDirty System.Boolean Gets or sets a value indicating whether this node has been changed and needs to be written to the database. Please note that value is set automatically when any properties of a node are changed.
IsEmpty System.Boolean Returns true if all properties with a ViewableAttribute are set to their default value.
IsExportable System.Boolean Indicates whether this node may be exported.
IsReadOnly System.Boolean Indicates whether this node has the ReadOnly attribute set.
IsRenameable System.Boolean Returns False if this node depends on a fixed name.
IsSystem System.Boolean Indicates whether this node has the System attribute set.
IsWriteable System.Boolean Indicates whether this node is writable. To be writable, a node must not have the ReadOnly or System attribute set, and the current user must have Write access to it.
Item(Name As String) Grooper.GrooperNode Returns the child node with the provided name.
Parameters
Name
          Type: String
          The name of the child node.
Item(Index As Int32) Grooper.GrooperNode Returns the child node with the provided name.
Parameters
Index
          Type: Int32
          The 0-based index of the child node.
Locked System.Boolean Returns true if the node is locked.
LockedByMe System.Boolean Returns true if the node is locked by the current running process.
Name System.String The name of the node. Names must be unique within the parent container node. Use DisplayName when displaying in a user interface. Some object types generate the name displayed to users dynamically by overriding the DisplayName property. For example, a BatchPage node uses the unique GUID Id as its actual name, but for display purposes uses its position within the parent folder to produce "Page 1", "Page 2", etc.
NextNode Grooper.GrooperNode The sibling node following this node.
NextStepExpression System.String An optional expression which determines the step to be executed after this one. The expression must evaluate to a BatchProcessStep object, or to Nothing. Returning a value of Nothing will complete the batch. Below are various examples of next step expressions:

If the batch has flagged pages, go to Rescan. Otherwise, proceed to OCR:
If(Batch.HasFlaggedPages, Rescan, OCR)

If the batch has items with invalid index data, go to Data Review. Otherwise, proceed to Export:
If(Batch.HasDataErrors, Data_Review, Export)

NodeIndex System.Int32 The index of this node within the parent container.
NumChildren System.Int32 The number of children this node contains.
ParentId System.Guid The ID of the parent node. Use the ParentNode property to access the parent.
ParentNode Grooper.GrooperNode Returns the parent node.
PrevNode Grooper.GrooperNode The sibling node preceding this node.
PropertiesJson System.String Gets or sets the JSON string which contains the serialized properties for this node. Do not set this property unless you know what you are doing.
PropsDirty System.Boolean Gets or sets a value indicating whether the properties of this node have changes which should be written to the database on the next call to SaveChanges().
Root Grooper.GrooperRoot Returns the root node
RowId System.Int32 Unique identifier for the database row associated with this node. This value is read only. A Grooper tree structure can make use of multiple database tables. The Id value is a GUID that uniquely identifies the node globally. The RowId is an integer identity value which uniquely identifies the row in a specific database table.
RowVersion System.String Unique value that indicates the version of the database row. Used to detect changes written to the database by another process. This value is read only.
Scope Grooper.GrooperDb.ProcessingScope The processing scope of this step.Can be one of the following values:
  • None: No scope has been assigned. A step with no processing scope will be ignored, so this setting can be used to temporarily ignore a step without deleting it.
  • Batch: One task will be created for the entire batch.
  • Folder: One task will be created for each folder at a specific level within the batch.
  • Page: One task will be created for each page.
ShouldSubmitExpression System.String An optional expression which determines whether tasks will be submitted for individual folders or pages. The expression is executed for each folder or page in scope, and should return a True or False value indicating whether the item should be processed. If False is returned for every item in the batch, this will essentiall skip the entire step. Below are various examples of should submit expressions:

Submit only items which are not flagged:
Item.Flagged = False

Submit only folders where the index data is valid:
DirectCast(Item,BatchFolder).DataIsValid = False

Submit only color pages:
DirectCast(Item, BatchPage).PixelFormat = GrooperImage.PixelFormat.Pixel24bppBgr

Submit only folders where the MIME type is PDF:
DirectCast(Item, BatchFolder).NativeMimeType = "application/pdf"

ThreadPool Grooper.Core.ThreadPool Determines the Thread Pool that will be used to process tasks for this step.
TypeDisplayName System.String A human-readable name for the type of this node.
TypeName System.String The typename of the current node. This property is read only. Type names are the name of the class inherited from GrooperNode.
UseCount System.Int32 Returns the count of nodes referencing this node.
ValueNames System.Collections.Generic.IEnumerable(Of T) Iterates through the list of value names associated with this node.
ValuesString System.String Gets JSON string which contains the serialized values for this node.

Methods

Method Name Description
AppendNode(NewNode As GrooperNode) As Boolean Appends a new node as child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to append.
AppendTextFile(FileName As String, Value As String)
Parameters
FileName
          Type: String
          
 
Value
          Type: String
          
CcAppendChild(NewNode As GrooperNode, ipd As IProgressDisplay) As Boolean Appends the specified node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to append to the child list.
 
ipd
          Type: IProgressDisplay
          
CcAppendChildren(NewNodes As IEnumerable(Of GrooperNode), ipd As IProgressDisplay) As Boolean Appends the specified items as a children of this node.
Parameters
NewNodes
          Type: IEnumerable`1
          
 
ipd
          Type: IProgressDisplay
          
CcDeleteChild(Id As Guid, ipd As IProgressDisplay) As Boolean Deletes the specified child node.
Parameters
Id
          Type: Guid
          The ID of the node to delete.
 
ipd
          Type: IProgressDisplay
          Progress display object.
CcDeleteChildren(Ids As IEnumerable(Of Guid), ipd As IProgressDisplay) As Boolean
Parameters
Ids
          Type: IEnumerable`1
          
 
ipd
          Type: IProgressDisplay
          
CcInsertChild(NewNode As GrooperNode, InsertIndex As Int32) As Boolean Appends the specified node as a child of this node at a specific position.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
InsertIndex
          Type: Int32
          The 0-based index at which the node should be inserted.
CcMove(NewParent As GrooperNode, InsertIndex As Int32) As Boolean Moves the node to a new parent, optionally inserting it at a specific index.
Parameters
NewParent
          Type: GrooperNode
          The new parent node.
 
InsertIndex
          Type: Int32
          The 0-based index at which the node should inserted.
CcRenameChild(Id As Guid, NewName As String, EnsureUnique As Boolean) As Boolean Renames the child node with the specified ID.
Parameters
Id
          Type: Guid
          The ID of the node to rename.
 
NewName
          Type: String
          The new name.
 
EnsureUnique
          Type: Boolean
          If set to true, a unique name will be automatically generated if needed. If set to false, and the provided name is already in use, an error will be generated.
ChangeFileStore(NewFileStore As FileStore) As Int32 Moves the files for this node to the indicated filestore.
Parameters
NewFileStore
          Type: FileStore
          The new file store.
Clear() Removes a value from this node.
ClearValue(ValueName As String) Removes a value from this node.
Parameters
ValueName
          Type: String
          The name of the value to remove.
Clone(gdbDst As GrooperDb, KeepId As Boolean) As GrooperNode Creates a clone of this node.
Parameters
gdbDst
          Type: GrooperDb
          
 
KeepId
          Type: Boolean
          
CloneBranch(gdbDst As GrooperDb, ipd As IProgressDisplay, KeepIds As Boolean) As GrooperNode Clones this branch of the tree.
Parameters
gdbDst
          Type: GrooperDb
          
 
ipd
          Type: IProgressDisplay
          
 
KeepIds
          Type: Boolean
          
ContainsId(Id As Guid) As Boolean Determines if a node with the specified Id value is present as an immediate child of this node.
Parameters
Id
          Type: Guid
          The Id to search for.
ContainsName(Name As String) As Boolean Determines if a node with the specified name is present as an immediate child of this node.
Parameters
Name
          Type: String
          The Id to search for.
CopyFileTo(SrcFileName As String, DstNode As GrooperNode, DstFileName As String) As Boolean Copies a file from this node to another GrooperNode.
Parameters
SrcFileName
          Type: String
          The filename to copy.
 
DstNode
          Type: GrooperNode
          The destination node.
 
DstFileName
          Type: String
          The destination filename.
CopyPropertiesFrom(Node As GrooperNode) Copies the properties from another GrooperNode.
Parameters
Node
          Type: GrooperNode
          
CreateChild(ItemType As Type, ItemName As String) As GrooperNode Creates a new child node with the specified type and appends it to the current node.
Parameters
ItemType
          Type: Type
          The type of the new node.
 
ItemName
          Type: String
          The name of the new node.
CreateChildren(ItemType As Type, ItemNames As IEnumerable(Of String)) As List(Of GrooperNode) Creates multiple child nodes with the specified type and appends it to the current node.
Parameters
ItemType
          Type: Type
          The type of nodes to create.
 
ItemNames
          Type: IEnumerable`1
          The name of the new node.
CreateFileCopy(SrcFileName As String, DstFileName As String) As Boolean Copies the specified file to a new file with a different name.
Parameters
SrcFileName
          Type: String
          The source file name.
 
DstFileName
          Type: String
          The destination file name.
Delete() As Boolean Deletes the database row associated with this node, as well as all file objects associated with this node.
DeleteFile(FileName As String, IgnoreErrors As Boolean) As Boolean Deletes a file associated with this node.
Parameters
FileName
          Type: String
          The filename under which the file was previously stored.
 
IgnoreErrors
          Type: Boolean
          
DisableScript() Disables the script associated with this node by deleting the compiled assemblies.
EnsureLoaded(Recursive As Boolean) Ensures that the contents of the current node have been loaded at least 1 level deep.
Parameters
Recursive
          Type: Boolean
          If true, the entire branch is loaded. Otherwise, only immediate children will be loaded.
FileEntryExists(FileName As String) As Boolean Determines if file entry exists with the specified name.
Parameters
FileName
          Type: String
          The name of the file.
Finalize()
GetAncestor(LevelsAbove As Int32) As GrooperNode Returns the ancestor node a specific number of levels above this node.
Parameters
LevelsAbove
          Type: Int32
          The number of levels. A value of 1 will return the parent of this node.
GetAncestorOfType(Type As Type) As GrooperNode Returns the first ancestor up the tree which has the indicated type, or which derived from the indicated type.
Parameters
Type
          Type: Type
          The type of GrooperNode object to find.
GetBranchReferenceCount(TargetRefId As Guid) As Int32 Returns the number of references from this Branch to Node indicated by TargetRefId.
Parameters
TargetRefId
          Type: Guid
          
GetBranchReferences() As List(Of Guid) Returns a consolidated list of references to this node or any of its children.
GetBranchReferencesToMe() As List(Of Guid) Returns a consolidated list of references to this node or any of its children.
GetDisplayPathFrom(Ancestor As GrooperNode) As String Returns a string representing the path (made from display names) between this node and an ancestor node above it in the tree structure.
Parameters
Ancestor
          Type: GrooperNode
          The node to calculate a path from. This node must be an ancestor of the current node.
GetFileEntry(FileName As String) As ContentFile Retrieves a file entry by name.
Parameters
FileName
          Type: String
          The name of the file.
GetLastError() As String Returns the last error message which was set with SetLastError() or WriteToLog().
GetLevelsBelow(Type As Type) As Int32 Gets the number of levels between this node and a node above it of a specific type.
Parameters
Type
          Type: Type
          The node type to measure from.
GetLevelsBelow(Node As GrooperNode) As Int32 Gets the number of levels between this node and a specific ancestor node.
Parameters
Node
          Type: GrooperNode
          The node to measure from.
GetLock() As NodeLock Obtains the lock object for this node.
GetNextStep(Batch As Batch) As BatchProcessStep
Parameters
Batch
          Type: Batch
          
GetNode(IdToFind As Guid) As GrooperNode Finds a node with the specified Id value.
Parameters
IdToFind
          Type: Guid
          The unique Id value to find.
GetPathFrom(Ancestor As GrooperNode) As String Returns a string representing the path between this node and an ancestor node above it in the tree structure.
Parameters
Ancestor
          Type: GrooperNode
          The node to calculate a path from. This node must be an ancestor of the current node.
GetPathFromRoot() As String Returns a string representing the path between this node the root node.
GetPathTypesFromRoot() As String Returns a string representing the path types between this node and the root node.
GetProperties() As PropertyDescriptorCollection
GetReferences() As List(Of GrooperNode) Returns a list of references to this node.
GetReferencesToMe() As List(Of Guid) Returns a list of references to this node.
GetShadowNode(IncludePath As Boolean) As ShadowNode
Parameters
IncludePath
          Type: Boolean
          
GetUniqueName(BaseName As String) As String Creates a unique name for a child node, starting from a base name and adding a number at the end if needed.
Parameters
BaseName
          Type: String
          The base name.
GetValue(ValueName As String) As TheType Reads a serialized JSON object from a value.
Parameters
ValueName
          Type: String
          The value name under which the object was previously stored.
GetValue(ValueName As String) As String Reads a string value from this node.
Parameters
ValueName
          Type: String
          The value name under which the string was previously stored.
HasChanged() As Boolean Determines if the database row associated with this node has been modified by another process since the time it was read.
HasValue(ValueName As String) As Boolean Determines if a value exists on this node.
Parameters
ValueName
          Type: String
          The name of the value to check.
InitScript() As Boolean Initializes the script associated with this node.
InsertNode(NewNode As GrooperNode, im As InsertMethod) As Boolean Inserts a node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
im
          Type: InsertMethod
          The insert method.
InsertNode(NewNode As GrooperNode, InsertIndex As Int32) As Boolean Inserts a node as a child of this node.
Parameters
NewNode
          Type: GrooperNode
          The node to insert.
 
InsertIndex
          Type: Int32
          The index at which the item should be inserted, or the constant GrooperNode.Append.
IsDescendantOf(Node As GrooperNode) As Boolean Determines if the specified node is an ancestor of this node.
Parameters
Node
          Type: GrooperNode
          The node to check.
IsDescendantOf(Type As Type) As Boolean Determines if a node with the specified type or deriving from the specified type is an ancestor of this node.
Parameters
Type
          Type: Type
          The type to check.
IsPropertyEnabled(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently enabled.
Parameters
PropertyName
          Type: String
          The name of the property to determine the enabled state for.
IsPropertyVisible(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently visible.
Parameters
PropertyName
          Type: String
          The name of the property to determine the visible state for.
IsType(Type As Type) As Boolean Returns true if the object is of the type specified, or if it derives from the type specfied.
Parameters
Type
          Type: Type
          The type to check.
LoadFile(FileName As String) As ContentStream Loads a file as a stream.
Parameters
FileName
          Type: String
          The filename to read.
LoadFileObject(FileName As String, AdditionalTypes As IEnumerable(Of Type)) As TheType Loads a JSON-serialized object from the file store.
Parameters
FileName
          Type: String
          Filename the object was previously stored under.
 
AdditionalTypes
          Type: IEnumerable`1
          
LoadImage(FileName As String) As GrooperImage Loads an image from the specified filename.
Parameters
FileName
          Type: String
          
LoadTextFile(FileName As String) As String Loads a text file from the file store.
Parameters
FileName
          Type: String
          The filename under which the file was previously saved.
Lock(ProcedureName As String) As Boolean
Parameters
ProcedureName
          Type: String
          
Lock(ProcedureName As String, ReloadIfChanged As Boolean) As Boolean
Parameters
ProcedureName
          Type: String
          
 
ReloadIfChanged
          Type: Boolean
          
Lock(ProcedureName As String, ReloadIfChanged As Boolean, Timeout As Int32) As Boolean Attempts to obtain an exclusive lock on the node.
Parameters
ProcedureName
          Type: String
          The name of the procedure requesting the lock.
 
ReloadIfChanged
          Type: Boolean
          If true, the node will be checked to see if it has changed since it was read from the database. If so, it will be reloaded.
 
Timeout
          Type: Int32
          
Move(NewParent As GrooperNode, InsertIndex As Int32) As Boolean Moves this node from its current location in the tree structure to a new location.
Parameters
NewParent
          Type: GrooperNode
          The parent node that this node should be moved to.
 
InsertIndex
          Type: Int32
          The index at which the item should be inserted, or the constant GrooperNode.Append.
MoveChildren(NewParent As GrooperNode) As Boolean Moves all children of this node to another node.
Parameters
NewParent
          Type: GrooperNode
          
MoveItemsHere(OldParent As GrooperNode, Items As IEnumerable(Of GrooperNode)) As Boolean
Parameters
OldParent
          Type: GrooperNode
          
 
Items
          Type: IEnumerable`1
          
NameIsConflict(NewName As String) As Boolean Determines if renaming this node to the specified value will create a name conflict with another node in the same parent container.
Parameters
NewName
          Type: String
          The name to check.
NodeFromPath(Path As String, FromRoot As Boolean) As GrooperNode Finds a child node using a path string.
Parameters
Path
          Type: String
          A GrooperNode object, or Null/Nothing if the path is not found.
 
FromRoot
          Type: Boolean
          If true, then search from root, otherwise search from the current node.
PathExists(Path As String) As Boolean Determines if a node exists for a specific path.
Parameters
Path
          Type: String
          The path to check.
Reload(ReloadChildren As Boolean) As Boolean Reloads this node from the database.
Parameters
ReloadChildren
          Type: Boolean
          
Remove() Removes this node and marks it for deletion on the next call to GrooperDb.SaveChanges().
RenameFile(OldFileName As String, NewFileName As String) As Boolean Renames a file associated with this node.
Parameters
OldFileName
          Type: String
          The current filename.
 
NewFileName
          Type: String
          The new filename.
SaveFile(Stream As Stream, MimeType As String, DstFileName As String, AllowOverwrite As Boolean) Saves a file from a stream to Grooper.
Parameters
Stream
          Type: Stream
          
 
MimeType
          Type: String
          
 
DstFileName
          Type: String
          
 
AllowOverwrite
          Type: Boolean
          
SaveFileObject(FileName As String, Item As TheType, AdditionalTypes As IEnumerable(Of Type), AllowOverwrite As Boolean) Saves an object to the file store using JSON serialization.
Parameters
FileName
          Type: String
          The filename to store the object under.
 
Item
          Type: TheType
          The object to be stored.
 
AdditionalTypes
          Type: IEnumerable`1
          
 
AllowOverwrite
          Type: Boolean
          
SaveImageFile(Image As GrooperImage, DstFileName As String, AllowOverwrite As Boolean) Save an image file on this node under the specified filename.
Parameters
Image
          Type: GrooperImage
          The image to save.
 
DstFileName
          Type: String
          The filename under which to save the image.
 
AllowOverwrite
          Type: Boolean
          If set to false, the method will fail if a file with the same name already exists.
SaveTextFile(DstFileName As String, TextContent As String, MimeType As String, AllowOverwrite As Boolean) Saves text data to a file in the file store.
Parameters
DstFileName
          Type: String
          The filename to store the file under.
 
TextContent
          Type: String
          The text content to save.
 
MimeType
          Type: String
          The MIME type to associate with the data.
 
AllowOverwrite
          Type: Boolean
          
Serialize() As String Serializes the object.
SetBranchAttributes(Value As NodeAttributes) Sets the attributes on this node and all nodes below it.
Parameters
Value
          Type: NodeAttributes
          Attributes to set.
SetDatabase(Database As GrooperDb) Sets the database connection of the object.
Parameters
Database
          Type: GrooperDb
          
SetLastError(Message As String, pa() As Object()) Sets an error message which can be retrieved by calling code via GetLastError().
Parameters
Message
          Type: String
          The message. Uses String.Format syntax.
 
pa
          Type: Object
          The String.Format parameters.
SetValue(ValueName As String, Value As TheType) Saves an object to a value using JSON serialization.
Parameters
ValueName
          Type: String
          The value name to store the object under.
 
Value
          Type: TheType
          The object to store.
SetValue(ValueName As String, Value As String) Saves a string value to this node.
Parameters
ValueName
          Type: String
          The value name under which to store the string.
 
Value
          Type: String
          The string to store.
ShouldSubmit(BatchObject As BatchObject) As Boolean
Parameters
BatchObject
          Type: BatchObject
          
SortChildren(SortByIndex As Boolean) Sorts the children of this node on name.
Parameters
SortByIndex
          Type: Boolean
          
TopChildren() As IEnumerable(Of NodeType) Returns the highest level nodes which have a type matching the supplied parameter. Items of the supplied type which are below another item of the same type will not be returned.
ToString() As String Returns the display name for the node.
Unload() Unloads the children of this node. Call this method to free up the memory associated with large branches of the tree.
Unlock() Unlocks a previously locked node.
Update() As Boolean Updates the database row associated with this node with any fields which have been changed.
ValidateProperties() As ValidationErrorList Validates the properties of the object, returning a list of validation errors.
WriteToLog(Type As EventType, Message As String, pa() As Object()) Writes an entry to the log table in the database.
Parameters
Type
          Type: EventType
          The type of event to log.
 
Message
          Type: String
          The message, or message format. Uses String.Format syntax.
 
pa
          Type: Object
          Parameters for String.Format
WriteToLog(ex As Exception, Message As String, pa() As Object()) Writes an error to the Grooper event log, using the stack trace from the provided exception and the specified message.
Parameters
ex
          Type: Exception
          The exception.
 
Message
          Type: String
          The message to log.
 
pa
          Type: Object
          String.Format() params.
WriteToLog(ex As Exception) Writes an error to the Grooper event log, using the stack trace and message contained the provided exception.
Parameters
ex
          Type: Exception
          The exception to log.

Commands

Command Name Description
Add Multiple Items Creates multiple items as children of the selected object.
Clear Children Deletes all children of the selected object(s).
Export to Zip Archive Exports a set of Grooper nodes to a ZIP archive.
Publish to Grooper Repository Publishes one or more Nodes to one or more Target Grooper Repositories.
Unpublish Unpublishes a set of Grooper Nodes to a Target Grooper Repository.