Package org.nuxeo.ecm.platform.task
Interface TaskService
- All Superinterfaces:
Serializable
,TaskProvider
- All Known Implementing Classes:
TaskServiceImpl
The task service handle document based Tasks. You can create, search, accept, end or reject tasks. An event is
launched when a task is ended, hence giving you the possibility to execute specific code.
- Since:
- 5.5
- Author:
- Laurent Doguin
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
The variable used as process instance variables. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Property used to pass task in the notified events properties -
Method Summary
Modifier and TypeMethodDescriptionacceptTask
(CoreSession coreSession, NuxeoPrincipal principal, Task task, String comment) Ends the task using event nameTaskEventNames.WORKFLOW_TASK_COMPLETED
and marking the task as validated.boolean
canEndTask
(NuxeoPrincipal principal, Task task) Returns true if user is an administrator, the initiator of the task, or an actor of the task.createTask
(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskDocumentType, String taskName, String taskType, String processId, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath, Map<String, Serializable> eventInfo) Creates a task of the given document type and starts it.createTask
(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskName, String taskType, String processId, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath) Creates a task and starts it.createTask
(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskName, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath) Creates a task and starts it.createTaskForProcess
(CoreSession coreSession, NuxeoPrincipal principal, List<DocumentModel> documents, String taskDocumentType, String taskName, String taskType, String processId, String processName, List<String> actorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath, Map<String, Serializable> eventInfo) Creates a task of the given documents type and starts it.default void
delegateTask
(CoreSession session, String taskId, List<String> actors, String comment) Delegates the given task to the list of actors.void
delegateTask
(CoreSession session, String taskId, List<String> actors, String comment, Map<String, Serializable> eventInfo) void
deleteTask
(CoreSession coreSession, String taskId) Remove the documentTask identified by the given taskId if coreSession's principal has the Remove permission.endTask
(CoreSession coreSession, NuxeoPrincipal principal, Task task, String comment, String eventName, boolean isValidated) Ends the taskgetTargetDocumentModel
(Task ti, CoreSession coreSession) getTask
(CoreSession coreSession, String taskId) getTaskRootParentPath
(CoreSession coreSession) Default value is /task-rootdefault void
reassignTask
(CoreSession session, String taskId, List<String> actors, String comment) Reassign the given task to the list of actors.void
reassignTask
(CoreSession session, String taskId, List<String> actors, String comment, Map<String, Serializable> eventInfo) rejectTask
(CoreSession coreSession, NuxeoPrincipal principal, Task task, String comment) Ends the task using event nameTaskEventNames.WORKFLOW_TASK_REJECTED
and marking the task as not validated.Methods inherited from interface org.nuxeo.ecm.platform.task.TaskProvider
getAllCurrentTaskInstances, getAllTaskInstances, getAllTaskInstances, getAllTaskInstances, getAllTaskInstances, getCurrentTaskInstances, getCurrentTaskInstances, getCurrentTaskInstances, getCurrentTaskInstances, getTaskInstances, getTaskInstances, getTaskInstances
-
Field Details
-
TASK_INSTANCE_EVENT_PROPERTIES_KEY
Property used to pass task in the notified events properties- See Also:
-
-
Method Details
-
createTask
List<Task> createTask(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskName, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath) Creates a task and starts it. Notifies events with namesTaskEventNames.WORKFLOW_TASK_ASSIGNED
andTaskEventNames.WORKFLOW_TASK_ASSIGNED
, passing the task in the event properties using keyTASK_INSTANCE_EVENT_PROPERTIES_KEY
- Parameters:
coreSession
- the session to use when notifyingprincipal
- the principal marked as initiator of the task and used when notifying.document
- the document to attach to the task.taskName
- the task name.prefixedActorIds
- the list of actor ids, prefixed with 'user:' or 'group:'.createOneTaskPerActor
- if true, one task will be created per actor, else a single task will be assigned to all actors.directive
- the directive, put in the task variables.comment
- string added to the task comments and used as a notification commentdueDate
- the due date, set on the task instancetaskVariables
- additional task variablesparentPath
- /task-root if null
-
createTask
List<Task> createTask(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskName, String taskType, String processId, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath) Creates a task and starts it. Notifies events with namesTaskEventNames.WORKFLOW_TASK_ASSIGNED
andTaskEventNames.WORKFLOW_TASK_ASSIGNED
, passing the task in the event properties using keyTASK_INSTANCE_EVENT_PROPERTIES_KEY
- Parameters:
coreSession
- the session to use when notifyingprincipal
- the principal marked as initiator of the task and used when notifying.document
- the document to attach to the task.taskName
- the task name.taskType
- the task type.processId
- the process ID linked to this task if any.prefixedActorIds
- the list of actor ids, prefixed with 'user:' or 'group:'.createOneTaskPerActor
- if true, one task will be created per actor, else a single task will be assigned to all actors.directive
- the directive, put in the task variables.comment
- string added to the task comments and used as a notification commentdueDate
- the due date, set on the task instancetaskVariables
- additional task variablesparentPath
- /task-root if null- Since:
- 5.6
-
createTask
List<Task> createTask(CoreSession coreSession, NuxeoPrincipal principal, DocumentModel document, String taskDocumentType, String taskName, String taskType, String processId, List<String> prefixedActorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath, Map<String, Serializable> eventInfo) Creates a task of the given document type and starts it. Notifies events with namesTaskEventNames.WORKFLOW_TASK_ASSIGNED
andTaskEventNames.WORKFLOW_TASK_ASSIGNED
, passing the task in the event properties using keyTASK_INSTANCE_EVENT_PROPERTIES_KEY
Also the map eventInfo is passed in the event properties- Parameters:
coreSession
- the session to use when notifyingprincipal
- the principal marked as initiator of the task and used when notifying.document
- the document to attach to the task.taskDocumentType
- the task document typetaskName
- the task name.taskType
- the task type.processId
- the process ID linked to this task if any.prefixedActorIds
- the list of actor ids, prefixed with 'user:' or 'group:'.createOneTaskPerActor
- if true, one task will be created per actor, else a single task will be assigned to all actors.directive
- the directive, put in the task variables.comment
- string added to the task comments and used as a notification commentdueDate
- the due date, set on the task instancetaskVariables
- additional task variablesparentPath
- /task-root if null- Since:
- 5.6
-
createTaskForProcess
List<Task> createTaskForProcess(CoreSession coreSession, NuxeoPrincipal principal, List<DocumentModel> documents, String taskDocumentType, String taskName, String taskType, String processId, String processName, List<String> actorIds, boolean createOneTaskPerActor, String directive, String comment, Date dueDate, Map<String, String> taskVariables, String parentPath, Map<String, Serializable> eventInfo) Creates a task of the given documents type and starts it. Notifies events with namesTaskEventNames.WORKFLOW_TASK_ASSIGNED
andTaskEventNames.WORKFLOW_TASK_ASSIGNED
, passing the task in the event properties using keyTASK_INSTANCE_EVENT_PROPERTIES_KEY
Also the map eventInfo is passed in the event properties. The process name can also be specified if any.- Parameters:
coreSession
- the session to use when notifyingprincipal
- the principal marked as initiator of the task and used when notifying.documents
- the documents to attach to the task.taskDocumentType
- the task document typetaskName
- the task name.taskType
- the task type.processId
- the process ID linked to this task if any.processName
- the process Name linked to this task if any.actorIds
- the list of actor ids, prefixed with 'user:' or 'group:'.createOneTaskPerActor
- if true, one task will be created per actor, else a single task will be assigned to all actors.directive
- the directive, put in the task variables.comment
- string added to the task comments and used as a notification commentdueDate
- the due date, set on the task instancetaskVariables
- additional task variablesparentPath
- /task-root if null- Since:
- 7.4
-
canEndTask
Returns true if user is an administrator, the initiator of the task, or an actor of the task. -
acceptTask
Ends the task using event nameTaskEventNames.WORKFLOW_TASK_COMPLETED
and marking the task as validated.- Returns:
- the name of the Seam event to raise
- See Also:
-
rejectTask
Ends the task using event nameTaskEventNames.WORKFLOW_TASK_REJECTED
and marking the task as not validated.- Returns:
- the name of the Seam event to raise
- See Also:
-
endTask
String endTask(CoreSession coreSession, NuxeoPrincipal principal, Task task, String comment, String eventName, boolean isValidated) Ends the task- Specified by:
endTask
in interfaceTaskProvider
- Parameters:
coreSession
- the session to use when notifying and resolving of referenced document for notification.principal
- principal used when notifyingtask
- the instance to endcomment
- string added to the task comments and used as a notification commenteventName
- the core event name to use when notifyingisValidated
- boolean marker to state if the task was validated or rejected- Returns:
- the name of the Seam event to raise
- Throws:
NuxeoException
- when trying to end a task without being granted the right to do so (seecanEndTask(NuxeoPrincipal, Task)
), or when any other error occurs
-
deleteTask
Remove the documentTask identified by the given taskId if coreSession's principal has the Remove permission.- Since:
- 5.5
-
getTargetDocumentModel
- Parameters:
ti
- the task- Returns:
- the task's target document
-
getTask
- Returns:
- the taskDocument with the given taskId
-
getTaskRootParentPath
Default value is /task-root- Returns:
- the path registered in the taskPersister extension point.
-
reassignTask
Reassign the given task to the list of actors. The ACLs set for current assignees and task initiator are removed and new actors are granted 'Manage everything' on the task document. The 'workflowTaskReassigned' event is triggered.- Since:
- 5.7.3
-
reassignTask
void reassignTask(CoreSession session, String taskId, List<String> actors, String comment, Map<String, Serializable> eventInfo) - Since:
- 11.5
- See Also:
-
delegateTask
Delegates the given task to the list of actors. The new actors are granted 'Manage everything' on the task document. The 'workflowTaskDelegated' event is triggered.- Since:
- 5.8
-
delegateTask
void delegateTask(CoreSession session, String taskId, List<String> actors, String comment, Map<String, Serializable> eventInfo) - Since:
- 11.5
- See Also:
-