Task Planner
This application allows creating, managing and executing tasks in the context of the installed product. The web interface of the Task Planner displays a list of tasks that are created by the currently logged in user. There is also a web API that allows you to list, enable, and disable, run, and query tasks from your own applications.
Tasks
A task is any combination of Triggers, Jobs and Actions. Leaving one or more of the three empty is also allowed. Tasks can optionally be defined as Series.
What are Triggers, Jobs, Actions and Series good for:
-
Triggers are responsible to start the task automatically depending on a system state or time-based trigger
-
Jobs are programs or functions that produce some kind of result, e.g. a file
-
Actions will do something with the result, e.g. send a file via email
-
Series tasks execute a job and an action multiple times with different values, e.g. create a file for every user and send it to this user via email
Tasks are activated by default and will start as soon as one of the Triggers is fulfilled. Deactivated tasks can still be started manually or by the Next Task action.
The functionality of tasks can be customized by additional plugins. See the samples and API on how to create a new plugin.
Who is the task owner?
A user who creates a task owns that task. Every user in the system has a private list of tasks and cannot access the tasks of another user. The owner of a task can only be changed in the maintenance application - requiring additional permissions.
The permission Administrative access to all Tasks allows to list and modify tasks of all users for administrative purposes. If a task is copied by an administrative user, the owner of the copy will be the logged in administrative user.
Permissions to access the Task Planner
To access the task planner a user needs the permission Task Planner. The additional Administrative access to all Tasks permission allows a user to access all tasks of all users in the system.
Some components of a task may require additional permissions to be available. The task will not execute successfully if a required permission has been revoked from the tasks' user. Please check the documentation of Triggers, Jobs, Actions and Series about permissions that may need to be granted.
When a user with administrative access edits or executes a task of another user, the task will be handled as if the original owner would be handling the task. Meaning: the task is executed in the original owner's context and can only display triggers, jobs and actions that the owner has access to.
Running a task
Tasks can be started by either a Trigger, via the web application or by the web API. Tasks will always be started using the task's owner, who is not necessarily the currently logged-in user.
When a task has started, all of its jobs will be executed at first. There is no defined order in which the jobs run. After that, every action is triggered with the job results, again in an arbitrary execution order.
Note: Triggering a task manually using the web interface or the web API does not take any triggers into account and immediately starts running the jobs.
Backup
Tasks are stored within the User Data. That means backups of the User Data will include all tasks of the user as well.