IWorkflow Interface Ingeniux CMS Content Store API

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: 9.0.565.0 (9.0.565)
Syntax

public interface IWorkflow : IEntity, 
	IEntityEvents, IWorkflowTransitionEvents

The IWorkflow type exposes the following members.

Properties

  NameDescription
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 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
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 propertyName
Gets and sets the entity's name.
(Inherited from IEntity.)
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 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 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.)
Top
Examples

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

<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

Reference