Workflow configuration - kwantu/platformconfiguration GitHub Wiki

Created by Rob Worthington, last modified on Sep 14, 2018. Copied from the Kwantu wiki to Github 2018-12-10

Documentation

Hasan has produced two documents to cover the workflow overall: one here. two here.

  1. Manguang Project config file, that show three example processes. The overall workflow remains the same with minor changes and some additions in functionality but config and code is majorly changed to match the schema in more logical and schema oriented way. Still the basic workflow navigation , assignment, transition is same. You can access the updated schema from Config File Location:
  2. Workflow2.0 schema file handles the config file creation and validation. You can use Visual studio and associate the schema and validate. Schema Location: and in the DB...

How to guides

The following is a list of available and pending workflow actions on the development roadmap. These are documented in the schema.

Method Action Description Status Questions / Comments Clients needing
Form - list of indicators defined in a sub-process Create A bulk action to create the atom objects Implemented
Instantiate A bulk action to set all sequence numbers for the atom objects Implemented
Indicator - an indicator set Create Creates an instance of an atom object Implemented
Instantiate Sets the sequence number for an instance of the atom object Implemented
Set value Sets a specific value in the data model of the indicator set instance. Implemented This method must not be allowed to break IS validations
Discard Flag as discarded Pending All
Profile - an application profile Set variable Read a specific value from the data model of an indicator set instance and sets it to the profile variable list Implemented
Set value Sets a specific value in the data model of the profile instance indicator set. Implemented
Create Create a profile Implemented
Set status to Sets a profile level status Implemented
Set status message to Sets a profile level status message Implemented
Sub-process instance - a sub-process instance Instantiate Creates the SP instances and sets the sequence number for an instance of the SP instance Implemented
Authorise Authorise a SP instance and it's indicator sets Implemented
Close Close a SP instance Implemented
Set variable Allows for each SP instance to have it's own variables Implemented
Set status to Sets a SP instance level status Implemented
Set status message to Sets a SP instance level status message Implemented
Delete Delete a SP instance Pending All
Assign to channel Assign the profile to a user's distribution channel Pending
Set label Updates the SP instance label (name) Pending All
Step - a step within a sub-process instance Set variable Allows for each step to have it's own variables Implemented
Community Create Creates a new community Implemented
User join Creates the network link between the user and the community and sets the default roles for that community Implemented Request access / roles IS must be defined
Release adopted application Implemented
Delete Pending
Application Create application definition Implemented
Build application Implemented
Application adoption Implemented
Set user role Pending
User Set variable Implemented
Create user profile Implemented
Delete Pending
Set In-active Implemented
Assign to channel Assign a profile to a user's distribution channel Pending
SDO - an indicator set Built to test Build to a sandbox on the Data Registry Implemented
Build Implemented
Taxonomies Build Pending
TBD Set worker action
Check for duplicate Check server for duplicate based on specific field or fields

Gaps

How can participant ID be checked against list on server?

Pre-requisites

Type Description Status
Number of process instances May not start if process X does not have at least Y SP instances Implemented
Variable confirm Confirm if a specified variable is in place Implemented
Is process visible Pending
numberProcessInstances "Complete", "InProgress", "NotStarted", "Created", "Submitted" Implemented

numberProcessInstances

"prerequisites": [
    {
        "_id": "regLockedIfComplete",
        "_seq": 1,
        "check": {
            "numberProcessInstances": {
                "count": 0,
                "operator": "equalTo",
                "processId": "profileRegistration",
                "subProcessId": "spProfileRegistration",
                "type": "Completed"
            }
        },
        "message": {
            "i18n": {
                "_id": "",
                "en": "Only one instance of project registration can be created."
            }
        }
    }
],

Conditional lock of fields Set based on calculation that looks for variable. If variable changes, then fields are locked Common workflow errors