I have been tasked with creating a web application which will provide end-users with a self help workflow, asking them questions and skipping to another part of the workflow depending upon the responses until they reach the end.
This is fine, and I was considering creating a data driven application which administrators could create and save new workflows themselves. This would be based upon the following DB tables:
However, I have now been told that these workflows would contain some automated check steps, such as checking a value in a DB somewhere, or a reg key value on the users workstation, or an LDAP value from Active Directory (ad inifinitum) against a known/desired value (which itself would be dynamic in some cases). This completely throws a spanner in the works as now it looks like I'm going to have to hard code all of the workflows into the application, which I was hoping to avoid.
Is there a way that I could approach this that I'm not seeing that will allow me to continue to make the application (somewhat) data driven? Or is it OK/standard to hard code these types of workflows into an app? The customer will be wanting to add new workflows regularly I am told.
For info, I will developing this in C# as we are a MS shop.