Task management

The task management is a component for creating and assigning tasks as well as monitoring their progress and managing responsibilities of the different users of the application. In this context, a task is not just a simple description of a planned action, but may also contain nearly any items or query results.

This article describes the basic principles of tasks on a functional level and shows the possibilities and limitations of the component. Thus, it does not replace the user manual and should be regarded as an additional source for a deeper knowledge concerning the task management processes.

The life cycle of a Task

This chapter describes the different states of a task, shows the typical transitions between these states
and describes the escalation process as another aspect of the task management functionality.

Static Tasks

Task states

The following diagram shows the states of a task, and - represented by the arrows - the actions which can be performed for the task in each state.

images/download/attachments/170855613/lifecycle.png

All actions in the diagram except "Escalate" are performed manually by the user.

Start/End

This is the state where the task does not exist.

Assigned

A task is assigned to a user or a user group, immediately after its creation.

Accepted

If the user accepts a task which has been assigned to him, the task reaches the Accepted state

Finished

The user can mark a task as finished.

Note that a task must be accepted before it can be marked as finished.

Escalation process

The escalation process defines, which actions will be performed when the escalation date or deadline of a task is reached.

To check, which tasks are escalated or reached the deadline there is a configurable server job that runs every hour by default and when the HPM application server is started.
See Configuration Manual for further details on how to configure the escalation check interval.

The following rules apply for escalating tasks depending on the escalation state

  1. A task is going to escalate within the next 24 hours

    1. The task will be marked orange in the client

    2. If the mail notification (since 6.0) is activated, a mail with the information that the task will escalate soon is sent to the specified users for the respective notification level of the task

  2. The escalation date of a task has been exceeded

    1. If the task is not accepted, it is assigned to the substitute.
      If no substitute is set, the task is assigned to the responsible immediatelly (same as if deadline would have been reached).

    2. The task is still marked orange in the client

    3. If the mail notification (since 6.0) is activated, a mail with the information that the task has escalated is sent to the specified users for the respective notification level of the task

  3. The deadline of a task has been exceeded

    1. If the task is not finished, it is assigned to the responsible.
      If no responsible is set, nothing will happen

    2. The will be marked red in the client

    3. If the mail notification (since 6.0) is activated, a mail with the information that the deadline has been reached is sent to the specified users for the respective notification level of the task

The diagram below visualizes the escalation flow for a task, depending on its current state

images/download/attachments/170855613/escalation.png

Dynamic Tasks

Workflow Tasks

images/download/attachments/170855613/WorkflowTask_ProcessFlow.png

Mail Notification (all Task Types)

This section describes the mail notification functionality for tasks.

Preconditions

Server configuration

The sending of e-mails requires a valid mail server to be specified in the server.properties file.

How to achieve this, is described in the following excerpt of the configuration manual.

Server Configuration

Permissions

The following permissions are available, to control the access to the administrative features of the mail notification functionality.

  1. Manage mail templates
    This permission controls, whether users of the respective group can create, edit or delete mail templates.
    The perspective Task notifications will not be available if this permission is not given.

  2. Configure task notification
    If this permission is granted for a user group, the users of the group will be able to change which role of a task will be notified for which events.
    The view Task notification will not be available if this permission is not given.

  3. Change notification level of a task
    The amount of notified events can be specified per task if this permission is granted.

Mail addresses in user management

To enable users to receive mail notifications, an e-mail address needs to be defined for these users in the user management.

Notification level settings

A notification level represents one of several configurations for the amount of notified events.

By default, the notification level None is configured, which means that the notification is completely disabled.

To receive notifications, a different default notification level must be specified in the view Task notification.

The perspective "Task notifications"

This perspective is the central point for the default configuration of task e-mail notifications.

The following screenshot shows the perspective, if all permissions for the task notifications have been granted.

images/download/attachments/170855613/tasknotification.jpg

The following actions can be perfomed here in this administration area.

Assignment of mail templates to the different notification events and roles

The view "Task notification" can be used to assign existing mail templates to specific task events. Furthermore the used mail template can be different for each role of a task regarding the same event.
For this purpose, the view displays a table with all possible events (as rows) and the different roles of a task (as columns).

Assigning a mail template to a role-event-combination means, that the chosen mail template will be used to notify the task's user of the given role if the respective event occured.

Example

The mail template "Task created" is set for the event "Created" and the role "Assigned user".

Effect:

If a task is created, all placeholders of the mail template Task created will be filled with the values from the new task
and the resulting mail will be sent to the user which is defined as the Assigned user of the created task.

In this section, all available events are described in detail.

Lifecycle events

Event

Description

Created

When a task is created a responsible user, an assigned user and his substitute are defined. Alternatively a user group as potential assigned users can be assigned.

The email is sent to that users which have a mail template specified for their role and the event "Created" and which are not equal to the creator of the task.
If a user group is specified instead of a concrete assignee, all users of the user group are notified.

Accepted

The assigned user or one of the users of the assigned user group will accept the task. The task is marked as accepted.

The email is sent to that users which have a mail template specified for their role and the event "Accepted" and which are not equal to the user accepting the task.

Assigned

The assigned user of a task changes before it is fulfilled.

The email is sent to the new users which have a mail template specified for their role and the event "Assigned" and which are not equal to the user that reassigned the task.

Withdrawn

The assigned user of a task changes before it is fulfilled.

The email is sent to the old users which have a mail template specified for their role and the event "Withdrawn" and which are not equal to the user that reassigned the task.

Completed

After the assigned user has fulfilled the task the task will be marked as completed by him.

The email is sent to the users which have a mail template specified for their role and the event "Completed" and which are not equal to the user that completed the task.

Restarted

The assigned user can also mark a task as not completed.

The email is sent to the users which have a mail template specified for their role and the event "Restarted" and which are not equal to the user that marked the task as not completed.

Deleted (before completion)

A task is deleted before it is fulfilled.

In this case all users which have a mail template specified for their role and the event "Deleted" receive a notification mail.

Escalation events

The notifications in this section are triggered by the system job "Check for escalated tasks" which runs every hour by default.
A mail is only sent for the first time a task is noticed to fulfill the criterion's for the respective event or if the application server is restarted.

Event

Description

Escalated in next 24 hours

If a task is not completed 24 hours before the escalation date/time is reached the task will be marked in the task view (orange font) but stays at its assigned user.

The email is sent to the users which have a mail template specified for their role and the event "Escalates soon".

Escalated

If the escalation date/time for a task is exceeded, the task will be reassigned to the substitute (or to the responsible, if no substitute is defined for the task).

The email is sent to the users which have a mail template specified for their role and the event "Escalated".

Time expired

If the expiry date/time for a task is exceeded, the task will be reassigned to the responsible.

The email is sent to the users which have a mail template specified for their role and the event "Deadline reached".
This notification is triggered by the system job "Check for escalated tasks" which runs every hour by default.
A mail is only sent for the first time a task is noticed to be expired or if the application server is restarted.

Change events

All other events concern manual changes of the tasks information.
Mail notification will always be sent to the users which have a mail template specified for their role and the respective event and if they are not equal to the user that modified the task.

Event

Description

Content changed

Escalation date changed

Deadline changed

Responsible user changed

Old and new responsible will be notified

Substitute changed

Old and new substitute will be notified

Configuration of the default notification level (View "Task notification")

The default notification level, is the notification level, that will automatically be used for all newly created tasks.

To set the default notification level, it must be selected in the accordant combo list (in the Task notification view) and the link Set as default must be selected afterwards.

images/download/attachments/170855613/set_default.jpg

Configuration of the notification level for individual tasks

The notification level can also be changed for a single task.
This can be done by selecting the desired notification level in the task property dialog, like shown below.

images/download/attachments/170855613/dlg_level.jpg

If the default notification level is set to None, the notification is disabled for all tasks, even if some of them have different levels set.

Add, modify and delete mail templates

By selecting mail templates in the view Mail templates, their preview is shown in the view E-mail preview.

images/download/attachments/170855613/mail_sel.jpg

Mail templates can be modified in the view E-mail template.

images/download/attachments/170855613/mail_edit.jpg

By clicking on a link on the bottom of the view, a placeholder for the respective field is inserted at the caret position in the editor.

Valid Html tags

Please note that only following Html tags are accepted:

  • Inside head element: title, style, meta

  • Inside body element: a, b, blockquote, br, caption, cite, code, col, colgroup, dd, div, dl, dt, em, figure, font, h1, h2, h3, h4, h5, h6, i, img, li, mark, ol, p, pre, q, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, u, ul

Javascript

  • javascript code is not allowed.

You can disable this limitation at your own risk by set the property com.heiler.ppm.mailtemplate.core/mail-template-cleaner = false .

New mail templates can be created by selecting the "+" icon in the "Mail templates" view, as shown in the following screenshot.

images/download/thumbnails/170855613/mail_create.jpg

All available mail templates can be used to assign them to events in the "Task notification" view.

E.g. to send a notification based on the mail template Custom mail to the assignee of a newly created task, the following setting must be made.

images/download/attachments/170855613/mapping_ex.jpg

Limitations

The following points are known limitations of the mail notification functionality.

Some of them may be addressed for future versions.

  • Mail notifications are language independent

  • The set of notification levels cannot be manipulated

  • No additional events can be added by customizing

  • There is no possibility to inform external users that do not exist in the user management

  • The notification cannot be disabled for specific users (also not by the user itself) completely

  • Text mails are not supported (only html)