A common requirement for Business Process Applications is to provide a 'push' work capability.
The typical requirements are as follows:
1) User is pushed next most appropriate task from a work view (or their worklist) - rather than actually picking tasks from a list
2) On completion of a task, the next most appropriate task is pushed automatically
3) Managers can control the contents of what is pushed (done via configuration of work view)
4) Related data is often displayed alongside workitem - for example related comments - or documents, or data from another system. This is usually retrieved from other components using workitem attribute data as a key.
5) Ability to start/stop the push - for example if user needs to take a call, or go for a break
To assist in creation of this kind of capability the attached application provides an example of how to achieve this. On turning push ON, the next item in the work queue is pushed and opened. On completion the next item is pushed. Turning OFF then cancel/submit workitem pauses the push mechanism. Data retrieved about the workitems (attributes) is also displayed alongside the work item - this would typically be used to call other components.
Using the sample:
- The application can be deployed as an appdev app via http://localhost:8080/apps. The application to deploy is inside the attached zip. The file to deploy is PushWorkApp.app.zip.
- Once deployed run the sample using URL: http://localhost:8080/apps/PushWorkApp/index.html
- Click the On/off switch and the next item will be opened. Submit the task and the next will be delivered. To pause, click ON/OFF again and then click the cancel in the form.
The application uses the worklist by default but can be configured with a work-view Id in index.html:
<!-- passing view-id as -1 means use the default worklist - otherwise pass the view Id --> <push-work-display-directive view-id="-1" template-path="components/push-work-display/push-work-display.html"></push-work-display-directive>
Work views can be created and managed using openspace: http://localhost:8080/openspace/
The interesting code is inside the push-work-display component - path: components/push-work-display - this makes the relevant calls to the Business Component Service of appdev.
NOTE: The attached ZIP contains the PushWorkApp.app.zip, that can be uploaded to TIBCO ActiveMatrix® BPM APPDev directly!