The Imixs-BPMN Task Element
When a Imixs BPMN Task Element is selected in the Drawing Canvas, different settings can be configured from the tabbed property sheets displayed in the Property View.
The property settings are grouped into different sections.
General Properties
The property tab ‘General’ of a ‘Task’ element defines basic BPMN attributes.
Name
The name of the Task element is used as an human readable status identifier. The name describes the status of a process instance within the process model (e.g. “open” or “approval” “closed”).
Note: Inernally each Task Element in a BPMN model has an unambiguously identifier called the ID. The ID is assigned to a running process instance to identify the status of a WorkItem controlled by the Workflow Engine.
Documentation
The documentation of the Task element is used by the Imixs Workflow System to provide the user with additional information about the task. Typically a documentation can provide information how the task should be performed or which information need to be entered into a application.
The documentation can also be created by assigning a TextAnnotation element to the task. In this case the documentation field of the Task should remain empty.
Property | Type | Description |
---|---|---|
id | Integer | unique task identifier within the model |
name | String | name of the task element |
documentation | String | short description |
Workflow Properties
The Tab ‘Workflow’ contains Processing Information of a Task element. These information will be updated after a WorkItem was processed by the Workflow Engine.
ID
Every Imixs Task Element has an unambiguously identifier called the TaskID. The TaskID is assigned to a running process instance to identify the status of a WorkItem controlled by the Imixs Workflow Engine.
Workflow Summary
The Workflow Summary is used to describe the status of a WorkItem. This can be a static or dynamic text message. The following example generates a dynamic Workflow Summary from the WorkItem property ‘ticket.number’.
Open Ticket: <itemValue>ticket.number<itemValue>
Workflow Abstract
The Workflow Abstract defines the long description of a WorkItem. The Abstract is similar to the Workflow Summary and can also be dynamically computed from WorkItem properties. The following example shows how the abstract can be computed from WorkItem properties using the HTML markup language:
Ticket opened by <itemValue>$creator<itemValue>
<br />
Ticket No.: <itemValue>ticket.number</itemValue>
<hr />
See the Text Replacement feature how to insert WorkItem Values into a message text.
Property | Type | Description |
---|---|---|
workflow.summary | String | The definition of a workflow summary |
workflow.abstract | String | The definition of a workflow abstract |
Application Properties
The Property Tab ‘Application’ defines information used to control the behavior of a WorkItem in the workflow application.
Input Form
The ‘Input Form’ can be used to control how a WorkItem in a specific status is displayed or how it can be edited inside the workflow application. This allows the model to control the behavior of the application in a specific way.
Status Icon
A ‘Status Icon’ can be a Image URL to visualize the current status of a WorkItem.
WorkItem Type
The ‘WorkItem Type’ is a category assigned to the WorkItem by the Workflow Engine when the WorkItem was processed.
Property | Type | Description |
---|---|---|
application.editor | String | Form editor id to be assigned to a process instance |
application.icon | String | Status icon to be assigned to a process instance |
application.type | String | type definition to be assigned to a process instance |
ACL Properties
The ACL defines the read-, write- and ownership, an actor will be granted for, after processing a WorkItem.
Actors play an essential role within a human-centric workflow system. In Imixs-Workflow the actors can be defined statically by adding user- or group IDs, or the ACL can be dynamically computed based on the properties of a process instance. The dynamic mapping of actors to a workitem property is defined by the process properties of the workflow model.
Note: If the ACL setting is defined on Event level, the ACL settings on the Task Level will be overwritten.
Owner, Read and Write Access:
The ACL of a WorkItem is defined in three different layers.
-
The ‘Owner’ describes the users assigned to the process instance. This setting defines the users task list.
-
The ‘Read Access’ restricts the general access to a process instance. Only users which are assigned to the Read Access can access the process instance. If no read access is defined at all, the process instance is not read restricted.
-
The ‘Write Access’ restricts the write access to a process instance. The Write Access depends on the AccessLevel a user is granted for. If a user is assigned to the role org.imixs.ACCESSLEVEL.AUTHORACCESS and is not listed in the Write Access List, the user is not allowed to update the process instance. Find more details in the security section.
The ACL can be defined either in a static or by a mapping between the properties of the process instance to the ACL definition.
The Static ACL List:
User- or Group IDs added to the ACL have to match the login name and role definitions of the workflow application. Imixs-Workflow defines the following functional roles which can be added to a static ACL definition:
- org.imixs.ACCESSLEVEL.READACCESS
- org.imixs.ACCESSLEVEL.AUTHORACCESS
- org.imixs.ACCESSLEVEL.EDITORACCESS
- org.imixs.ACCESSLEVEL.MANAGERACCESS
The ACL Mapping:
The ACL Mapping is used to map a property of the process instance to the ACL. The mapping list can be defined by the Process Property Editor.
See also the section security settings for more details about access control of Imixs-Worklow.
Property | Type | Description |
---|---|---|
acl.update | boolean | indicates an ACL update on the task level |
acl.owner_list | String List | a static owner list |
acl.owner_list_mapping | String List | defines the mapping of a workitem property to the owner list |
acl.readaccess_list | String List | the a static read access list |
acl.readaccess_list_mapping | String List | defines the mapping of a workitem property to the read access list |
acl.writeaccess_list | String List | the a static write access list |
acl.writeaccess_list_mapping | String List | defines the mapping of a workitem property to the write access list |