Click or drag to resize

IWorkflow Interface


Represents the an instance of a Workflow Definition associated with a single Page. Once a Page is added to a Workflow, a new instance of the Workflow object is created and attached to the Page. This allows precise control of the Page's lifecycle. It's also a good way to track the history of actions that occur on the Page.

Namespace: Ingeniux.CMS
Assembly: Ingeniux.CMS.CSAPI (in Ingeniux.CMS.CSAPI.dll) Version: 10.6.492
Syntax
public interface IWorkflow : IEntity<IWorkflowManager>, 
	IEntity, IEntityEvents, IWorkflowTransitionEvents

The IWorkflow type exposes the following members.

Properties
 NameDescription
Public propertyArchived Gets/sets the archived value of this entity
(Inherited from IEntity)
Public propertyAsset 
Public propertyAssignedUser Gets the User to whom the Page this workflow holds is assigned.
Public propertyComment Gets the user comments from the last Advancement of this workflow.
Public propertyContentItem 
Public propertyCreated Gets the entity's creation date.
(Inherited from IEntity)
Public propertyCreationUser Gets the ID of the User who created this entity.
(Inherited from IEntity)
Public propertyCurrentGroup Gets the current group to which page assignments are restricted in the current Work State.
Public propertyCurrentWorkState Gets the workflow's current Work State.
Public propertyDefaultTransition Gets the default transition of this workflow's CurrentWorkState.
Public propertyDontExecuteActions Gets and sets whether or not to execute Actions during a workflow advance.
Public propertyIsActive Gets whether the workflow's current Work State is active.
Public propertyLastModified Gets the date when the entity was most recently modified.
(Inherited from IEntity)
Public propertyLastModifiedUser Gets the ID of the User who lasted edited the entity.
(Inherited from IEntity)
Public propertyLocked Gets and sets whether this workflow is in lockdown mode. When a workflow is in lockdown mode, advancing it throws an error.
Public propertyManager Gets the manager that retrieved this entity instance.
(Inherited from IEntityTManager)
Public propertyPage Gets the Page associated with this workflow.
Public propertySession Gets the session that retrieved this entity. An entity is always session-specific.
(Inherited from IEntity)
Public propertySessionId Gets the unique ID of the session that retrieved this entity.
(Inherited from IEntity)
Public propertyWorkflowDefinition Gets the Workflow Definition from which the workflow was created.
Top
Methods
 NameDescription
Public methodAdvance Advances this workflow from its current Work State to the next Work State, using a specified Transition. Meanwhile, determines which User to whom to assign the workflow, and whether to perform Actions.
Public methodAllowedTransitions Gets the allowed Transitions to execute from the workflow's current Work State.
Public methodAssignUser Assigns the Page this workflow holds to a specific User.
Public methodJump Puts the workflow directly on the specified Work State without going through any Transitions.
Public methodLogEntries Returns the collection of Log entries on this workflow. These logs entries record the history of Workflow Transitions.
Public methodLogEntriesCount Gets the count of Log entries on this workflow.
Public methodTouch Updated the entity's LastModified value to the current time.
(Inherited from IEntity)
Public methodValidateData Validates this entity's data. Implemented by concrete inheriting types.
(Inherited from IEntity)
Public methodValidateUserPermission Validates the user permission on the current entity. Implemented by concrete inheriting types. It is called automatically upon saving an entity.
(Inherited from IEntity)
Top
Events
 NameDescription
Public eventAfterEntitySave This event is fired after a Entity object is saved.
(Inherited from IEntityEvents)
Public eventAfterWorkflowAdvance Called after all actions are executed and Transition has occured. Not called on a Bridge action.
(Inherited from IWorkflowTransitionEvents)
Public eventAfterWorkflowAdvanceAsset Called after all actions are executed and Transition has occured. Not called on a Bridge action.
(Inherited from IWorkflowTransitionEvents)
Public eventBeforeEntitySave This event is fired before any Entity object is about to be saved.
(Inherited from IEntityEvents)
Public eventBeforeWorkflowAdvance Called before a Transition occurs.
(Inherited from IWorkflowTransitionEvents)
Public eventBeforeWorkflowAdvanceAsset Called before a Transition occurs.
(Inherited from IWorkflowTransitionEvents)
Top
Example

Serialization of a Workflow instance matches an entry in the Workflows.xml from previous-generation CMS content:

XML
<WorkFlow Comment="Existing page added to workflow" CurrentStateID="WorkStates/2" 
  TransitionID="WorkflowTransition_WorkflowDefinitions/33_1" CurrentGroupID="UserGroups/2" 
  WorkFlowDefinitionID="WorkflowDefintions/4" PageID="x1551" Name="News Approval Workflow"/>

Please note that the "Name" attribute value is changed from generic "Page WF (x1551)" to the name of the Workflow Definition.

See Also