How to configure the Cinnamon workflow engine
Description of essential steps to set up the Cinnamon server to use the workflow engine.
Configuration
To enable the WorkflowAPI, add the following element to <apiClasses> in your repository in the cinnamon_config.xml:
<apiClass>server.extension.WorkflowApi</apiClass>
Note: for testing, you may call the API method "initializeWorkflows" of the Initializer-extension which executes the following steps automatically.
- add an object type with name "_workflow_template" and description "_workflow_template.description" to the ObjectType-table. (The name is set in server.Constants).
- add an object type with name "_workflow" and description "_workflow" to the ObjectType table.
- add an object type with name "_task_definition" and description "_task_definition.description" to the ObjectType table.
- add an object type with name "_transition" and description "_transition.description" to the ObjectType table.
- add an object type with name "_task" and description "_task.description" to the ObjectType table
- create a folder /system/workflows
- create the folders /system/workflows/templates, /system/workflows/tasks and /system/workflows/taskdefinitions.
- create an IndexItem with the following parameters:
- Field Name: active_workflow
- For Metadata: true
- Index Type: xpath.boolean_indexer
- Search Condition: /sysMeta/object/objectType/id=<id of _workflow_template object type>
- Search String: /meta/metaset[@type='workflow_template']/active_workflow
- Systemic: true
- create a relation type "_workflow_start_task" where both sides of the relation are protected.
- create a relation type "_workflow_task" where both sides of the relation are protected.

