Allow users to change logic of a Decision Rule

Certified Senior Developer

Hi,

I have a Decision Rule in my application, in which some calculation is being performed by business logic. Now, customers want to have control over the logic so that they can change it any time. So, how can I show these logic in an Interface, so that customers can change it to their convenience?

Thanks,

Sudip

  Discussion posts and replies are publicly visible

  • Currently the decision object is tailored for designers and not business users, so there is not a way to expose it to them in Sites/Tempo. You would have to give the users admin access to the decision object and designer access in Production (/design), which I would recommend against.

    You could build an Appian interface in Sites/Tempo that mimics the decision object and stores the metadata in an RDBMS table as a workaround.

  • 0
    Certified Lead Developer

    I really think in order to do what your customers are asking, you'd have to stop using Appian's Decision rule object and recreate it again from scratch, in Appian SAIL code, to expose to your users.  What you'd ultimately create is a list of parameters that you could then feed into a gigantic nest of if() statements, where applicable possibly involving the choose() function in there somewhere.

  • Hello Sudipdas, 

    I agree with Steven don't provide access to your user but maybe if you tell us more about your use case we could add comments. for example

    * how much and how often you need that kind of changes to the rules? what kind of changes the user need to do?

    Regarding David suggestion that is definitely how you would implement the business rules, I would like to add that to create a business rule engine you should be really careful because you can start thinking that you want somethings configurable by the users you can say "those simple things I can make it configurable" but a simple change (subtract instead of add) on the business rule could impact the whole design you have on your business rule engine. 

    Another option maybe more complex and you might need to involve your architecture team but still an option is to use an external Business rule engine(BRE) like drools, OpenRules or in case you have other systems you can use something like SAP BRF, Oracle SOA 

    Thanks 

    Jose