Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The UX concept puts special emphasis on the handling of workflow tasks, how to display their current state (i.e. who's in charge, whether it has been already handled or not, what the outcome was, etc.), how to perform the necessary actions so that each workflow process can be successfully carried through. It also worth mentioning that, as specified in the UX concept "The user does not see the entire work flow and its current state in Pulse - there's actually a separate app for that".

Tasks inbox

Of the many new things introduced by the Pulse UX concept, it was agreed that the first thing to tackle, which would solve most of the problems currently affecting the workflow, is the new Tasks inbox. As illustrated by the mockup below, the main novelty is the sub tabs (all items, not started, ongoing, done) introducing filters displaying the status of the each task assigned to the current user or the group he or she is part of. An additional status column has been introduced too.

 

Image Removed

...

  • i.e a one-shot task (e.g. a short translation assignment given to a particular user) for which setting up a whole workflow process would be overkill.

...

Workflow and Pulse interaction

 

Here we briefly sketch how Workflow works and how it currently interacts with Pulse 

 

Workflow

 

  • workflow process defined as bpmn 2.0 (Business Process Model and Notation) file
  • each process is registered by name at startup and made available to the workflow engine, see /modules/workflow/workflows
  • each step in the workflow is a workitem defined in a wid (work item definition, a jBPM specific file), e.g. MgnlDefinitions.wid
  • each work item is mapped to a work item handler. Handlers are under workItemHandlers nodes, eg. /modules/workflow-jbpm/workItemHandlers
  • handlers implement WorkItemHandler, they are a Java class executed at runtime when the workflow reaches the corresponding work item or step
  • workflows are launched via commands, e.g. /modules/workflow/workflows/activate which has a workflow property referring to the name of the workflow to launch

 

Interaction example with Pulse

 

  • activation workflow is defined as SimpleActivation.bpmn 
  • its first workitem is called publishNotification which maps to a NotificationWorkItemHandler class
  • when activation workflow is started, publishNotification is executed
  • publishNotification populates a map of arbitrary data with
    • the work item id 
    • the process id this work item belongs to
    • who started the process
    • who's been assigned to
    • the path to activate
    • if activation is recursive
    • publication date in case of scheduled activation
    • the message view to handle the item in Pulse
  • publishNotification creates a Message with the above data and sends it to Pulse
  • user opens the message in Pulse and decides to approve or reject
    • in either case a CompleteTaskAction is triggered and the decision is passed back to the workflow engine in a results map


Tasks inbox

Of the many new things introduced by the Pulse UX concept, it was agreed that the first thing to tackle, which would solve most of the problems currently affecting the workflow, is the new Tasks inbox. As illustrated by the mockup below, the main novelty is the sub tabs (all items, not started, ongoing, done) introducing filters displaying the status of the each task assigned to the current user or the group he or she is part of. An additional status column has been introduced too.

 

Image Added

  • we want to be able to display tasks independent of the presence of an underlying workflow engine
    • i.e a one-shot task (e.g. a short translation assignment given to a particular user) for which setting up a whole workflow process would be overkill.
  • we want to be able to retrieve the status of a given task
  • ideally we would like the list to be updated automatically as new tasks arrive, are taken, updated or completed. 

jBPM User Task or Magnolia Task?

...