Hi Appian Community - I am new to Appian and excited to use it for my use cases.
I have searched in documentations and didn't find anything related to configuration management aspect of design what I meant is - if I am creating one application it will expose some feature flags, some configuration placeholders for end user customization. what is Appian recommendation, do you have any patterns with examples which newcomers can use as a reference? What are do and don't in that area?
Also, base vs overrides configurations client wise - if your app is being used by multiple clients.
Please provide guidance.
Discussion posts and replies are publicly visible
Appian doesn't have a particular recommendation in this area, you'll have to implement a bespoke system based on your requirements.
For basic feature toggles, you can use environment specific constants. docs.appian.com/.../Application_Deployment_Guidelines.html
If you have a multi-tenant system, you could store the configurations/toggles at the tenant level.
Finally you could also store the configurations/toggles at the user level.
As Mathieu has mentioned there is no specific recommendation documented. But you can use the help of constant or even a database which would store these configurations. If you have a multi-tenant system, you can have the mappings based on these configuration types and the tenant type. This will allow the user to handle configurations. Also if you are implementing the configurations via db., I would recommend marking the configurations with a version stamp and creating a separate dB to store the previous version which will allow you a track of updates.
In my experience, this is not what the Appian platform is made for. While we can, to a certain degree, work around this, your might end up with a rather complicated and hard to maintain application.
But, maybe this is just the way you are used to do things in your existing software environment, and there is an easy way to achieve the same goals in a different way. Do you want to give us some background on what you want to achieve?
Thank you for the information Mathieu Drouin this is helpful. But overall, each application comes with some configurability needs. Like Appian platform itself is configurable to customers need and all those configurations are in admin console. Same way If let say I am creating a Insurance system - it will come with a need of having insurance plans which will different with clients and business rules which also will be different for every client - so in this case what Appian have to offer? what is best practices to keep at Appian vs outside Appian?
Configurations for the platform at the admin level apply to the whole platform (and therefore all applications built on the platform).
By the sound of it, looks like you seem to want to implement a multi-tenant insurance system. Appian allows you to build and configure individual applications but doesn't provide much to manage multi-tenancy out of the box. At a very high level, I would try to parameterize it by tenant using database tables, so if you have business rules by tenant, have the parameters for the tenant in a table and a generic expression rule that just plugs the parameters from the table depending on the tenant.
Microsoft has a good guide on how to design multi-tenant applications on Azure: https://learn.microsoft.com/en-us/azure/architecture/guide/multitenant/overview
Some of it is specific to Azure but other parts are more generic and apply to any kind of multi-tenant application.
great points thank you for replying - Help me understand what is the motive of Appian platform and what key use cases it can support? is it only recommended to use for workflows?
IMHO, Appian is designed to automate the operations of larger end-to-end processes. This is much more than workflows.