Class WorkflowDefinition
Base class for Workflow definitions
Inherited Members
Namespace: EPiServer.WorkflowFoundation
Assembly: EPiServer.WorkflowFoundation.dll
Version: 7.19.2Syntax
public abstract class WorkflowDefinition : IItem, ISecurableRemarks
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
