Class WorkflowDefinition
Base class for Workflow definitions
Inherited Members
Namespace: EPiServer.WorkflowFoundation
Assembly: EPiServer.WorkflowFoundation.dll
Version: 8.11.0Syntax
public abstract class WorkflowDefinition : IItem, ISecurable
Remarks
implements IItem so definition can be stored in Object Store
Constructors
WorkflowDefinition(DefinitionType, String, String)
Creates a new instance of a workflow definition.
Declaration
protected WorkflowDefinition(DefinitionType definitionType, string name, string description)
Parameters
Type | Name | Description |
---|---|---|
DefinitionType | definitionType | The type of the defintion (xoml or compiled) |
System.String | name | The name of the definition (must be unique) |
System.String | description | The description of the definition |
Remarks
New instances should not be created directly, use RegisterDefinition on IDefinitionHandler to get definition
WorkflowDefinition(DefinitionType, String, String, AccessControlList)
Initializes a new instance of the WorkflowDefinition class.
Declaration
protected WorkflowDefinition(DefinitionType type, string name, string description, AccessControlList acl)
Parameters
Type | Name | Description |
---|---|---|
DefinitionType | type | The type of the defintion (xoml or compiled) |
System.String | name | The name of the definition (must be unique) |
System.String | description | The description of the definition |
AccessControlList | acl | The access control list for the definition |
Remarks
New instances should not be created directly, use RegisterDefinition on IDefinitionHandler to get definition
WorkflowDefinition(WorkflowDefinition)
Initializes a new instance of the WorkflowDefinition class. used for copy
Declaration
protected WorkflowDefinition(WorkflowDefinition definition)
Parameters
Type | Name | Description |
---|---|---|
WorkflowDefinition | definition | The definition. |
Properties
ACL
The access control list for the definition
The settings that will be checked for is:
Read - States who will see instances in e.g. instance lists
Create - States who have rights to manually create instances of definition
Delete - States who can terminate a running instance
Edit - States who can edit a running instance
Declaration
public AccessControlList ACL { get; set; }
Property Value
Type | Description |
---|---|
AccessControlList |
DefinitionId
Gets the definition id.
Declaration
public Guid DefinitionId { get; }
Property Value
Type | Description |
---|---|
System.Guid | The definition id. |
DefinitionName
The name of this Workflow definiton
Declaration
public string DefinitionName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
DefinitionType
The type of the Workflow, Compiled or Xoml
Declaration
public DefinitionType DefinitionType { get; }
Property Value
Type | Description |
---|---|
DefinitionType |
Description
The description of this Workflow definiton
Declaration
public string Description { get; set; }
Property Value
Type | Description |
---|---|
System.String |
FileSystemStartEvents
Which file system that will start an instance of the Workflow. Can be ored
Declaration
public WorkflowFileSystemEvent FileSystemStartEvents { get; set; }
Property Value
Type | Description |
---|---|
WorkflowFileSystemEvent |
Id
Id for object store storage
Declaration
public object Id { get; }
Property Value
Type | Description |
---|---|
System.Object |
Layout
The layout for the definition, if any. Can be set for State machine workflows.
Declaration
public abstract string Layout { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Remarks
It's only usage is to be able to display the state machine with correct layout.
Name
Name for object store, must be unique
Declaration
public string Name { get; }
Property Value
Type | Description |
---|---|
System.String |
PageRoot
Below PageRoot startevents are applied. PageReference.Empty interprets as everywhere
Declaration
public PageReference PageRoot { get; set; }
Property Value
Type | Description |
---|---|
PageReference |
Remarks
PageReference.EmptyReference is default value
PageStartEvents
Which episerver event(s) that will start an instance of the Workflow. Can be ored
Declaration
public WorkflowPageEvent PageStartEvents { get; set; }
Property Value
Type | Description |
---|---|
WorkflowPageEvent |
PageTypes
States for which pagetypes (given a page related startEvent) the Workflow should be started. If not given Workflow will start for all pagetypes
Declaration
public IList<string> PageTypes { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<System.String> |
PageTypesString
',' separted list of page types
Declaration
public string PageTypesString { get; set; }
Property Value
Type | Description |
---|---|
System.String |
StartParameters
Gets or sets the parameters that will be passed to created instances.
Declaration
public IDictionary<string, object> StartParameters { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IDictionary<System.String, System.Object> | The start params. |
Remarks
Stored objects should be serializable. If custom types is used their schema should be registered with Object Store
TriggeringDefinitions
If WorkflowCompleted is set as triggering event, this states which definition that should complete to create a new instance of this definition
Declaration
public IList<Guid> TriggeringDefinitions { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IList<System.Guid> |
Type
Gets the compiled type for the workflow definition
Declaration
public abstract Type Type { get; set; }
Property Value
Type | Description |
---|---|
System.Type | The type. |
TypeFullName
Gets the full name of the type, including assembly
Declaration
public string TypeFullName { get; }
Property Value
Type | Description |
---|---|
System.String | The full name of the type. |
Methods
ContainsPageType(String)
Checks if definition is set for a specific pagetype
Declaration
public bool ContainsPageType(string pageType)
Parameters
Type | Name | Description |
---|---|---|
System.String | pageType | A page type to match against |
Returns
Type | Description |
---|---|
System.Boolean |
|
Copy()
Makes a copy of definition
Declaration
public abstract WorkflowDefinition Copy()
Returns
Type | Description |
---|---|
WorkflowDefinition | a copy of definition |
GetSecurityDescriptor()
Declaration
public ISecurityDescriptor GetSecurityDescriptor()
Returns
Type | Description |
---|---|
ISecurityDescriptor |
IsBelowRootPage(PageReference)
checks wetter a given pagelink is below the pageroot
Declaration
public bool IsBelowRootPage(PageReference pageLink)
Parameters
Type | Name | Description |
---|---|---|
PageReference | pageLink | The page link to match |
Returns
Type | Description |
---|---|
System.Boolean |
|
Remarks
PageReference.Empty interprets as everywhere