The following example will demonstrate how to use an Ad Hoc Process.
Imagine a Committee meeting where the Activities related to a project are defined, assigned and scheduled. These Activities are enabled to each responsible once scheduled. Since could be necessary to schedule new Activities during the project development in order to face unexpected or not covered situations, we have to implement the Ad Hoc pattern as show bellow:
In the first Activity, as result of the Committee Meeting, the initial tasks are scheduled. When the meeting is concluded, an activity is created for the assignee to carry out the task, through the Perform Activities Ad-Hoc Sub-Process. The Create Task Event is available at any time to allow anyone to schedule new tasks and keep track of the previously created ones. In this Event users include a description that defines what has to be done, an assignee and a due date for the tasks. Any new tasks are, again, carried out by the Perform Activities Ad-Hoc Sub-Process.
Note that the Create Task Event will remain enabled throughout the Process execution to allow for new tasks to be scheduled. The End Process Event is also enabled from the start to enable to Process to terminate at any given time.
The data model for our Ad Hoc pattern Process is very simple. The Process entity is Committee Meeting where the information of the Meeting is recorded. This entity has a one to many relationship with the Tasks entity which contains the history and status of all tasks created.
The Task entity is also used to specify the number of Perform Activities Sub-Process instances to create, that is, as many occurrences as items found in the Tasks collection.
In order to obtain the necessary information to successfully execute this Process the forms must include the following information:
•Committee Meeting: In this Activity the main information is the collection of task to be scheduled. This table must be editable and allow new records. Additional information about the meeting can also be included
•Create Tasks: In this Event the collection of tasks to be scheduled must allow new records but the existing ones should not be editable. For further information about how to configure tables editability, please refer to Tables.
•Execute Tasks: In this form you should include all the information related to the task in order to identify it and update it.