Maestro D7 Task Types
Last updated on
2 March 2018
Drupal 7 will no longer be supported after January 5, 2025. Learn more and find resources for Drupal 7 sites
The following is a summary of the available task types that be used in a workflow template:
- Content Type Task: Assign a task to a user to create a new content node - task definition allows you to select from available content types.
- Interactive Function Task: Assign a task to a user that executes a custom function or one provided with maestro to display an interactive form to the user in the task console. This could be task to review and approve a content node, form submission or an inline form to collect information from a user that effects the workflow - such as asking a question that is later tested to branch the workflow.
- IF Task: used in the workflow to test for a condition and branch the workflow. The IF task can test for the execution status of the previous task (did it complete successfully, aborted, cancelled or put on hold) or it can branch based on a value of a process variable.
- Batch Task: executes a php script - executed by the engine in the background.
- Batch Function Task: executes custom code, drupal function or other module function automatically by the engine. This can be a simple function like drupal_set_message or a custom function that works with optional paramaters defined in the task definition. A batch function can also contain far more complex code with database and remote system API calls. The batch function does not necesarilly need to complete immediately and can return a non-complete status and will execute the task again the next time the engine runs. It may be that this batch function is testing for a remote condition to become true before moving the workflow forward.
- Fire Trigger Task: this task will lets you setup a trigger task that will execute one of the defined drupal actions - offering lots of extra flexibility.
- Set Process Variable Task: workflows can take advantage of user defined process variables that are unique to each instance (process) of the workflow. Tasks can be assigned by process variable which allows workflow tasks to be dynamically assigned based on data collected during the workflow such as a determining from the users profile what department they work for and assigning the equipment purchased request to their department manager. A workflow can have any number of process variables can store any value that you want to test for later in the workflow or use in subsequent tasks. This task lets you assign a value to a process variable or do simple math on it. An IF task can test for the value of a process variable and branch the workflow.
- Manual Web Task: part of this task setup is to provide a URL which can be an internal URL or remote URL for an application. This is an interactive task where it will appear in the assigned users task console. The user will click on the task to execute it and will be redirected to the URL defined in the task definition. It's up to the remote script to trigger the completion of the task and clear the task from the users task console.
- AND Task: Allows you to have workflows that have multiple branches and then join up at an AND task which effectively waits for all branches to complete before it executes. You may need to get approval from three different managers and each approval branch of the workflow can execute at the same time. Branches don't need to have similar tasks or even the same number of tasks.
- Entity Form Task - allows workflows to create and route forms created using the entityform module. This is a separate module and not included in the core maestro project release. Install the maestro_entityform_task module to add this capability.
- Web Form Task - allows workflows to create and route forms created using the webform module. This is a separate module and not included in the core maestro project release. Install the maestro_webform_task module to add this capability.
Help improve this page
Page status: No known problems
You can:
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion