Click or drag to resize

IAction Interface


Represents a task to be completed when a transition is executed. An action is associated with a transition through the AddAction(EnumActionType, String) method.

There are actions for common operations in the content tree, such as checking in a page and marking a page for publish. If the built-in actions are not adequate, developers can create custom workflow actions. Custom workflow actions assemblies must be put in App_Data/xml/custom/plugins/CustomWorkflowActions directory. The actual Action class must implement the ICustomWorkflowAction interface. The custom action uses its full class name as the value of the ProgID attribute and calls the Execute method to perform the action.

The actions associated with a transition are executed in the order in which they are added to the transition. If an action fails to execute, the transition will not complete. The workflow remains in the WorkState it was in before the transition executed.

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

The IAction type exposes the following members.

Properties
  NameDescription
Public propertyArchived
Gets/sets the archived value of this entity
(Inherited from IEntity.)
Public propertyAttributes
Gets the collection of Attributes.
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 propertyDescription
Gets and sets the description of the workflow action.
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 propertyManager
Gets the manager that retrieved this entity instance.
(Inherited from IEntityTManager.)
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 propertyType
Gets and sets the workflow action type.
Top
Methods
  NameDescription
Public methodAttribute
Retrieves an Attribute by its name.
Public methodAttributesCount
Gets the count of the Attributes collection.
Public methodExecute
Executes this action.
Public methodRemoveAttribute
Removes an Attribute from collection.
Public methodSetAttribute(IWorkflowAttribute)
Sets the value of an Attribute. If the Attribute doesn't exist, it creates a new one with the given object data.
Public methodSetAttribute(String, String)
Sets the value of an Attribute. If Attribute doesn't exist, will create a new one with the given name.
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 eventBeforeEntitySave
This event is fired before any Entity object is about to be saved.
(Inherited from IEntityEvents.)
Top
Examples
Serialization of the Action object matches the Action elements in the WorkflowDefinitions.xml file in the last-generation CMS:
XML
<Action ID="action_3" Description="Republish site" Type="Republish" PubTarget="PublishingTargets/2"/>
The difference is that the system no longer stores names of entities as identifiers. For example, the PubTarget attribute of Republish action is now storing the PubTarget ID instead of the name.
See Also