Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-116300

As an App Admin, I want to include condition nodes in my Workflow App Process

    Details

      Description

      As an App Admin, I want to include condition nodes in my Workflow App Process, so that I can define automatic screenings in the workflow process of my custom application.

      Design Deliverables

      Mockups
      Component
      Prototype

      Context

      One of the most important nodes that we have in Workflow Processes are Conditions. Those nodes allow customers to include an step to automatically make screening of instances based on a set of conditions. This node currently exists on Liferay Workflow Engine, but isn't available in the Workflow Powered App Builder yet. This Story aims to include this node in the builder and also improve it with an UI/UX that will allow the user to define the conditions (currently the Workflow Engine only allows to do it programmatically through scripting).

      In this Story's scope, users should be able to:

      1. Allow the user to include condition nodes in the process of the Workflow App;
      2. Define the conditions that the node must evaluate to define where to automatically send each instance;
      3. Define the possible transition actions that the node can send instances to based on the conditions;
      4. Create an UI/UX to allow the user to apply at least the most frequent used condition operations/logic that our engine allows. Including:
        • Check and match if the value of a specific field of the Object is equal or not equal to something;
        • Define multiple conditions;
        • Define multiple criterias for each condition;
        • Define if all the criterias of a condition must be met (AND) or at least one of them (OR);
        • Send the instance to a specific step of the Workflow based on the conditions logic outcome;
        • Define a scripted formula for the conditions and criterias.

      Constraints:

      • At least one condition must be defined by the user;
      • Each condition must be attached to at least one;
      • At least one transition should be defined by the user.
      • Must always have an else condition in case all other conditions are false.

      Acceptance Criteria

      1 - It should be possible to define multiple conditions
      Given an admin user,
      when creating a workflow powered app,
      then I should be able to define mutiple contidions in my workflow process.

      2 - Each condition can have multiple criteria
      Given an admin user,
      when adding a condition in my workflow process,
      then I should be able to add multiple creteria in each condition.

      3 - Each condition must have a transition action attached
      Given an admin user,
      when adding a condition,
      then the system must always define a transition action to each condition.

      • The default value of the transition action is to the next node.
      • The user can edit this transition action.
      • The user can never delete a transition action or let it empty.

      4 - User must be able to inspect the object data to check the criteria and conditions
      Given an admin user,
      when navigating in my workflow powered process,
      then I should be able to check every criteria and condition that is on it.

      5 - Each condition must have an "else" transition to be triggered when none of the conditions defined are met
      Given an admin user,
      when creating a condition,
      then the system must always define an else transition to each condition.

      • The default value of the else transition action is to the last node.
      • The user can edit this transition action.
      • The user can never delete a transition action or let it empty.

      6 - User must be able to define an order of priority for the conditions to be checked
      Given an admin user,
      when creating a node with mutiple condition,
      then I must be able to define the priority of those conditions.

      • The default order is the order that the conditions were added.

      7 - When multiple conditions are met, the system should prioritize triggering the one that has the highest priority.
      Given an admin user,
      when creating a node with mutiple condition and many are met,
      then the system must prioritize the ones with higher priority.

      8 - Users should be able to switch between the simple mode (business-friendly UI) and an advanced mode (script coding)
      Given an admin user,
      when a workflow powered app,
      then I should be able to switch between a business-friendly UI or to add a script.

      9 - When switched to the advanced, convert the configurations into script.
      Given a user that added the conditions via business-friendly UI,
      when switching to the script,
      then the system must convert the code added via UI to the script mode.

      10 - When switched to the simple, reset the configurations and let the user define all over.
      Given a user that used a script to add the conditions,
      when switching to the business-friendly UI,
      then the system must reset the configurations and let the user define all over.

      • The user must be alerted that he/she will lose all the information added from the UI.

      11 - In the deployed App, the system should automatically check the conditions and execute the proper transition when a instance reaches the condition step.
      Given an deployed app with conditions,
      when a instance reaches the condition step,
      then the system should automatically check the conditions and execute the proper transition.

      Definition of Done (DoD):

      • All Acceptance Criteria were passed;
      • Make sure that the expected automated tests were created (unit / integration / functional) and passed successfully;
      • Code with peer review completed;
      • Validated by QA, Product Designer and/or PM;
      • No critical bug related to Story scope (ex.: similar of FP4, FP5);
      • Make sure that all system documentation were updated (if necessary)
      • Make sure that it has the extensions points needed to allow GS and customers to customize the feature (If applicable)

        Attachments

          Activity

            People

            Assignee:
            matheus.xavier Matheus Xavier
            Reporter:
            matheus.xavier Matheus Xavier
            Engineering Assignee:
            Felipe Pires (Inactive)
            Recent user:
            Rodrigo Cunha
            Participants of an Issue:
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Packages

                Version Package