As a business analyst, I want to be able to provide the setup for task-based prioritization by providing a list of priorities with the rules assigned to each one of them.
Each rule needs to include three required values:
attribute
the name of the attribute
we show a list of all existing items (as a dropbox)
in case the user is removing the case attribute which is being used in one of the rules - then we show an errors message saying that the case attribute is being referenced in one of the rules
condition
two possible values: = and in in the json. However, users should have different options, which include: equals, less than, less than or equal, greater than, greater than or equal, between. Internally, the needed transformation should happen between those operators. Consider that discrete attributes cannot have range operator, only equals.
value
either string or number
all possible options for a discrete case attribute (from the previously filled-in tab) should be shown to the user.
in case the user wants to delete one of the options of the case attribute, we need to verify that this value is not being used in the rules. If the value is not used in any rules, we delete the rule. If it is - we show an error message.
Range of values for priorities: from 0 to infinity (the maximum allowed in Python: 2**63-1).
Users can provide the priorities in any order they want (no need to provide values ordered ASC or DESC).
If users want to delete a case_attribute referenced in the prioritisation rules, they should receive an error saying, Case Attribute is referenced in one or many prioritisation rules. Remove those rules first. If case_attribute is not used in any prioritisation rules, the deletion should work as previously.
Questions:
Should we allow defining rules with the same priority_level?
No. Since rules allows us to define OR rules, defining rules with the same priority is invalid.
As a business analyst, I want to be able to provide the setup for task-based prioritization by providing a list of priorities with the rules assigned to each one of them.
Each rule needs to include three required values:
=
andin
in the json. However, users should have different options, which include:equals
,less than
,less than or equal
,greater than
,greater than or equal
,between
. Internally, the needed transformation should happen between those operators. Consider that discrete attributes cannot have range operator, onlyequals
.Range of values for priorities: from 0 to infinity (the maximum allowed in Python:
2**63-1
). Users can provide the priorities in any order they want (no need to provide values ordered ASC or DESC).If users want to delete a
case_attribute
referenced in the prioritisation rules, they should receive an error saying,Case Attribute is referenced in one or many prioritisation rules. Remove those rules first
. Ifcase_attribute
is not used in any prioritisation rules, the deletion should work as previously.Questions:
priority_level
?rules
allows us to defineOR
rules, defining rules with the same priority is invalid.