Feature - Bloody User Defined Workflows

We are working on the design of the new “User defined workflow” feature in eramba. This will allow users to control (approve or deny):

  • Creation of items: an item does not become “Active” until it is approved
  • Deletion of items: an item is not “Deleted” until is approved
  • Edition of items: an item is not “Edited” until is approved

This feature will also replace the concept of “Reviews” used in Policies, Assets and Risks.

Workflow Settings:

The administrator of the software, must configure for each module, if workflows are “Enabled” or “Disabled”. By default they are “Disabled”, meaning the software works as it does today.

If enabled, the administrator must define for each type of change (Creation, Deletion and Edition) stages and for each one of them the following attributes: Stage name, owners, next stage, deny stage (where to go if the stage owner denies the change).

Active vs Draft Items

All items will now have two statuses: Draft and Active

When workflows are enabled in any given module and an item is created, edited or deleted, until the workflow is completed (approved) the item is in “Draft” mode. In this mode, these items do not count for filter, status, report, etc calculations.

When the workflow is completed, the “Draft” item:

  • Updates the “Active” item (in the scenario of an Edition)
  • Goes to the trash (in the scenario of a deletion)
  • Is created (in the scenario of a creation)

Draft items are available to anyone that has access to the item (we follow the rules of visualisation and ACLs). When edited, an item in draft mode has three option buttons:

  • Cancel
  • Save Draft (used to make modifications without triggering workflow)
  • Initiate Workflow (Step 1/3)

When an item is inside a running workflow, the “Edit” or “Delete” button should not be displayed, instead you can “Cancel Workflow”. This will be used to stop workflow approvals.

Sample Workflow for an “Edition”:

Note:

  • Workflows wont be available on all modules, just in some so we need to setup a config file
  • When an item falls into a stage where there are multiple “Owners”, the approval should come from at least one of these people, not all are required.
  • Comments & Attachments are associated to the approval stage, not to the item … this is important so you can see what was discussed on each approval.
  • When approving, there should be a clear distinction in between “Approve and pass to next stage” and “Final Approve” so people knows in which phase of the workflow you are, or perhaps a visual representation of what approvals are left until “Active” stage
  • There should be a way to bulk edit approvals, imagine someone imported things over CSV
  • Imagine the owner of a stage no longer exists in the system, then “Admin” group members should be allowed to “Approve” any workflow anytime even if they are not there.

From a visual perspective, the “View” modal will be used to display the activity of any item. this was discussed at length on this post: Feature - review process of risks, policies and assets - #9 by kisero

  • the right panel of an item shows in a timeline:
    • changes on the item
    • reviews of the item (scheduled reviews)
    • changes on the status of items
    • comments & attachments
    • workflows (only if enabled on the module)
  • on that view users approve or deny workflow changes and also comment on the item if needed
1 Like