Skip navigation
All Places > Alfresco Process Services & Activiti (BPM) > Blog

I am happy to announce the second milestone, M2, of Activiti Cloud 7.1.0 release train. 

In this 7.1.0.M2 release you will find the following:


  • Added support for BPMN embedded sub-processes in the Activiti Modeling Application and Activiti Cloud

  • Process diagram available from query service -> GET /query/admin/v1/process-instances/{processInstanceId}/diagram

  • Variable type validation at modeling time (default value is validated against type).

  • Added support for PROCESS_DEPLOYED and SIGNAL_RECEIVED events in notification service

  • Removal of RabbitMQ binder


You can also deploy our Example HELM charts using your favorite cloud platform (i.e. AWS, GCP, Azure...) or on-premise Kubernetes installation by following our Getting Started Guide.


This HELM chart version consumes the Docker images hosted in Docker HUB with the 7.1.0.M2 tags.

Please check the release notes page for more details including the main changes if you want to upgrade from 7.0.x.


Five months ago I published the Alfresco Process Services SDK on my GitHub account, this module is dedicated to create extensions for APS in a consistent way. 


The idea behind this contribution started for these two reasons:

  • Help attendees during official APS courses to better understand the platform
  • Help developers to quickly extend APS with new services and components


As an Alfresco Certified Instructor I have created and used this module during the sessions about APS held at the last Alfresco DevCon 2019 in Edinburgh. Using this SDK you can implement your own Java components and you can also build unit and integration tests for consolidating the overall solution.


This could be a good starting point for building your projects for giving it a minimum of quality needed to every customer. In TAI Solutions we are using this module also for building solutions for our customers and it seems that it is working very well 


Currently the SDK is configured for APS but it was tested also on APS 1.8 and 1.9. The structure of this module is strongly based on the current APS 1.x source code packaging, so if you know something about APS classpath, you should feel at home 



Developers can implement their own solutions on top of Alfresco Process Services with the following supported features:

  • Runs the embedded container + H2 DB

  • Runs unit and integration tests

  • Packages both App ZIP and JAR with customization

  • All the APS Java Services supported (UserService, GroupService, TenantService and so on...)

  • No parent pom

  • Standard JAR packaging and layout

  • It works seamlessly with any Maven-compliant IDE



  • JDK 1.8

  • Apache Maven 3.x (where x should be the latest version)

  • Enterprise Maven Repo Account: an active account for the Alfresco Maven Enterprise Repository to have access to the Enterprise artifacts. If you are an Alfresco Partner or an Alfresco Customer, you can raise a ticket in the Alfresco Support Portal asking for your own account credentials


Please let me know if you are interested to contribute on this project and any feedback is welcome.

More details are available in this post in my personal blog.


Hope this helps



Alfresco Process Services SDK - Github location


Alfresco Process Services SDK - Maven Module

First of all, we would like to thank Mauricio Salatino (“Salaboy”), for all his fantastic work and commitment to the Activiti open source project. Mauricio has been a great contributor helping us in our mission of building the first truly open source, cloud-native BPMN process automation software.


Our goal is to address developers’ needs with both Activiti as well as an enterprise edition for organizations requiring professional support and additional capabilities. To date, we have received lots of positive feedback and interest from organizations looking for scalable, microservices-based, open source BPM software.


To succeed in our mission, the Activiti development team and the team producing Alfresco Enterprise products is now one team with a focus towards a seamless path from Community to Enterprise. We want to make sure that in the future, developers who have adopted Activiti will also be able to address their organization's needs by easily moving to an Alfresco Enterprise edition at any time. Another important aspect for the open source project is to continuously feed the roadmap with commonly shared business requirements taken from new and evolving enterprise projects.

What does this mean for the Activiti project? We will continue to deliver monthly releases to the community, but with a larger team. To improve collaboration, we will work with a single backlog managed in JIRA. The roadmap will continue to be updated on a regular basis. The way we have been working with the community by receiving pull requests and Github issues will continue. Before sharing a more complete roadmap update, here are some important features that will keep us busy for the next 6 to 9 months:

  • Form editor
  • Decision tables
  • More BPMN elements: Timers, Messages, Gateways, Script Task...
  • Versioning
  • UX enhancements

We look forward to hearing from you and welcoming new Activiti community members.  We recognize that it has not always been easy for community members to get their code contributions accepted, however, we are committed to making the process easier and to share our new coding standards shortly. Stay tuned for our contribution guidelines and further updates!


“If you want to go quickly, go alone. If you want to go far, go together.” – African Proverb


New OSS challenges ahead

Posted by salaboy Employee Jun 14, 2019

Today I am stepping down as the Activiti Cloud OSS Tech Lead @ Alfresco. We had so much fun with the Activiti Cloud OSS team during this last two years, designing and implementing the first iteration of Activiti Cloud. We (Alfresco and I) have different opinions on how to move the project forward, the direction and the main objectives. For these reasons, I want to explore some of these ideas out in the open. The Cloud Native space is growing really fast and there is a lot of exploration that I want to pursue at my own pace to be able to create a new breed of business automation tools and frameworks. 


Over the last two years, we (with the OSS team) created a lot of code [1]. But code was not the only thing that we produced, we contributed to major Open Source projects outside of the Alfresco ecosystem and we pushed and shared as much as we could with other communities. 


I had the pleasure to work with a world-class team: Elias De Medeiros, Ryan Dawson and Miguel Ruiz. (We also collaborated with some awesome guys such as Bassam Al-sarori, Constantin Ciobotaru, Lucian Oprea and Daniel Pancu, who truly understood the power of working in the Open).  As a team, we didn’t have half the answers, but we were motivated to learn and iterate quickly. We all had the pleasure of interacting with amazing community members such as: Daisuke Yoshimoto, Igor Dianov, Illia Goncharov and Alex Merkulov.  This has been a very rewarding personal and professional experience for myself, which once again proved that the Open Source Way of working keeps you always learning and working with like-minded and very smart people. 


We were focused on the Kubernetes Ecosystem from day one and we went through the whole process of changing our mindset, learning new tools, and new practices until the point where things like Continuous Delivery became a must.  During this process, we learnt so much from projects such as Spring Cloud, Jenkins X, JHipster and Keycloak which is why it is extremely important for me to thank the individuals that really promote Open Source and help other community projects to grow: Spencer Gibb and Ryan Baxter from Spring Cloud - Pivotal,  Ioannis Canellos and Georgios Andrianakis from Red Hat, James Strachan & James Rawling from Jenkins X, and the whole awesome JHipster community


As part of this Journey, I’ve had the opportunity to deliver presentations in more than 15 public events (at which I was accepted based on merit and by the relevance of the topics via c4p):

  1. JBCNConf 2019, Barcelona, Spain - May '19
  2. La Plata University Meetup, Mar del Plata, Argentina - March '19
  3. Healthcare in Gov Meetup, Buenos Aires, Argentina - March '19
  4. London DevOps Meetup, London, UK - March '19
  5. Alfresco DevCon, Dublin, Ireland - Jan '19
  6. GeeCon Prague 2018, Prague, Czech Republic - Oct ’18
  7. uServices London Meetup, London, United Kingdom - Nov ’18 
  8. SpringOne Platform, Washington D.C., USA - Sept ‘18
  9. London Java Community Meetup, London, United Kingdom - July ’18 
  10. JBCN Conf 2018, Barcelona, Spain - June ’18 (2hs Workshop)
  11. JJUG CCC 2018, Tokyo, Japan - May ’18
  12. GeeCon 2018, Krakow, Poland - May ’18
  13. uServices Meetup, London, United Kingdom - March ’18 
  14. Alfresco Meetup, London, United Kingdom - Feb ’18
  15. Alfresco DevCon, Lisbon ,Portugal - Jan ’18
  16. JBCNConf 2017, Barcelona, Spain - June ’17

Last, but not least, we refreshed the Activiti website and we created a new logo for the project! 


The project is well on its way and I wish Alfresco all the best for the future of the project.  I will be more than happy to answer questions about Activiti, how to use it for specific scenarios, and the main advantages compared with other Open Source projects.  Get in touch if you have any questions or if you need advice on these topics. 


PS: I will be presenting at at the end of the month and I am invited to speak at Jenkins World San Francisco ( August 12-15 and Lisbon ( ) December 2-5. If you are planning to go to any of these events get in touch! 


[1]: my stats for the last year, I was quite busy

We closed more than 607 (until 7.1.0.M1) into 17 releases that we tagged for external consumption. Based on:

I am happy to announce the first milestone of Activiti Cloud 7.1.0 release train. For 7.1.0 we are focused on adding more support for BPMN elements and maturing each component to provide more features. We want to make sure that people creating applications with Activiti Cloud can test these applications in distributed environments in an intuitive way, as well as troubleshoot when things go wrong. For this reason, we are putting a lot of effort in CI/CD integrations and we keep delivering fixed versions every time that a change happens in our services. All artifacts are available in Maven Central.


In the 7.1.0.M1 release you will find the following:

  • HELM Chart improvements and hardening
  • Updated Getting Started Guides and Quickstarts for Jenkins X
  • Swagger File generation per starter at compilation time \(validated service clients\)
  • Modeling App:
    • Improved Import/Export from Modeling app
    • Improved model validations
  • BPMN Process Models are now available from Query Service
  • Improved Process Extensions mechanism
  • Process Instance Id is now linked with Task information in Query Service
  • Cloud Native BPMN Signal Events Support
    • Intermediate Catch/Throw
    • Start Event
    • Boundary Event
  • Support for Query and Audit event handler
  • Improved REST Error Handlers for all services, now handled at service-common level



You can also deploy our Example HELM charts in your favourite cloud providers or On-Premise Kubernetes installation by following our Getting Started Guide.


HELM Charts for Full Example has being updated to consume GA artifacts in **version 1.1.15**

This HELM chart version consumes the Docker images hosted in Docker HUB with the 7.1.0.M1 tags.


You can take a look at the full release notes here, with the main changes if you want to upgrade from 7.0.x.

Last week week we presented at the at London DevOpsour experience with Jenkins Xto automate, release and manage 40+ repositories, which includes Java Libraries, Docker Images, HELM charts and deployments to environments which execute Acceptance tests against them. We are working quite hard to refine how the Activiti Cloud APIs from different components are consumed and also we are working hard to enable new BPMN elements. We will double down our efforts to provide a framework for testing these services in a distributed environment to make sure that we have enough coverage from each BPMN element when running in a distributed approach.


@miguelruizdevworked on the reusability of modelling acceptance test steps.


@ryandawsonukCreated PRs to add jenkins-x quickstarts docs to the developer guideand resolve an issue with build pod naming. Presented with Mauricio on our use of Jenkins-X at London DevOps

@erdemedeirosworked on fix for Swagger specification ( work in progress).

@salaboypresented with @ryandawsonukat London DevOpsand worked on triaging issues for 7.1.0.M1 while we had some interesting discussions about Decision Tables.


Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request

Last week we released Activiti Cloud SR1 containing some major compatibility improvements. At the same time we triaged the issues for our 7.1.0.M1 Milestone that you can follow here: (


There are still issues being triaged, and the date has been set to April 10, 2019. We will prioritize adding support for more BPMN elements and polishing the modelling services.


@constantin-ciobotaru cleanup of unused imports and unused dependencies in modeling

@igdianov worked on fixing Events related to different process instances may be collected in one bunchand minor Helm chart improvements to enable RabbitMq persistentVolumein Activiti Cloud Charts

@miguelruizdev worked on the removal of the process instance description field on the cloud side (, tested call activities at the starter level ( and polished rough edges in the clean-up endpoints enablement based on properties (

@ryandawsonuk worked on several issues related to edge cases for the reliability of the Activiti Jenkins-X pipelines and on an activiti presentation for london devops

@erdemedeiros completed work to get new update task variable endpoint available for admin ( Investigated problem related Java client generated from swagger specification (

@salaboy worked on testing SR1 and improving docs while attending several meetings for planning and understanding the scope of 7.1.0.M1.


Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request


Activiti Cloud SR1 Released!

Posted by salaboy Employee Mar 8, 2019

I am happy to announce the first Service Release for Activiti Cloud and Activiti Core artefacts. After getting a lot of community feedback from our first GA iteration we are now releasing 7.0.0.SR1improving mostly on compatibility with Spring Boot 2.0.x and JDK 8 support in addition to JDK11.

You can consume all the Activiti Cloud artifacts from Maven Central:


In this SR1 release you will find the following [main fixes]:

  • Task Variable Endpoints for Admin and Users update
  • JDK 8 support for our artifacts
  • Process Definition XML accessible in Query Service
  • Sync between query and runtime bundle for standalone tasks
  • Swagger file generation from RB endpoints fix

All these Spring Boot Starters are based on Spring Boot 2.1.2 and Spring Cloud Greenwich RELEASE and all the artifacts are compiled to work with JDK11 (and now JDK8 support as well).

You can also deploy our Example HELM charts in your favourite cloud providers or On-Premise Kubernetes installation by following our [Getting Started Guide]

HELM Charts for Full Example has being updated to consume GA artifacts in **version 1.1.9**

If you are interested in the future of the project you can take a look at our [presentation at DevCon]

Last week we worked on stabilizing our 7.0.x and 7.1.x release trains while we updated the docs and prepare the final details of our SR1 release which includes some fixes but major compatibility improvements allowing easier integrations with other frameworks and other versions of JDK and Spring Boot.


@CTI777Worked on issues  #2272 (signal events) and #2515 (task variables)


@igdianovworked on updating Quickstarts, PoC Helm unit tests, Activiti Helm Charts improvements, Runtime Bundle events aggregation execution context issue, and Jenkins-X updatebot multi-branch single PR issue

@almericorun 7.0.x pipeline


@miguelruizdevworked on the clean-up data endpoints and their test coverage.


@ryandawsonukIdentified updatebot issue running 7.0.x release train on jenkins-x and submitted PR to address it. Resolved problem with building acc scenarios. Identified pipeline reliability problems related to pod operationsandrace conditionsand took first steps to resolving. Built images from 7.0.x branches using scriptstarted testing on it.


@erdemedeiroscompleted work to get XML BPMN file published to query service alongside with process definition.


@salaboyworked preparing the SR1 release on the 7.0.0 release train, plus updated documentation in our gitbook. I’ve also submitted a proposal for the JHipster conference in Paris.


Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request

Last week we started a round of refinements and platform upgrades. We defined the path for the 7.0.x Release train (7.0.x branch in our repositories) and 7.1.x Release train (develop branch in our repositories). We started to look into 7.1.0.M1 release and we are trying to set the scope right to provide refinements that will enable easy integration for other projects.  


@CTI777Worked on issue  #2272 (Missing audit event api's for signals)

@igdianovworked on quickstarts improvements and HELM charts refinements
@almericoWorking on docker images changes. Jdk 8 backward compatibility. Working 7.0.x pipeline creation.

@miguelruizdevworked on clean up/data extraction mechanism for RB.

@ryandawsonukResolved a timing problem with a non-deterministic test. Reviewed and merged several key changes to cloud charts andsubmitted new version of PR to port to alfresco identity service. Worked with almerico to upgrade the jenkins-x version on the clusters.

@erdemedeirosupdated pom configuration to get code coverage for cloud projects published again (; worked to get XML BPMN file published to query service alongside with process definition (work in progress).

@constantin-ciobotaruFixed 2532(The exported project with a previous imported process model has wrong process id in extensions json file) and 2533(Reimporting a previously exported process can end up in having two processes with different names but the same bpmn id)

@salaboyworked on testing JDK 8 and triaging for SR1. Also updated docs and improved diagrams and broken sections in our gitbook.


Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request

Last week it was all about the GA release. We worked hard to improve our coverage and acceptance test to make sure that we reduce the potential issues after releasing. You can find more about the GA release here, and you can keep track of the Service Release 1 (SR1) that will follow if critical issues are found. We improved our getting started guidesand simplify the deployment steps to make sure that you can get all the services up and running with a single HELM command.

Moving forward we started planning the 7.1 Release Train so feel free to get in touch via Gitter/Twitter/Email if you are interested in being part of those planning sessions.

@CTI777Worked on following issues: #2465, #1862, #2272 (Missing audit event api's for signals)

Completed PRs:

@almerico  Made pr to JenkinsX, pipelines configurations.

@miguelruizdevworked on the coverage of LIKE operator in Query, identified redundancy of description field in process at the cloud level and fixed edge case of standalone tasks variable retrieval in Query (2514)

@ryandawsonukworked on the GA release.

@erdemedeirosfinished work on connector variable mapping ( for both non-cloud and cloud implementations. Provided examples for it.

@constantin-ciobotaruFixed process variable mapping json format (2483), added process id in process extension json file (2497), updated aps to work with activiti modeling 7.0.0.GA, worked for fixing swagger in case of jackson mixin in api models (2456)

@salaboyworked with @ryandawsonukand @erdemedeirosto polish the last issues around 7.0.0.GA and we did the release.

Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request

I am happy to announce that Activiti Cloud 7.0.0.GAhas been released! After a hard year of work we are closing this first iteration providing building blocks to create Business Automation applications in a Cloud Native approach.

Activiti Cloud 7.0.0.GA is providing a Business Automation layer for Kubernetes, building on top of Spring Boot (2.x), Spring Cloud Greenwich (RELEASE) and Docker containers.

We are quite excited to see how the community pick up these components to build all sorts of business applications. We are very keen to help community members to get started and see which Open Source project integrations make sense for the future.

You can consume all the Activiti Cloud artifacts from Maven Central:




In this GA release you will find the following Spring Boot Starters to create your own domain specific services using our Cloud Native Building Blocks:

  • Runtime Bundle Spring Boot Starter (internal release 7.0.128)
    • Contains Activiti Core 7.0.0.GA (internal release 7.0.127)
  • Cloud Connectors Spring Boot Starter (internal release 7.0.74)
  • Query Service Spring Boot Starter (internal release 7.0.106)
  • Audit Service Spring Boot Starter (internal release 7.0.81)
  • Modeling Backend Spring Boot Starter (internal release 7.0.99)
  • Application ServiceSpring Boot Starter  - Beta (internal release 7.0.64)
  • Notification Service Spring Boot Starter - Beta (internal release 7.0.16)
    • GraphQL endpoint and Subscriptions

All these Spring Boot Starters are based on Spring Boot 2.1.2 and Spring Cloud Greenwich RELEASE and all the artifacts are compiled to work with JDK11.


As part of this release we are also providing the first iteration of our new Activiti Modeler Application, where you can model your business processes and export them in Projects.


You can also deploy our Example HELM charts in your favourite cloud providers or On-Premise Kubernetes installation by following our Getting Started Guide:

Or follow our 5 steps deployment:

  1. helm install stable/nginx-ingress --version 1.1.2
  2. kubectl get services (Look for the Ingress Service EXTERNAL IP, it might take a minute)
  3. helm repo add activiti-cloud-charts
  4. helm repo update
  5. helm install —name awesome  activiti-cloud-charts/activiti-cloud-full-example —set global.gateway.domain=<ingress external ip> —namespace=salaboy

We are also providing some Jenkins Xquickstarts that you can use to leverage CI/CD from day one, we believe that as part of our Cloud Native transformation, CI/CD becomes a fundamental practice for our day to day operations.

A blog post is coming to demonstrate how to leverage these quickstart if you are using Jenkins X.

Moving forward, a new roadmap blog post is being create to share what the focus will be for Activiti Cloud 7.1.x release train.


If you are interested in the future of the project you can take a look at our presentation at DevCon:


The future of Activiti Cloud @ DevCon 2019 

Last week we work hard on improving acceptance tests coverage and rest endpoint refiningments. As you can see there was a quite active week all over the place. We got great contributions from @daisuke-yoshimotorefining warning and runtime behaviour for our services. Our pipelines are improving every week and we are fine tuning our services to boot up even faster. This week is going to be all about wrapping the first GA release, there is still a lot of work to do, but we are confident that we can release the first cut of the Activiti Cloud Cloud Native approach. We are confident that we can use this release as base layer to keep improving and adding functionalities.


@daisuke-yoshimotoworked on adding warning if process has the async=true property

@CTI777Worked on following API issues mostly in runtime bundle and query service: #2390, #2439, #1953, #2381, #1954, #2464

@Cristian Florescuworked on update instance variables ( done; worked on acc tests for updating instance variables ( wip


Working on reliability of pipelines  #2430,#2454,#2472,#247,#2327,#2269,#2446

Completed PRs:


@miguelruizdevworked on the addition of admin endpoints across our services to delete standalone tasks.

@ryandawsonukupgraded app versions of spring cloud, boot and spring cloud kubernetes. Worked through the projects resolving the problems. Merged various PRs in activiti-cloud-charts and tested the resulting charts on different clusters.

@erdemedeirosworked on connector variable mapping ( almost done for activiti core; some work still remaining for runtime bundle.

@constantin-ciobotaruAdded connector model types, connectors validation, testing modeler app FE + BE

@salaboyworked on defining Variables Mapping backend work and tagged interfaces for Deprecation and Internal usage. Also reviewed around 40+ PRs.

Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request

Last week we had an amazing time in Alfresco DevCon 2019in Edinburgh. We had a lot of face to face discussions about what is going to be priority right after the GA release. We have identified some areas that we need to improve and some services that we need to expand to provide a better experience. We also touch on integrations with other Open Source projects such as JHipster, Istio and KNative. Some RFC blog post are coming right after we wrap up the GA release.


@daisuke-yoshimotois working on Integrate Modeling Service's backend and frontend into one Docker container.

@CTI777Worked on following issues: #2417 Add RB admin get task by id endpoint, #2420 Add acceptance tests to new admin REST endpoints, #2396 Add tests for datetime fields for filters, #2439 Add filter for standalone tasks

@almericoWorked on helm charts and Docker image optimizations.

@igdianovworking on quickstart for activiti cloud applications with JX

@miguelruizdevworked on creating  conformance tests for variables in processes and tasks.

@ryandawsonukgot the trending topics UI working against ttc-chart, created PR to add notifications to the backend in ttc-chart,presented at DevCon.

@erdemedeirospresented and attended DevCon. Reviewed and merged pull requests related to new admin REST endpoints.

@salaboyhad fun at DevCon while reviewing PRs :)


Get in touch if you want to contribute:

We are looking forward to mentor people on the technologies that we are using to submit their first Pull Request


Activiti Cloud @ DevCon 2019

Posted by salaboy Employee Feb 1, 2019

We had an amazing time here in Edinburgh, Scotland with the Alfresco community. We (Elias de Medeiros and myself) presented what we are planning to do in 2019 and we announced live in the stage Activiti Cloud RC1. Ryan Dawson presented a quick tour around the main features in Activiti Cloud and the path to the Cloud from Activiti Core. It really felt great to come full circle, after presenting our ideas of Activiti Cloud a year ago in Lisbon, we proved that we are going in the right direction and that we can deliver a major version in a year time. We have learnt a lot on this journey and 2019 will be all about solidifying these learnings in actual code/services being released every month.


The future of Activiti Cloud OSS (Elias De Medeiros/Salaboy)



As part of the presentation I've introduced a new (draft) Activiti Cloud Applications Operator with a set of (Kubernetes) Custom Resource Definition that you can find here:

A whirlwind tour of Activiti 7 (Ryan Dawson)


Whirlwind tour of Activiti 7 by Ryan Dawson 


Hackathon GraphQL notifications

During the hackathon the awesome work of Ryan Dawson and Igor Dianov to integrate GraphQL into our Trending Topics Campaigns example. The following video show how our Trending Topics Campaign Example is now also using graphQL subscriptions to be notified about Runtime Bundle events. You can see in the GraphIQL UI a subscription looking for all the PROCESS_COMPLETED events, which are pushed from the service side.

We will be working hard on our GA release so please feel free to get in touch with feedback in Gitter and test our latest RC1 release.