Business rules that disable editing attributes go in conflict when two rules of the same type become true
search cancel

Business rules that disable editing attributes go in conflict when two rules of the same type become true

book

Article ID: 444066

calendar_today

Updated On:

Products

Clarity FedRAMP Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Business rules that disable editing attributes go in conflict when two rules of the same type become true

STEPS TO REPRODUCE:

  1. Classic > Studio > Objects > Task object
  2. Create a boolean field called: deactivate
  3. MUX > Administration > Blueprints > Make a copy of the Project blueprint.
  4. Rules > Create 2 Rules
    • Rule A:
      • Type: View Page
      • Condition: Open For Time Entry = No
      • Actions: Disable Editing Attributes > All Except Selected: Name, Start, Finish
    • Rule B:
      • Type: View Page
      • Condition: Deactivate = Yes
      • Actions: Disable Editing Attributes > All Except Selected: Status, Start, Finish
  5. Link a project to the blueprint above
  6. Open the project and go to the Tasks tab
  7. Create a task where OTE is No and Deactivate Yes, so both rules are true
  8. Go to the Task details

Expected Results: Only the Start and Finish dates are editable: As Rule A should set Name as non editable and Rule B should set Status as non editable
Actual Results: The Name and Status fields are editable along with Start and Finish dates 

Environment

Clarity 16.4.2

Cause

This is working as expected

Resolution

For business rules we apply a UNION of the two rules and NOT and INTERSECTION of the rules.

EX:
Rule A - BRM_NON_READ_ONLY_ATTRS - start, finish, status
Rule B - BRM_NON_READ_ONLY_ATTRS - start, finish, name

The current outcome is(UNION): start, finish, status, name ---- Working as per the intended design
Expected outcome as per the scenario above(INTERSECTION): start, finish -- Incorrect

This is the design of business rules because, in the long run it makes rule building easier since you don't have to configure every permutation in the rules.