Filters
In Tasklist, you can create and select filters. You can use these filters to create lists of tasks, sorted by specified criteria. To create a filter, select Create a Filter. You will then see a screen as depicted in the above image. You have several options to configure your filter:
- General - Specify the name and description of the filter as well as assigning a color. Assign a priority to determine the order in which the filters are displayed on the dashboard. You can choose to have the filter automatically refresh the filter results by selecting the checkbox Auto-Refresh.The default refresh interval is 10 seconds.
- Permissions - Specify which users or groups can see the filter. You can set the filter as globally accessible by selecting the checkbox Accessible by all users. A permission that is set here is equivalent to a READ permission which can also be set in Camunda Admin. In case you want to assign other permissions, you can do so in the Authorizations tab in Camunda Admin.
- Criteria - Specify which tasks will be displayed when selecting the filter. A key and a value must be inserted. There are various keys which can be selected from the categories Process Instance (ID, Business Key), Process Definition (ID, Key, Name), Case Instance (ID, Business Key), Case Definition (ID, Key, Name), Other (Process Instance state, Activity instance ID, Execution ID), User/Group (Assignee, Owner, Candidate User or Group, Involved user, Unassigned, Delegation State), Task (Definition Key, Name, Description, Priority) and Dates (Created date, Due date, Follow up date). Keys marked with a * accept expressions as value.
- Variables - Specify which variables are displayed in the filter results section of the dashboard. Setting variables here has no influence on which tasks are displayed. To set the variables, you need to insert a Name, which is the coded name of the variable, and a Label, which defines what the variable will be named in the filter results.
Expressions in Filters
Several of the filter criteria accept expressions as values. These expressions are written in JUEL. In filters which are related to times and dates, you can use the dateTime class, which returns a Joda-Time DateTime object.
Security Consideration
Filter expressions can be abused to execute arbitrary code when the query is evaluated. It is therefore required that any user authorized to create filters is trusted in this respect. The default behavior of evaluating filter expressions can be deactivated in the process engine configuration. See the section on security considerations for custom code for details.
Common Filters
In the table below we list some of the more common and useful filters that you can create in Tasklist and how to set them up.
Filter name | Description |
Criterion Key |
Criterion Value |
---|---|---|---|
All my tasks | Displays all tasks assigned to the currently logged in user | Assignee |
$ { currentUser() }
|
Tasks of a specific user | Displays all tasks assigned to a specified user | Assignee |
User ID of the user (e.g., demo )
|
All my groups | Displays all tasks assigned to a user group of which the currently logged on user is a member | Candidate Groups |
${ currentUserGroups() }
|
Tasks of a specific group | Displays all tasks assigned to a specific user group | Candidate Groups |
Group name (e.g., accounting )
|
Unclaimed tasks of a specific group | Displays all tasks assigned to a specific user group which have not been claimed yet |
Candidate Groups, Unassigned |
Group name (e.g., accounting ),N/A |
Unassigned tasks | Displays all tasks that have not yet been claimed | Unassigned | N/A |
Overdue tasks | Displays all tasks that have a due date set in the past | Due Before |
${ now() }
|
Tasks due today | Displays all tasks that have a due date set for the current date |
Due After, Due Before |
${ dateTime().withTimeAtStartOfDay() } ,${ dateTime().withTimeAtStartOfDay()
|
Tasks due after a specific date | Displays all tasks that have a due date set after a specified date | Due After |
The specified date in accordance with ISO 8601 (e.g., 2015-01-01T00:00:01 )
|
Tasks due within a specific timespan | Displays all tasks that have a due date set within a specified timespan (in this example, within 2 days) |
Due After, Due Before |
Expressions specifying the timespan (e.g., ${ now() } , ${ dateTime().plusDays(2) } )
|
Tasks due after a specific timespan | Displays all tasks that have a due date set after a specified timespan (in this example, after 2 days) | Due After |
An expression specifying the timespan (e.g., ${ dateTime().plusDays(2) } )
|
Tasks with a certain priority | Displays all tasks that are marked with a specified priority (in this example, priority 10) | Priority |
10
|
Follow-up tasks | Displays all tasks that have a follow-up date set in the past | Follow Up Before |
${ now() }
|