Camunda Team Blog

Camunda + Liferay Community Meeting

Written by Bernd Rücker on , under Community category.
Yesterday evening we met at our Partner Ancud IT in Nurremberg (Germany). Ancud presented their experiences using Portals (namely the Open Source Portal Liferay) in combination with Process Engines (namely camunda :-)). That was already a topic in a recent webinar, you can check out the recording online: English or German. Afterwards we had interessting discussions about DMN use cases and a "social collaboration hub" research project. But let's start from the beginning.



camunda + Liferay

A process application needs a user interface. According to Ancud experiences this is most often a portal - or at least some home grown portal like thing. Personally I am not yet convinced as we still do a lot of non-portal projects - but I see the use case anyway.

For combining Liferay and camunda you have a couple of options. The problems you need to solve are:
  • Having a tasklist as portlet in the portal. That normally means you can not leverage the existing Camunda Tasklist.
  • Showing forms for User Task in the portal (what we call task forms). Ancud showed a generic way to use the form fields defined in the process modell (what we call generated forms). Having custom developed forms is also possible, but you have to clarify how to do the packaging and deployment of a process application and how to communicate between portals in this case. 
  • Having an operating tool like Camunda Cockpit. We discussed that it might be better to use the existing cockpit and add SSO capabilities - as it would be a lot of effort to do a complete rewrite of Cockpit as portlet.

Ancud also explained architecture options, which basically are:

We discussed if it make sense to echange the internal "Kaleo" engine in Liferay to react on events in liferay (e.g. approval process when a new blog post is written). My personal oppinion: Depends on the use case. If you use Liferay as "UI" for process applications this is not necessary. It is only interessting if you really want to use BPMN for the internal Liferay processes.

By the way: If you think "Why should I use a portal?" - the answers were:
  • User Managements / Authorization is already solved.
  • Coorpoerate Identity is solved.
  • Frame / Reusable Features are nice.

Last but not least we quickly discussed graphical form editors, like the Bootstrap Form Builder or  the Liferay Web Forms. Both were successfully applied in real-life projects in the past.

I will add a link to the slides as soon as they are set online from Ancud.

Social Collaboration Hub: Camunda + Liferay + Nuxeo + OpenExchange

Christian from iisys was present who explained their current research project, which is actually quite interessting. It is called the Social Collaboration Hub. They build a "sharepoint alternative" using Open Source Tools - namely Camunda, Liferay, Nuxeo (a Content Management System = CMS), OpenExchange (a Groupware), Elasticsearch and Apache Shinding (an Open Social Implementation). Interessting! They just recently started and have some way to go - but they are planning to make a Cloud product out of it.

The most interessting detail for me: They want to provide the possibility to start working "document driven" and record all activities you do related to a document (the document serves as common "correlation id"). Then some mining algorithms will be applied to extract CMMN case definitions from the history (as you know which activities were executed). This helps to get to a semi-structured Case Definition - maybe even automatically - or at least recommended. Something I will keep an eye on!

DMN Use Cases

Finally we discussed  potential use cases for using DMN (Decision Model and Notation) - the standard we will include in camunda BPM to provide Business Rule Management capabilities. To be precise we will be able to model and execute decision tables.

There was one real-life use case from the audience, which I never thought of before: "How is a decision made if some theatre performance is booked for a city/town. It depends on the current city/town if this is decided by the mayor, some round table, some complicated process or something completly different. What if important people are on vacation?". This is funny as you have to make decisions about how to make the decision :-) I would like trying to sketch this in DMN as soon as the requirements got more clear.

Another example was from automotive: If your car breaks down you might have a lot of information available already (or at least you will have them in the near future). Not only about insurance coverage, milage, driver, age of the car and so on - but maybe also real-time status information from the car computers. So decisions have to be made what to do (towing the car to a garage, try to repair it on the street, get a rental as this is a major problem, order spare parts, ...).

Thanks for reading

If you want to join community meetings go to Camunda Network, you can register for the newsletter easily to stay informed. If you want to host some or even offer a presentation / experience report let us know!