Dear Bubble Team,
Currently in a workflow the order of operations is really complex. It depends on whether it is front-end/back-end; whether it is custom event or not; whether it has a reference to previous step or not etc. (As per The Basics - Bubble Docs) . It is always surprising to all when they come to know that what they think are steps are not really steps.
Even this text is not sufficient, as it opens up lot of questions that are covered in this thread (Order of Operation - #2 by aschofer) but not answered yet. Also, the solutions suggested are not very easy (and in some cases, impossible). They increase the number of workflows in the system and make things really confusing to design, analyse and debug as all the workflows are just squares put together without any sense of hierarchy etc. On top of these there are other restrictions of Bubble like custom events don’t have parameters/return-values, complex and unreadable conditional expressions, no variables in workflows, some actions don’t have return values/success/failure, having to copy a condition to multiple steps if all of them have to fall under same condition etc.
We can’t just create custom events for every small forking that we need to do of logic. Then there are times where we want to terminate the workflow or just use the data of previous steps (not necessarily of a specific step, but the one that could be updated via different steps) or to take decisions on the basis of some checks that we would have done in previous steps etc. It becomes way too unwieldy to implement the suggestions of different custom events, workflows to have conditions etc.
It would be nice to have a UI which makes these rules self evident while creating workflows and makes things more intuitive. Even if these rules of execution order can’t be changed due to technical reasons, the UI changes MUST be done to keep sanity of us bubble developers in tact.
I have just submitted this to ideaboard (Fix editor UI to communicate order of actions in workflows more intuitively) but I think this deserves a real priority consideration as if the order of workflows goes wrong or unreliable, it causes numerous customer support issues, bugs and makes it impossible to make scalable applications.