Purpose of fork: is it Camunda-like?

Judging from what I read from Jeff Potts and Sandy Kemsly here on the fork and from what I read from Camunda and here on why people should switch from Activiti to Camunda it sounds like Camunda is more BPM centric.

Also judging from the words of John Newton, Alfresco’s founder and CTO, and Sandy Kemsly’s discussion of him, it sounds like that he was taking Activiti on a more ECM-centric path.

From what I can tell Tjis and Joram want Flowable to remain BPM centric, which is also what Camunda claims as one of their attributes. I imagine that the reason the fork happened is because Tjis, Joram, and others wanted to advance the core BPM engine, possibly similar to how Camunda has done over the last few years whereas John Newton wanted to follow his money, which seemed to him to be in an ECM, non-BPM centric direction.

Does this seem a correct judgment of the situation?

If so, how likely is it that Flowable will be taking inspiration from the Camunda project’s advances?

Hi,

Flowable will definitely remain BPM centric. The direction of Activiti is out of our sight, but I think the Github activity tells a lot. With Flowable 6 we have refactored the core engine to a level that none of the other ones have done yet. So I think we are in a great position to leverage the possibilities of the new Flowable 6 Engine work in the coming time by adding more and more BPM features and more dynamic behaviour and flexibility. Adhoc sub processes and non interrupting event sub processes are the beginning of this.

Best regards,

Tijs

This is good news. BPM-centricity seems to be the essence of what makes a process engine valuable. Flowable seems to be in an excellent position compared to the other engines since it seems at the present moment the development team has a lot of freedom to innovate that wouldn’t be there if hundreds or thousands of deployments and SLA’s were constraining the steps it could take.

I definitely want to contribute. I want to learn enough so that I could make valuable contributions. I am starting with Activiti in Action and am reading related books on BPM.
How do you think I could become qualified to understand and possibly suggest improvements to the core engine?

Great, a good place to get started is by looking at a number of unit tests related to BPMN execution. For example ServiceTaskVariablesTest, AsyncTaskTest and UserTaskTest. This will trigger the DefaultFlowableEngineAgenda, which is a central component in Flowable, a lot. Try to understand the full execution of the Engine and have a look at the entries in the database tables. When you have a good understanding of it, then let’s have a conversation about a feature that you could take on and implement.

We will also put a roadmap online with features that are high on the priority list, and everybody from the community can add their own items in that list as well.

Best regards,

Tijs

The core tests seem like a great place to start. I found all of the classes like you mentioned and published a document I am using to track my learning of the system here.

It also seems like Activiti in Action is a good starter book for me since I am a newbie. I am through the first 100 pages of of the book, which is almost through the end of Chapter 5 with the first mail task. Even though the book is old it doesn’t take much so far to translate to the latest version of Activiti.

The tests in that book seem like a good place to start to me since they work well together and since the learning I experience as I translate to the tests to the current Activiti Engine and Activiti App are helping me learn the new stuff. Translating yet again to Flowable Engine and the Flowable app will give me three points of reference and possibly teach me about why things were changed.

I think it will take me until the third or fourth week of January given my current schedule to finish the book. By then I hope to also go through the basic tests and classes you mentioned. Thanks for pointing me in the right direction!