I need to add some new features to a PHP application. It is to follow the steps of a order. A process create some orders, the order goes to confirmation, then if approved is sent to a provider, later the provider confirm that can deliver the order, a request is made to the provider and so on…
I need to register when every step is made and send notifications. Also, some steps have a estimate time, and if that time is elapsed I need to send notifications so everybody know about the delay.
When a process starts, it have a predefined set of steps, but in a middle the user should be able to create new sub-steps, and delete or skip future steps..
Should I use a workflow engine? Which one do you suggests (free-opensource only)?
Best Answer
You've outlined some requirements which are typically catered for by workflow engines, such as following some process, task allocation, escalations and notifications. From this point of view, it would make a lot of sense to go with an actual workflow engine. There are two areas which make me question whether it will actually prove to be beneficial to use one in your case:
To summarise, with the exception of the user-modifiability, your requirements are a pretty good match for a workflow engine. My suggestion: figure out whether there's an engine out there which gives you everything that you need (perhaps someone else can suggest specifics), and do some R&D with it. You will then be in a better position to weigh up your options.
EDIT: Sorry, my connection went down as I made that post, and seems to have been truncated. I've recovered it now.