Step by step webMethods Collaborative Workflow in 8.x
About Collaboration Tasks (Collaborative Workflow)
This feature, which is implemented in webMethods Designer and My webMethods Server, provides a set of design-time and run-time functions that enable the user to create, modify, assign, and complete collaborative, task-based workflows in a spontaneous manner. A key portion of the collaborative workflow feature enables run-time task users to quickly create one or more child tasks that can be assigned to other users, so that those users can collaborate in completing the parent task. These collaborative tasks exist within a unique collaboration process model that is created when the first collaboration task is created. New task actions have been added in the Task Events editor to support this feature. In addition, the structure of the Task details page has been redesigned to allow full customization of the Task Info, Task Audit, Task Comments, and Task Collaboration tabs.
Enabling a collaborative workflow environment requires you to define a parent/child relationship between two or more task types. When a run-time process is working with a task that is designated as a parent task, new child collaboration tasks can be created dynamically and assigned to other users.
This can be done automatically within a process or manually, by a user who is working with the task.
Using Collaboration Tasks in a Process
You can create and configure a parent task type in Designer, and associate it with one or more collaboration tasks. You can then configure task actions in the parent task so that when specific business data is received by the parent task, one or more collaboration tasks are created by the actions and assigned to specific roles or users.
Then, when you include the parent task in a business process, the required collaboration tasks will be queued depending on the business data passed to the task in the process pipeline.
Using Collaboration Tasks Manually
You can configure a task so that an individual user with all the proper permissions can create collaboration tasks from the task after opening it in an inbox. The user can assign these collaboration tasks to other users to help complete the parent task.
About Collaboration Processes
Collaboration processes are created and run only in the MWS environment. A collaboration process is a unique type of process in the MWS environment and itâs not same as a standard webMethods business process which can be we created in Designer using the Process Development perspective.
- A unique collaboration process is created any time a task user creates a collaboration task on the Collaboration tab of a parent task.
- The collaboration process remains running until the parent task is completed, and any additional collaboration tasks that are created are added to the collaboration process.
- The collaboration process is owned by the user who created the first collaboration task, and the collaboration process owner has full access and privileges to the collaboration process and the collaboration tasks in it.
- The collaboration process within Designer is the ability to specify sharing of comments and attachments among all child tasks in a collaboration process.
About the Parent Tasks and Collaboration Tasks
When you create a new task type in Designer, it is not configured as either a parent or collaboration task. You have two options to define this task parent-child relationship between two or more task types:
- In DesignerâYou can specify a parent task on the Overview tab of the task editor.A parent task can have one or more child collaboration tasks, but a collaboration task can have only one parent task. If you do not want to designate another task as the parent, you can specify the name of the task you are working with as the parent.
This type of parent task is best suited for use in an automated business process, where it can queue its child tasks.
When you define a parent-child relationship in Designer, you are able to configure both the parent and child tasks in whatever custom manner you need to address a complex human activity. In this case, you are a creating and configuring the parent and child tasks with a specific relationship and specialized parent-child behavior.
- In My webMethodsâOn the Task Engine Administration page of My webMethods, you can specify one or more of the task types available in the runtime environment as a child collaboration task for a task type. This enables the user to be able to select from the specified collaboration task types when creating a new collaboration task on the Collaboration tab of the task they are working with all proper permissions, and assuming the task is enabled for collaboration.
This type of parent-child relationship is best suited for use in an manual situation, where the user can queue collaboration tasks.
The parent-child mechanism in My webMethods is more informal and enables you to define a parent-child relationship between any two task types available in the runtime environment. As these tasks have already been configured in Designer, the amount of functionality shared by the two tasks will be limited.
It is possible for a single task type to be both a parent task and a child collaboration task at the same time. For example, suppose you have three task types, Task1, Task2, and Task3. Task2 can be a collaboration task for parent task Task1, and Task2 can also be a parent task for collaboration task Task3.
Creating a Collaboration Task
Within Designer, you can define any available task type as a collaboration task.
To create a collaboration task
- In the Solutions view, open the task in the task editor by double-clicking the task name.
- Click the Overview tab.
- In the Parent Task Type list, select the task you want to use as the parent task.
- This list is populated with the names of all the task types available in the workspace.
- Save your changes.
About the Task Collaboration Portlet
The task collaboration portlet provides the Collaboration tab in the task user interface, which enables users to create and manage collaboration tasks.
- When added to a task in default mode, this portlet is included in the Task Overview portlet and is not available for customization.
- When the Customizable option is selected for this portlet during task creation, the portlet is exposed as [taskName]Collab.
- This portlet contains two views, the Default view and the Createnew view.
About the Task Collaboration âDefaultâ View
The task collaboration default view is presented to the user when the user opens the Collaboration tab. If no collaboration tasks exist, the only elements displayed are a message to that effect, and the Create Child Task button. The view consists of:
- A formatted message panel for displaying any JSF context messages.
- A Process Information panel that displays the following information about the collaboration process associated with the task (the collaboration process is not created until the first collaboration task is completed):
- Nameâname of the collaboration process (editable).
- Created Byâname of the user that created the first collaboration task, thereby creating the collaboration process.
- Last Modified Byâname of the user who last modified the process or any of its contents.
- Created Dateâdate and time the collaboration process was created.
- Last Modified Dateâdate and time the collaboration process was last modified. This field also displays a duration value showing the total time the collaboration process has been running.
- Statusâreturns the user to the inbox.
- The following buttons are provided on the Process Information panel:
- Open Detailsâopens the Process Detail page which displays a graphic representation of the collaboration process, as well as tabbed information displays of Process Info, Step Info, Task Info, Task Audit, and Task Comments.
- Deleteâenables the user to delete the collaboration process and all of its collaboration tasks.
- Updateârefreshes the process information display.
- Returnâreturns the user to the inbox.
- A modal Select Principals dialog box (appears with the title Select Users).
- A search results tree that displays information about the parent task and all active collaboration tasks, arranged in row and column format.
The following buttons are provided:
- Create Child TaskâOpens the New Collaboration Task dialog box.
- Assign Toâenables the collaboration process owner to assign a selected collaboration task to one or more users or roles.
- Set Statusâenables the collaboration process owner to set the status of a selected collaboration task.
- Deleteâenables the collaboration process owner to delete a selected collaboration task.
- Returnâreturns the user to the inbox.
About the Task Collaboration âCreatenewâ View
The task collaboration âcreatenewâ view is presented to the user as the New Collaboration Task panel when the user clicks the New Collaboration Task button on the Collaboration tab. The view consists of the following:
- A formatted message panel for displaying any JSF context messages.
- Collaboration Task Typeâa list of all the available task types that can be used to create a collaboration task, as assigned on the Task Engine Administration page.
- NameâThe name you want to assign to the collaboration task.
- DescriptionâThe description you want to assign to the task.
- PriorityâThe priority you want to assign to the task.
- Expiration DateâThe date on which the task will be placed in expired status, as selected by an included calendar control.
- TimeâA specific time of day on which the expiration will take place.
- AssigneesâA list of the user names to which the collaboration task has been assigned.
- Queue Task ImmediatelyâA check box option that controls whether the task is started immediately upon creation or is deferred for later starting. If this check box is cleared, the collaboration task is created with a status of New.
The following buttons are also included
- PickâOpens the included modal Select Users dialog box for selecting assignees.
- Create NewâCreates the new collaboration task with the specified values.
- CancelâDiscards all information and returns the user to the Collaboration tab.
About Business Data and Collaboration Tasks
Task business data can be shared between tasks queued from different task types.
On the Task Engine Administration tab of My webMethods, you can enable or disable data sharing for each task type. When the user queues a new collaboration task from a task type where data sharing is enabled, the new collaboration task will contain a copy of the business data from the parent task.
You can configure your parent and child tasks to keep business data synchronized between them. You can do this by creating a task event using âSet Business Dataâ actions.
About Available Collaboration Task Bindings
When you open a collaboration task type in the task editor, you have access to the following bindings that are specific to collaboration tasks:
- Parent Task ID
- Collaboration Process ID
- Collaboration Step ID
To view these bindings, expand the Task Info entry in the Bindings view.
The parent task can be configured to complete automatically when all of the collaboration tasks are completed.
For more information about Task creation and configuration please check