Case Diagram
Introduction
The case diagram is the modeling area of a case. It is not part of the left hand side palette. However, it still has some overall case properties. On the case diagram there is typically exactly one Case Plan Model.
Properties
General
Attribute | Type | Description | Category |
---|---|---|---|
Model Key | String | Model key of the case which serves as a unique ID to identify a model across different versions. | The model key is an important property, as the key is used in all kinds of API calls. When a CMMN case model is published to a runtime system a case definition is deployed. From that point on, new case instances can be started, often using the key when doing this programmatically or over REST. The key needs to be unique in a runtime system and therefor cannot be edited here. The name is a user-readable name that is given to this CMMN case model. The documentation can be used to store free-form information about the CMMN case model. For example, it can be used to describe the business use case implemented with this model. |
Name | Text | The name of the element. This is the name displayed in the diagram. | |
Documentation | Multiline Text | The documentation attribute additionally adds a description to the component. | |
Creation date | ISO8601DateString | This defines the date on which the diagram was created. | These two timestamps indicate when the CMMN case model was created and when it got last updated. |
Modification date | ISO8601DateString | This defines the date on which the diagram was last modified. | |
Case Instance Name | Text | The name of the case instance. The Case sequence variable can be used in the expression. | The Case Instance Name can be used to give the case instance a custom name. By default, the instance gets the name of the CMMN case model (in Flowable Work) or nothing (in Flowable Core). The name can be an expression that uses values from the start form. The Case Instance Business Key is used to give the case instance a business key, which is typically some sort of business-specific identifier that can be used to easily find an instance. The Category can be set to categorize published case definitions or filter definitions in queries. |
Case Instance Business key | Text | The business key of the case instance. The Case sequence variable can be used in the expression. | |
Category | Text | Target namespace of the case model. This allows you to group models according to your own criteria. |
Assignment
Attribute | Type | Description | Category |
---|---|---|---|
Assignee | User Selection | User ID of the task's assignee. The assignee can see and complete a task and is usually the person responsible for it. | The assignee and owner of a case instance typically have broad set of rights to view and edit information. Using a security policy in the security tab on this CMMN case model, this can be changed. Once an assignee or owner is set, a flag appears that can be used to disable the automatic propagation of the initiator of the case instance as an assignee and owner. This is only applicable for root instances, as child instances inherit these roles differently. |
Owner | User Selection | The owner of a task can see a task and is able to delegate it to another user. This user then becomes the assignee and can resolve the task. A resolved task will then be reassigned to the owner who can then complete the task. | |
Do not inherit start user as assignee if root instance | Boolean | Whether to use the instance start user as an assignee. Only relevant if no value for assignee is given and if the instance is a root instance. | |
Do not inherit start user as owner if root instance | Boolean | Whether to use the instance start user as an owner. Only relevant if no value for owner is given and if the instance is a root instance. | |
Potential starter user | User Selection | A user that can start the case. | The Potential starter users or groups determine which users or groups can start case instances from a published definition of this CMMN case model. In Flowable Work, this is automatic. In Flowable Core, this information is available as metadata to build your own filters. |
Potential starter group | Group Selection | A group that can start the case. | |
Participant users | User Selection | Defines the participant user identity links for the task. | The Participant user or groups typically have a more limited set of capabilities related to the case instance. Check the security policy associated with this CMMN case model (or the default one, of none is set) to see he exact capabilities |
Participant groups | Group Selection | Defines the participant group identity links for the task. | |
Participant candidate groups | Group Selection | Defines the groups of possible participant candidates | |
Watcher users | User Selection | Defines the watcher user identity links for the task. | The Watcher users and groups typically only have viewing capabilities on the case instance. Check the security policy associated with this CMMN case model (or the default one, of none is set) to see he exact capabilities |
Watcher groups | Group Selection | Defines the watcher group identity links for the task. |
Details
Attribute | Type | Description | Category |
---|---|---|---|
Author | Text | This holds the name of the author of the diagram. | The Author and Version are metadata fields, they have no impact on runtime execution. |
Version | Text | This defines the version number of the diagram. |
Security
Attribute | Type | Description | Category |
---|---|---|---|
Security policy | Reference | Allows to set a custom security policy. | Create a new or link an existing security policy model to this CMMN case model to configure the capabilities of the different users and roles in a fine-grained way. |
UI Configuration
Attribute | Type | Description | Category |
---|---|---|---|
Header configuration | Selection:
| Choose a header configuration or fill-in a custom header config value. | The Header configuration configures the size of the header of a case instance in Flowable Work. The value of the Default Navigation size is expanded by default, but also can be set to minimized to have only icons without labels in the navigation left menu in Flowable Work. All menu items for the case views of this model will have the configured value, unless overridden. |
Default menu navigation size | Selection:
| Default menu navigation size | |
Case view elements | List | Defines the case view options with optional permission groups. | In this property a custom view key can to be defined for one or more user groups, which basically enables the case view feature for this case model and the configured user group(s). The key is important as it will be part of the URL in the web browser. |
Audit
Attribute | Type | Description | Category |
---|---|---|---|
History level | Selection:
| Override the CMMN engine history level for this case model / definition. | The History Level is a setting that determines how much historical data is kept for a case instance of this CMMN case model. Flowable uses audit level by default, which gives a good balance between performance and storing enough historical data. in certain situations such as for example high-volume microservice orchestrations there is no need to store all this data or any data at all. In such situations, it might be worthwhile to use a history level that stores less data as to let the data store size not grow out of control. See the documentation for more details on each of the levels. |
Allowed historic variables | List | Defines which historic variables will be persisted in the historic variable table when an instance or task history level is configured. | When running with none, instance or task history level, there won't be storage of historical variables. Using the Allowed historic variables, a list of variable names can be configured. If a variable name matches, the historical counterpart of the variable will be stored, regardless of the history level setting. This is very useful, as the amount of variables can become very large which has an impact on the table size and its related performance. By selecting only relevant variables, this problem can be alleviated. |
Indexing
Attribute | Type | Description | Category |
---|---|---|---|
Indexing filter type | Selection:
| Specify whether to 'include' only certain variables for indexing or 'exclude' variables. Useful to reduce the amount of indexed data in Elasticsearch. By default all variables are being indexed. The indexing filter capability can be used to only index certain variables (include) or all variables except the ones specified (exclude). | Flowable by default indexes all available variables, this can lead to having large indices. Using the Indexing Filters, it is possible to specify whether to include or exclude certain variables from the indices. If a variable name matches, the variable value will be part of the index. This is very useful, as the amount of variables can become very large which has an impact on the index size and its related performance. By selecting only relevant variables, this problem can be alleviated. |
Indexing filter variable names | List | Specify variable names which should be included to index or excluded from index. Supports exact names and wildcards e.g. myVariable, *Var*, *Variable, myVar*. |
Advanced
Attribute | Type | Description | Category |
---|---|---|---|
Initiator variable | Text | The variable that holds the user that will be used as the default user who initiated the case. | The initiator is the user who started the case instance. This user id is stored by default in the 'initiator' variable. That variable name can be changed here. |
Case Instance Business status | ModelStatusElementsSelect | The business status of the case instance. The Case sequence variable can be used in the expression | The initial Status, which is selected from the Status values property. |
Folder path for uploaded content items | Text | Set a folder path to define the folder where uploaded content items for this task need to uploaded to. | A custom folder path in Flowable Work for content related to a case instance of this CMMN case Model |
Comments only on root instance | Boolean | All comments from child instances will be attached to the root instance. The root instance comments will be visible from the child instances. | |
Documents only on root instance | Boolean | All documents from child instances will be attached to the root instance. The root instance documents will be visible from the child instances. | |
Case Sequence | Reference | The sequence that should be created when starting the case instance. This will be stored in a variable and it can be used in the case instance name / business key property expressions. | Often sequential numbering is needed for case instance names, tasks, etc. Creating or linking an existing Sequence model allow exactly that. Make sure to also set the Case Sequence Variable Name property, so it can be referenced in expressions later (for example ${seq:next('mySequence')}). |
Case Sequence Variable Name | Text | The name of the variable where the generated case sequence should be stored. This variable can be used for example for the case instance name / business key property expressions. | After linking a sequence model, this variable will hold the generated value of the sequence. |
Status values | List | Defines a list of status values that can internationalized and used to set the status of the case instance. | The Status values are used to configure a list of available status values with a business meaning for case instances of this model. In Flowable Work, the user will be able to select and change the status to a value of this list to indicate in which status the instance currently is. |
List Attribute Details
Case view elements
Attribute | Type | Description |
---|---|---|
Case view key | Text | Case view key |
Permission groups | Text | A comma separated list of permission groups for this case view |
Menu navigation size | Selection:
| Menu navigation size |
Allowed historic variables
Attribute | Type | Description |
---|---|---|
Variable | Text |
Indexing filter variable names
Attribute | Type | Description |
---|---|---|
Variable name | Text |
Status values
Attribute | Type | Description |
---|---|---|
Status label | Text | Status label |
Status value | Text | Status value |