...
Info |
---|
icon | false |
---|
title | Best practice |
---|
|
Multiexcerpt |
---|
MultiExcerptName | Don't use tasks if you don't have any human activity in your workflow |
---|
| Don't Do not use tasks if you don't have any human activity in your workflow. Tasks and Pulse notifications are great for humans but unnecessary for operations that only involve the system itself. |
|
...
A task is an object that you create using the
Javadoc |
---|
0 | info.magnolia.task.TasksManager |
---|
className | info.magnolia.task.TasksManager |
---|
renderType | asynchronous |
---|
|
. You can send the task to a list of users or to a list of groups. The recipient can assign the task to himself. Other recipients can see who owns the task and its status when they go to the Pulse.
...
Code Block |
---|
language | java |
---|
title | Using TasksManager |
---|
|
@Inject
public MyClass(TasksManager tasksManager) {
this.tasksManager = tasksManager;
}
public void createTask() {
Task task = new Task();
...
tasksManager.addTask(task);
} |
Note |
---|
Be aware that by calling Code Block |
---|
task.setId(String); |
the task will not be created in the workspace. |
Creating a task
Start by giving the
a task a name. The name is unique for the type of task you are creating and acts as a reference to the task definition in the registry.
...
Magnolia uses info.magnolia.ui.admincentral.shellapp.pulse.task.action.ClaimTaskAction
inside the Pulse for this step.
Reclaiming a task
( Magnolia 5.5.6+) With appropriate publication rights you can reclaim a task which is already InProgress
from another user.
...
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
Node name | Value |
---|
|
| | |
| | |
| | |
| | |
| | |
| | info.magnolia.ui.admincentral.shellapp.pulse.task.action.ResolveTaskActionDefinition | | approve | | icon-publish |
|
...
Changes to task status can be tracked by registering a
Javadoc |
---|
0 | info.magnolia.task.event.TaskEventHandler |
---|
className | info.magnolia.task.event.TaskEventHandler |
---|
renderType | asynchronous |
---|
|
to the system event bus.
...
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
Node name | Value |
---|
| |
| |
| |
| | info.magnolia.task.definition.TaskDefinition | | my-module:groceries | | Groceries |
|
The simplest
Javadoc |
---|
0 | info.magnolia.task.definition.TaskDefinition |
---|
className | info.magnolia.task.definition.TaskDefinition |
---|
renderType | asynchronous |
---|
|
needs the following properties:
...
As with any definition used in Magnolia, you can define your own extensions to the task definition and add configurable nodes and properties. This is especially useful in combination with a custom task presenter for putting together the detail view.
...
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
Node name | Value |
---|
| |
| | |
| | |
| |
| |
| | |
| |
| | |
| | |
| | info.magnolia.ui.form.field.definition.TextFieldDefinition | | |
| | |
| | |
| |
|
|
Task presenter
A task presenter is started when a user opens a task to see its details. The presenter builds the form and action bar which are displayed to the user in the browser. Magnolia provides a
Javadoc |
---|
0 | info.magnolia.ui.admincentral.shellapp.pulse.task.DefaultTaskDetailPresenter |
---|
className | info.magnolia.ui.admincentral.shellapp.pulse.task.DefaultTaskDetailPresenter |
---|
renderType | asynchronous |
---|
|
. See
Task view above for for its functionality.
Most likely the task data you want to display in the Pulse can be rendered with the DefaultTaskDetailPresenter
. But in case the default presenter is not sufficient you can implement your own presenter and have it render whatever view is needed.
To implement a custom presenter, extend or use
Javadoc |
---|
0 | info.magnolia.ui.admincentral.shellapp.pulse.task.definition.TaskUiDefinition |
---|
className | info.magnolia.ui.admincentral.shellapp.pulse.task.definition.TaskUiDefinition |
---|
renderType | asynchronous |
---|
|
instead of
Javadoc |
---|
0 | info.magnolia.task.definition.TaskDefinition |
---|
className | info.magnolia.task.definition.TaskDefinition |
---|
renderType | asynchronous |
---|
|
and add a
presenterClass
property with a custom implementation of the
Javadoc |
---|
0 | info.magnolia.ui.admincentral.shellapp.pulse.task.TaskDetailPresenter |
---|
className | info.magnolia.ui.admincentral.shellapp.pulse.task.TaskDetailPresenter |
---|
renderType | asynchronous |
---|
|
interface to the configuration.
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
Node name | Value |
---|
|
| | |
| | info.magnolia.ui.admincentral.shellapp.pulse.task.definition.TaskUiDefinition | | info.my-company.ui.GroceryTaskPresenter | | my-module:groceries | | Groceries |
|
...
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
Node name | Value |
---|
| |
| | |
| |
| |
| | |
| | superuser | | |
| | |
| |
| | Created | | Failed | | InProgress | | Resolved | | Scheduled | | false | | info.magnolia.ui.admincentral.shellapp.pulse.task.action.availability.TaskAvailabilityRuleDefinition | | true | | info.magnolia.ui.admincentral.shellapp.pulse.task.action.ArchiveTasksActionDefinition | | icon-delete |
|
To allow bulk actions for other users, add their role names from the list of default roles as the properties and values of the roles
subnode.
...