long-running processes, instance correction & re-routing (admin side) #939
Replies: 4 comments 1 reply
-
|
Hello @JacoFourie and welcome to the Imixs community! The Key Architectural Difference
Your approval limit scenario:
Model Version Support
This design means that for your specific scenario, you simply update the model (change the limit from 1000 to 2000), and all pending instances will automatically use the new rule when they reach the decision point. No instance repair needed. So to answering your question:
The Imixs philosophy is different: by keeping rules in the model rather than in instances, most scenarios that would require instance repair in other systems are handled through model updates instead. Of course you have multiple ways through the AdminP Feature, the REST API and the Imixs Admin client for background batch operations on workitems. Important: For audit-compliant processes, direct instance manipulation should be the last resort. Model updates handle most rule-change scenarios. Some Best Practices for Imixs-Workflow
Regarding graphical visualization: Imixs-Workflow Metrics provide a powerful way to collect and visualize any business metric. For example you can use Application specific Dashboards or use Tools like Grafana to monitor your workfows: Happy to discuss specific scenarios or implementation details! |
Beta Was this translation helpful? Give feedback.
-
|
Thank you very much for the warm welcome and the detailed explanation, I really appreciate it. I think there may have been a slight misunderstanding regarding two parts of my question:
When I mentioned “graphics,” I wasn’t referring to business dashboards or metrics, but rather to a graphical view of the actual process path, similar to what I showed in my original question.
Let me clarify my earlier example with a more practical scenario. We have multiple external systems feeding data into our workflow system. Sometimes, one of these data feeds can fail — life happens. For example: When Bob receives the task, he logs a ticket saying it should have gone to Joe. This is obviously a simplified example — in practice, we have systems in place to detect these situations — but it illustrates the kind of administrative control we need. So my question is: Does that make sense in the context of how Imixs works? ⸻
I’ve been an Oracle Certified Professional (OCP) for many years, working daily with Oracle tools. Interestingly, the built-in APEX Workflow also did not have the administrative side initially — Oracle ended up building that for us after seeing the same “real-world” need for admin control in long-running business processes. For reference, APEX Workflow now includes the ability to resume workflows from any activity, and it also visually shows the path a process took through the model: ⸻ I’m exploring solutions outside the Oracle ecosystem for process automation — ideally something open, flexible, and modern that I could pair with technologies like Flutter for the user interface. Imixs looks very promising in that regard, and I’m really interested to understand how it handles these advanced workflow administration scenarios. Thanks again for your time and detailed feedback — it’s much appreciated. Best regards, |
Beta Was this translation helpful? Give feedback.
-
|
Hello Jaco, 1. Graphical Process Path Visualization You're right – Imixs does not provide a graphical process diagram with highlighted paths like Oracle Workflow's green lines showing which transitions were executed. This is by design: our modeler is completely separated from the runtime environment. The BPMN 2.0 modeler is used purely for model creation and maintenance, while the actual process execution happens in the workflow application runtime. This provides a complete, revision-safe audit trail of who did what and when – which is typically what end users and managers need. While we could theoretically integrate our open-source OpenBPMN platform to display model details in the browser, we believe this would overwhelm end users with technical model details that aren't relevant to their work. 2. Your Manager Routing Scenario I think there may still be a slight misunderstanding about how Imixs handles this. Let me address your specific example: The workitem stores: "userId: jaco123, amount: $500" So if your manager changes from Bob to Joe, the next routing automatically goes to Joe – even if the process started when Bob was your manager. No admin intervention needed. a) run a scheduled event to maintain updates in backgroud No need to "rewind" or "replay from a specific step" – you just correct the assignment and continue forward. This is a standard administrative operation we support. Administrative Control in Imixs To be clear: Yes, Imixs provides administrative tools (AdminP, Admin Client, REST API) to modify workitem data and reassignments. However, our philosophy is:
This approach provides better audit compliance because you're not manipulating process flow – you're correcting data errors. Your Migration Context It's interesting that Oracle APEX Workflow didn't support you with the admin controls initially and needed to be added by custom features. That suggests that different workflow philosophies exist in the market.
I think I would try to solve this with a event-log-streaming approach. Understanding your actual usage patterns would help me provide better guidance on how Imixs would fit. Your Flutter + Open Source Plans
Feel free to reach out directly if you'd like to discuss implementation details or specific scenarios in more depth. best regards |
Beta Was this translation helpful? Give feedback.
-
|
Hi Ralph, Thank you again for the detailed and thoughtful response — I’ll reach out to you via your formal business channel to continue the discussion in more depth. Just to give you a bit more context from my side: In my day job, I work for a enterprise with around 3,000 employees. We began building our internal workflow system roughly 25 years ago, using Oracle Forms as the front end and Oracle Workflow as the state engine. We chose Oracle Workflow because it was included with the Oracle Database at no extra cost. In 2003, Oracle discontinued Workflow as a standalone product. It still exists inside Oracle Financials (E-Business Suite), but since the engine itself is written entirely in PL/SQL with a Java applet front end, we kept using it for years because it was reliable and free. Oracle later introduced their BPM Suite as the successor, but it was expensive and not really a good fit for our needs. Fast forward to recent years — as Java applets are no longer supported in browsers, we had to modernise the user interface. Around 2018, we began migrating to Oracle APEX, which offered a responsive, web-based low-code environment. That’s when I discovered Flows for APEX, which adds BPMN 2.0 capabilities directly into APEX. It’s a fantastic project, and I even worked with their team to help introduce features I am asking you about such as Suspend, Rewind, and Resume — which they released in September 2025. 🔗 Flows for APEX 25.1 Features However, when Oracle decided to build its own native workflow engine directly into APEX, they stopped funding the Flows for APEX project. As a result, the Flows team introduced an Enterprise Edition, where organisations can pay for support to help fund further development. Even though Flows for APEX is excellent, it’s still a plugin, and we’ve been very cautious about using plugins after bad experiences in the past. For example, we once relied on a plugin that provided combo box functionality; when the developer abandoned it, we were stuck — the plugin broke after an APEX upgrade, and we couldn’t move forward until we paid a third-party company to fix it. Oracle later added its own native combo box, but that experience made us much more conservative about plugin dependencies. Oracle’s built-in APEX Workflow is still evolving — they recently added parallel execution paths and gateways, and the new “resume from any activity” feature (which I mentioned earlier) has made a big difference. It’s definitely a journey, but a positive one. ⸻ My Remaining Question About Re-Routing I still don’t fully understand how Imixs handles a process that has already taken an incorrect path. Let’s say a workflow routes a human task to the wrong user because of incorrect data. In our case, that means a record has already been created for that user, and any other tables have been updated to wrong way, an entry also now exists in the worklist table. To fix the issue, that worklist entry would need to be removed, and the process instance would need to be re-run from a specific point — after the data has been corrected — so that the correct route is taken. Otherwise, how would the engine know to take a new path unless someone explicitly instructs it to do so as it is waiting for a user task to complete in the wrong worklist? From what I understand so far, the admin could use the API to reassign the task, but what about cases where the route logic itself must be re-evaluated after a data fix? Is there a supported way to trigger a re-evaluation from a given point, similar to how “resume from activity” works in APEX Workflow? ⸻ On the Graphical Path View As for the graphical view, I completely understand your reasoning about not exposing model complexity to end users. However, in our experience, the graphical path view is extremely useful for both business users and administrators. In Oracle APEX Workflow and Flows for APEX, you can visually see: This has proven invaluable for users to understand where their request currently is and how far it has progressed — especially in long-running workflows. It’s not about showing technical model detail, but about transparency and traceability in the business process. ⸻ Exploring Open-Source Options Separately from my day job, I also run my own consulting company, where we develop software platforms for smaller businesses. I’m currently exploring open-source workflow options — like Imixs Workflow — for these projects. The goal is to build process automation systems that are not tied to Oracle, since not all clients can afford the Oracle price tag. I’m particularly interested in pairing Imixs Workflow with Flutter as the front-end framework to create flexible, cross-platform business process applications. ⸻ Thanks again, Ralph, for taking the time to explain all of this in such depth. I really appreciate your openness and the clarity you’ve provided. Best regards, |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hello Imixs community,
First, a bit of background: I have worked with Oracle Workflow for the last 25 years. Although Oracle deprecated it as a standalone workflow product some time ago, we never found anything that matched its power in terms of flexibility and control. Now, Imixs Workflow looks very promising, with many of the features a mature workflow engine needs.
However, I have a concern and would like to understand how Imixs handles certain administrative or “rescue” scenarios for long-running processes.
Use case / concern
We have processes that may run for weeks or even months (or suspended for extended periods). During that time, business rules or data may change. A common example:
• Suppose a user approval limit was 1000 when the process started.
• Later, during the life of the process, that limit is raised to 2000.
• But when the process instance reaches the decision point (branching logic), the stored instance variable still reflects 1000, so the instance takes the “1000 route” — which is now incorrect given the updated rule.
In an Oracle Workflow world, we would have admin tools to intervene: adjust instance data, rerun or roll back to a prior step, then let the process take the correct branch with the updated data. We cannot realistically ask a user to cancel and restart a multi-week instance. Realistically, we’d expect administrators to:
1. Inspect the active process instance
2. Modify one or more instance variables (e.g. the approval limit)
3. Resume / re-execute from just before the decision point
4. Let the process now flow down the correct branch (i.e. as if the data had been that new value originally)
If things “go off the rails,” we want to put them back on track without losing the work already done.
My questions
1. Does Imixs support “instance repair” / “instance correction” / “rewind & resume” semantics — i.e. can you go back to a prior task or event boundary, adjust data, then continue with the correct branch?
2. If not out of the box, does Imixs provide administration APIs or tools (or plans) to support this kind of intervention?
3. Are there best practices (patterns) for long-running process resilience in Imixs, especially to handle cases where decisions may need to change mid-life?
4. Are there any caveats, limitations, or risks (e.g. transactionality, audit consistency, side effects) when intervening in a live instance?
Bonus context: I see that Imixs has an AdminP mechanism — a background administration process for batch jobs, etc.  Also, there is an Imixs Admin Client web UI for editing or deleting workitems / entities via the REST API.  These tend to focus on index rebuild, renaming, upgrades, bulk updates, cleanup etc. But I have not seen documentation about rolling back or resuming a branch based on updated data.
Also is there a grapical view of the process of what path it took.
Here is an example of the admin tool in Oracle Workflow
Here you vcan see I can Expedite a node and force it down any path I want. This option is only avilable to Admins
I’d really appreciate guidance or clarification from the project maintainers or those with deep Imixs expertise.
Thanks in advance
Beta Was this translation helpful? Give feedback.
All reactions