Workflow “out of the box” Tools

Documentation home

 

 

Task List Application. 1

Workflow Administration Application. 4

Custom resources 9

 

 

This section describes the two out-of-the-box applications provided with Ebase Workflow (WfMS). Both are Ebase forms-based applications. Although these are both just examples and are open to being modified and enhanced to meet the user’s requirements, they demonstrate the usage of the workflow API via FPL commands and the set of custom resources supplied to support access to process runtime objects.

 

Task List Application

 

This is an example application to enable an individual working within an organization to display workflow tasks which may be assigned to them and to enact those tasks. The sample application is WF_TASKLIST in the WORKFLOW_SAMPLES project. This can be run in the same way as any other Ebase form.

 

See also optimizing performance of a workflow task list application.

 

 

The logged in user may select a task by ticking it in the Select column and then clicking the Assign to me button. The task will be assigned to that user and the table will be redisplayed and a message added at the bottom to indicate that the update has been done successfully:

 

 

Once in the Waiting state, the task can now be opened by again selecting it in the Select column and clicking the Open task button.

 

At this point, the activity will be executed. If the activity is an EbaseActivityType, the associated form will automatically be run. Similarly, if the activity is a ManualActivityType, the MANUAL_TASK form will be run.

 

Once the user has completed the task activity, they can return to the task list. If the activity completed, it will no longer be shown on the user’s task list (since the process will have moved on).

 

In the default mode, only escalators which are still ticking will be displayed in the table. To view escalators which have already fired but for which the escalated task has still not been enacted, tick the Include completed escalators box and then click the Refresh all button. As can be seen below, the Reminder escalator is already in the Completed state (which means it’s timer has expired and it’s escalation process has been executed) but since the task for application ref 177 has not been enacted yet, this escalator is now also visible.

 


It is often not necessary to show completed escalators since the activity associated with the escalation process will typically involve incrementing the tasks’ priority and this can be indicated visually as shown. In this case the priority turns yellow (and will turn orange and then red if further incremented). This has been done using a simple FPL script (WF_FETCH_TASKLIST) which can be easily altered to suit any specific requirements.

 

Workflow Administration Application

 

This application is designed for the person with administration privileges to monitor the status of all jobs and tasks enactments and act on any eventualities which can not be handled using the task list application. The sample application is WORKFLOW_ADMINISTRATOR in the WORKFLOW_PROCESS_MANAGEMENT project. This can be run in the same way as any other Ebase form.

 

 

  

The main menu for this application has four options as described in the image above.

A good place to start is to view the active Jobs.

 

           

 

This is actually a more generic page which provides a filtering region at the top followed by a table listing the filtered jobs. By default, the filter is set to show only jobs which are currently Running. The administrator can choose to filter the list by:

 

·         the name of the owner resource (if there is one)

·         the name of the opener resource

·         the name of the process for which this is a job

·         the job’s current status, namely running, completed or either (i.e. Don’t care)

·         process attribute name-value pairs. This will return jobs having process attributes of the given name with the given values. Note: if different jobs have a process attribute with the same name, say AMOUNT, this may include both if their values are also the same unless the process name is also used to distinguish the selection.

 

They can also choose to select a specific job by filtering using the specific Job Id which is the long string in the Job id column on the left-hand side, for example, JOB:LOAN_APPLICATION:19:1

 

This Id is made up of the following components:

 

JOB:<process name>:<process version>:<job sequence number>

 

Clicking Update jobs table will fetch the jobs which correspond to the current filter.

 

Clicking a job id hyperlink in the table will navigate to a details page for the job (or similarly for the process):

 

            

The job details page is by far the most complex of the details pages. For Tasks, Processes, Escalators and Audit records, only the object’s attributes and actions are displayed (see below). For jobs, the full status of the specific run of the process is displayed graphically. Note: in order to activate this graphic, it may be necessary in some browsers to click once anywhere in the box on the right-hand side.

 

Using this graphical display, the administrator may choose to perform any available actions on any of the nodes by right-clicking over the node, selecting the required enactment of that task (since there may be multiple enactments in a looping scenario) and then selecting from it’s menu, the required action.  For example, in the image above, the Assign action is being selected for the enactment with id:

 

            TASK:LOAD_APPLICATION:43:1:4.

 

It is also possible to view a node’s attributes directly from the graphical view by selecting View Details from that node’s right-click menu.

 

Any changes in state of the process nodes will be represented by icon decorations on the graphical view as follows:

 

      Currently running

      Completed

      Unassigned

      Assigned

      Paused

      Cancelled

      Skipped

      Failed

 

Hovering over any node in the diagram will also display a tool-tip showing all the node’s attributes including the runtime priority and resource assignment.

 

In addition to this graphical view and the job’s simple attributes, the Job details view also shows a list of process attributes and their current values. From a job details page, the administrator can navigate to view all outstanding tasks for the job, all escalators or all audit log records. These are both very useful in assessing the state of the job and what route it has taken through the process definition.

The job can also be cancelled from this page (if the administrator has the authorization to do this).

 

This filtered-list-to-details paradigm is used for all other object types in this application. So, for example, if selecting outstanding tasks from the main menu, this will bring you to a list of tasks with a filter section at the top. The list will be pre-filtered to show only interactive tasks which have not completed. The filtering criteria can then be modified to suit the administrator’s requirements and the table updated to show the tasks which meet that filtering criteria. A task can then be selected from the list by clicking it’s hyperlink which takes you to a details page. From the details page, all manner of administrative actions may be performed on the task, for example, reassigning it, pausing it, changing it’s priority and so on.

 

When selecting a task, as for a job, it will be referred to by it’s task id which looks something like TASK:LOAN_APPLICATION:19:1:2. The task id is made up of the following components:

 

TASK:<process name>:<process version>:<job sequence number>:<node enactment sequence number>

 

Note: at this point, the tasks view can also be filtered to show other process nodes such as decisions, splits etc. Although not entirely consistent with the naming of this page, this feature is useful and has been left in for the time being.

 

The only page which is slightly different is the Escalators page. This does not have a corresponding details page since there are no actions which can be performed on an escalator. All attributes associated with an escalator are available in the table.

 

Actions that can be performed on workflow objects from the respective details pages are as follows:


Processes

 

·         Quiesce/Activate a process

·         Reinstate a deleted process

·         Show active jobs for a given process

 

Jobs

 

·         Cancel job

·         Show outstanding tasks for a given job

·         Show escalators for a given job

·         Show audit log records for a given job

 

Tasks

 

·         Assign a task to a named resource

·         Reassign a task to a named resource

·         Unassign a task which is already in the Waiting or Active state.

·         Re-execute a failed task

·         Cancel a task

·         Pause/unpause a task

·         Skip a failed task

·         Set the priority on a task

·         Show escalators for a given task

·         Show audit records for a given task

 

Custom Resources

 

See Supplied Workflow Custom Resources.