Documentation Center

Process Association

A Process Association connects content items of a certain type with a Process Definition. Such an association indicates that a specific Process, based on the Process Definition, can be started if the content item is used in a certain way. A Process Association can be direct or indirect.

Direct Process Associations

The following table shows which types of content items can have a direct Process Association, and how the type of content item can be used to trigger a Process.

Apart from the Process Association for Bundle Schemas, the use of direct Process Associations is discouraged in new implementations. Use indirect Process Associations instead.

Type of content itemAction that triggers Process Instance
Bundle SchemaA user explicitly puts a Bundle based on this Bundle Schema in workflow.
(Component) SchemaA user creates, edits, rolls back or classifies/reclassifies/unclassifies a Component based on this Schema
Multimedia SchemaA user creates, edits, rolls back or classifies/reclassifies/unclassifies a Multimedia Component based on this Multimedia Schema
Structure GroupA user creates, edits or rolls back a Page in this Structure Group
Publication (Component Template association)A user creates, edits or rolls back a Component Template in this Publication
Publication (Page Template association)A user creates, edits or rolls back a Page Template in this Publication

A Process can also be started in other ways:

  • A user can create a Task, which triggers a Process Instance
  • Your custom code (Event Handler code or template code) can programmatically trigger a Process Instance.

Indirect Process Associations

An indirect Process Association exists if certain types of content items are forced to be part of a Bundle that is subject to workflow. Because of this, those content items are subject to the same Process that the Bundle is subject to.

The following table shows which types of content items can have an indirect Process Association, and how it works.

Type of content itemHow the indirect Process Association works
(Component) SchemaA user must add every Component based on this Schema to a Bundle that is based on a Bundle Schema which has a Process Association with a Process Definition
Multimedia SchemaA user must add every Multimedia Component based on this Multimedia Schema to a Bundle that is based on a Bundle Schema which has a Process Association with a Process Definition
Structure GroupA user must add every Page in this Structure Group to a Bundle that is based on a Bundle Schema which has a Process Association with a Process Definition
PublicationA user must add every Component Template, Page Template or Template Building Block in this Publication to a Bundle that is based on a Bundle Schema which has a Process Association with a Process Definition

When configuring this kind of indirect Process Association, you may indicate a preference for a certain Process Definition (that is, you may indicate that you would prefer the items to be added to a Bundle whose Bundle Schema is associated with a specific Process Definition). Doing so makes that Process Definition more prominent to the user when they add the item to a Bundle.

Custom Process Association types

The Process Associations listed above are defaults. Using the Event System, you can create custom types of Process Associations. For example, let's say that you want workflow to be triggered for Components, not based on Schema but on the Folder in which the Component resides. You can then use the GetProcessDefinitionsEventArgs class to create this custom type of Process Association.