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.492
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
Example
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