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

While we are working hard in getting our first Beta Release at the end of March (beginning of April) we wanted to share a couple of introductory videos about our work so far.

We have introduced some new concepts to align BPM concepts to the Cloud Native era and for that reason we wanted to share some examples of these concepts in action.

The first video go over some of the changes in paradigm that we adopted while creating Activiti Cloud and the technology choices that we made in order to provide solutions that can scale up to support global scenarios.

Then it covers the main building blocks in Activiti Cloud covering our Infrastructural Services such as Identity Management, SSO, Services Registry, Configuration Server, Data Stores and Message Brokers and our Core Building Blocks such as Runtime Bundle, Query Service, Notification Service, Audit Service and Cloud Connectors


If you are interested in learning more about these concepts we recommend you to check our GitBook Activiti & Activiti Cloud Developers Guide

While all these concepts are important to understand see them in action is way more valuable.

The second video covers our BluePrint: Trending Topic Campaigns Scenario (Source Code and GitBook Section) where we aim to share a running example that shows most of our building blocks solving a real life situation that requires great amount of flexibility and dynamic scale. We will use these BluePrints to test our releases and to iteratively improve each of the building blocks. One key aspect of this BluePrint is that is designed with Kubernetes in mind as the main target deployment platform. This is an important aspect that highlight the intention of this fictional scenario. We are not building BluePrints as just cool demos, we want to make sure that these scenarios represent generic scenarios that you as implementor will face when using our building blocks. We use these scenarios to recognise pain points so we can fix them and improve the overall experience of using these Cloud Native services.
As you will see in the video, the BluePrint app can be started as a set of Spring Boot apps, using Docker Compose or straight into Kubernetes where the first two are only recommended for development purposes, but if you are really thinking into going into production running in Kubernetes is a must.
The BluePrint scenario is a great place to experiment performance, load and how, with different configurations, the topology of the services can behave differently to cover different scenarios.


It is also important to notice that even if this BluePrint was built using Activiti Cloud you can use it to learn about Cloud and distributed architectures mainly because each Building Block is autonomous and packaged as a container, you can kill Runtime Bundles (campaigns), create replicas (to support more load) or even add new Campaigns dynamically and the whole system should adapt and the cluster will do its magic to make sure that each service has enough resources to operate correctly.

You can find the slide decks here: Activiti Cloud Overview & BluePrint: Trending Topic Campaigns 


And if you have questions/feedback/comments please get in touch via our Gitter Channel: Activiti - Gitter Channel

Last week was all about adding support for more scenarios into our building blocks. @ryandawsonuk, @daisuke-yoshimotoand @igdianovwork is helping us to have a coherent set of services that supports a wide range of business use cases using a Cloud Native Approach. While @lucianopreaand @constantin-ciobotaruare polishing our modelling backend services to support the new generation set of tools for building Activiti Cloud Applications.


@diegonayalazois working on the acceptance tests for our BluePrint scenario.

@igdianovgot the initial version of GraphQL and Keycloak integration to secure our Subscription (push notification) mechanism.

@daisuke-yoshimoto is working on implementing Signal Throw Event Cloud Behavior that broadcasts signals to all Runtime Bundles by using Spring Cloud Stream.

@constantin-ciobotaruacceptance tests for modeling service using jbehave, feign, spring

@lucianopreasome extra work on the endpoint to validate BPMN models and support for variables controllers in runtime-bundle

@mteodorimoved from Log4J to Logback to fix implemented update to Spring Boot RC1 and pom changes to be reviewed, Spring Cloud update postponed due to issues in Spring Cloud Sleuth

@ffazzinicreated new env and partial deployment for admin up supporting new DBP deployment structure, verified that activiti7 deployment on PKS includes also elastic now so all building blocks work now.

@balsaroriWorked on simplifying extendability of ServiceTaskParseHandler on 6.x. Fixed Activiti extensions 5.18 XML schema (xsd) on 6.x branch and created another PR for develop

@ryandawsonukAdded restrictions to REST part of query to control access to process instances by process definition. Started work on restrictions for tasks so that tasks in query module’s REST endpoints can be restricted to candidates and assignees.

@erdemedeiros- out last week -

@salaboywas working on improving the Trending Topic Campaigns BluePrint and adding support for new events to be emitted and consumed by our building blocks.

This week will be all about closing and triaging as many issues as possible to go over the monthly release process. We are aiming to finish some big chunks of work before doing the February Early Access Release, and for that reason we might push the release to early next week.

Check the February milestoneto find the issues that we are currently working on this month and 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 ;)

If you want to get started with Activiti Cloud visit our Gitbook:

Last week we made some progress on refining our services to support more scenarios and we included a new Angular 5 application to start building our Demo UI against Activiti Cloud Services. @igdianovprovided support for GraphQL which is now being migrated to the new Angular 5 app. The new App is a great place to get involved with the project and to test the advantage of the new endpoints, APIs and feature. We keep our testing against PKS (Pivotal Container Services) and improving our Trending Topics Campaign BluePrintto support more use cases. 


@diegonayalazo worked on refining the Quickstarts in our GitBook and started working with our acceptance test project to improve our coverage during automation.

@igdianov Integrated GraphQL Query support into Activiti-Cloud-Demo-Ui example using Apollo Client JS libraries:

@daisuke-yoshimoto is working on implementing Signal Throw Event Cloud Behavior that broadcasts signals to all Runtime Bundles by using Spring Cloud Stream.

@constantin-ciobotaru worked for springfox-data-rest-patch and to enable swagger for process-model and organization services, worked for the fix on springfox side, started acceptance tests for modeling service

@mteodori fixed latest Spring and Jackson security vulnerabilities created a ticket for newly discovered Log4J one and moved dependency-check to a profile to make build faster

@lucianoprea created an endpoint to validate BPMN models correctness that should be triggered before saving a new Process Model

@ffazzini automated deployment investigation around performance test solutions

@balsarori Helped with investigating how suspend/activate events work. Started to work on simplifying extendability of ServiceTaskParseHandler on 5.x.

@ryandawsonuk has been adding access control on the REST part of the query module. This has required some refactoring of the access control implementation on the runtime bundle and ensuring that further data is fed through into query.

@erdemedeiros kept working on the PoC to support Alfresco REST APIs guidelines ( Some work still need to be done concerning pagination.

@salaboy worked on improving the Trending Topic Campaings BluePrint ( and started a deeper research on how to use Spring Cloud Kubernetes Config and Registry modules. Also did some research on Kubernetes Service Catalog and how this will related to Spring Cloud Kubernetes.


Check the February milestoneto find the issues that we are currently working on this month and 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 ;)

If you want to get started with Activiti Cloud visit our Gitbook:

Last week we focused on planning and making sure that we polish our getting started experience. You will notice that we are refactoring our GitBook and our activiti-cloud-examples repository to reduce the learning curve and the number of steps required to get our infrastructure up and running. We will continue this refinement process with our Trending Topic BluePrint which was moved to a separate GitHub repository now (we will also publish ready to be used Docker Images for this example to simply testing in different cloud providers). There is some important work around APIs, Deployments to different cloud providers, Application Service and Modelling Services all good places for getting started as a community contributor.



@igdianov worked on WS security PoC for graphql subscriptions.

@daisuke-yoshimoto interrupted investigating about Message Throw Event Behaviour and experimentally started to implementing Signal Throw Event Cloud Behavior.

@constantin-ciobotaru investigated usage of spring-cloud-kubernetes-discovery with spring-cloud Finchley.M5and spring-boot 2.0.0.M7 in activiti, added deployment descriptors for modeling service, updated postman collections, working for fixing swagger in modeling service

@mteodori adding the Meterianbadge to repos #1734

@lucianoprea worked on support for validate BPMN models #1720in process-model-services

@ffazzini deployed activiti to PKS and reported to Pivotal few problems with elasticsearch and kubectl command outputs, fixed the last swagger issues in activiti

@balsarori fixed 6.x UI startup issue,reviewed & merged 5.x PRs regarding historic persistence #1612

@ryandawsonuk Set up a rabbitmq docker image with stomp plugin enabled so that it is deployed with and used by the rest of the Activiti components and disabled websockets for deployments where the stomp plugin isn’t currently available (and trying to find out how to make it available). Documented how to run notifications for GraphQL in a separate container from query. Produced an RFC document for access control on the REST part of the query module.

@erdemedeiros worked on a PoC to support an additional media type that provides response contents in conformance with Alfresco Guidelines for REST APIs ( Good progress in the response content itself, but there are some challenges regarding pagination.

@salaboy worked on the trending topic blueprint (, moved it to a new repo and added more endpoints to each microservice to have more control over the scenario. I also attended the Makers Faire Lille, France where we printed the brand new Activiti & Activiti Cloud logo using a Portrait Painter Robot:


Check the February milestone to find the issues that we are currently working on this month and 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 ;)

If you want to get started with Activiti Cloud visit our Gitbook:

On behalf of the team, I am pleased to announce that Alfresco Process Services 1.8 has been released and is available now. This release includes new features, improvements as well as important bug fixes. Here are a few notable highlights:



Process Workspace: New End-User Experience Based on ADF 

The Process Workspace is a new out-of-the-box user interface for end users to view, act and collaborate on tasks and processes. The existing UI is still available but the Process Workspace brings the following benefits:

    • It supports multiple screen sizes including mobile, tablet and desktop devices,
    • The user experience has been modernized and optimized to reduce  the number of clicks or taps to interact with tasks and processes,
    • And last but not least, it has been developed using the latest version of the Alfresco Application Development Framework (ADF). By doing so we are not only drinking our own champagne but the value for customers and partners also reside in the availability of the source code. Indeed,  they can use it as an example and extend it for their own ADF-based web application.

The Process Workspace UI is available at http://(hostname):(port)/activiti-app/workspace/.


Screenshot of the Process Workspace on a desktop screen.


Screenshots on a mobile screen.


Alfresco will continue to develop and extend the Process Workspace making use of the latest ADF developments. If you are not familiar with ADF, the standards-based javascript framework for quick web app development, you will find lots of useful resources on the dedicated community space. Please note that the Process Workspace is an optional experience. Current applications built on activiti-app are not affected.

New Elasticsearch REST Client

APS 1.8 now includes a new Elasticsearch REST client in addition to the 2 existing methods (embedded and client cluster). This allows the indexing of process event in external Elasticsearch environments including managed services such as AWS Elasticsearch. Please note that the previous configuration (the Java client) configuration is enabled by default and is still required if you want to use out-of-the-box reports from the Analytics App.


The REST client internally uses the Apache HTTP Async Client to send HTTP requests. This allows communication with an Elasticsearch cluster through HTTP. Here is an example of the required configuration to send data to an AWS ES domain.



event.processing.cronExpression=0/5 * * * * ?
event.processing.expired.cronExpression=0 0/10 * * * ?


After having restarted Process Services and launched new process instances, you can open Kibana and start visualizing process events you generated. For example, the Kibana pie chart below is showing the count per activity (e.g. start event, user task, script task, etc...) across all process instances that are running or that are completed.


Example of Kibana pie chart based on AWS Elasticsearch indexed data.


If you are not using Kibana but just want to quickly verify the data that was sent to the configured AWS ES domain. Here are some requests you can try directly in your web browser:



Completed tasks<tenant_id>/completed-tasks/_search?pretty

Process instances<tenant_id>/process-instances/_search?pretty 


Example of an HTTP request to retrieve the completed tasks.


NOTE: In the process engine database, the event data goes to ACT_EVT_LOG table and once processed (IS_PROCESSED_ = 1), the information is sent to Elasticsearch.

Complex Data Mapping 

This improvement enables non-technical domain experts to work closely with developers. They can model complex data scenarios so that customizations becoming configuration in repeated projects/processes rather requiring the repeated involvement of development. Specifically, this capability covers the export of data from a custom form stencil to any external system when using custom data models.


For example, you can design a custom form stencil with all the fields that describe an employee (e.g. id, contact info, job title, salary, etc...) and map them with the corresponding entity attribute of your data model. Here is an example of custom stencil runtime template for an employee object with 3 fields: id, name, and salary.

Here is the controller script.

Here is the custom data model for the employee.

Using the Store Entity task in your process, here is how you set the mapping. You only need to set the field value path to set the values you want to store from your object.


Code snippet for the storeEntity method of AlfrescoCustomDataModelService implementation showing how to extract the field value path.

Administration Console Enhancements

  • ‘Read-only’ Admin

A new setting in the Admin Console allows the creation of read-only admin users. This new capability targets authorized troubleshooter in your organization, people that can help others debug problems without accidentally altering information via the UI and potentially breaking operational processes. Please note that “read-only” users are still authorized to make changes through the APIs but not from the UI.  This new feature is thus a convenience feature to avoid accidental changes to the system by trusted users.

  • Download binary process data

As an administrator, you can now download binary process data and uploaded files from the Admin Console. This capability will help you when a process has gone wrong and you need to troubleshoot the problem.

For a complete list of improvements and instructions, please check out Alfresco documentation. Interested in trying out this new Process Services version? Register for a free enterprise trial here.

Almost 8 months of heavy work (and 6 Early Access Releases) we are happy to see that our building blocks are maturing to support more complex use cases. We are committed to improve each service iteratively and for that reason we are planning to have a live demo environments where we can push new versions our services in a continuous deployment fashion. [View official and updated Activiti & Activiti Cloud Roadmap here]

We are now working hard in our BluePrint example where you will be able to find a practical example about how to implement a real life scenario with Activiti Cloud.

We are keeping a close eye to issues reported to GitHub, to make sure that all of them are triaged and assigned to a milestone where someone from the team or our community contributors can take care of them in an ordered fashion. Check our current milestone for more details: We also created a new label for community contributors who want to get started with simple tasks called "community contributions":

Our focus remains: 

  • Create RFCs for new Cloud Native components and services
    • New App Definition And Lifecycle Management Service RFC coming
    • New BluePrint RFC coming
  • Provide a clear specification (APIs) about our Services (REST/Message Based/Configurations). Make sure that these APIs have well defined responsibilities, single focused and can evolve over time without causing consumers any headaches.
    • We iterate each component to make it simpler, faster and better
  • Make sure that we use standard tools, patterns and development techniques widely adopted by other Open Source Projects/Communities. Spring, Spring Boot, Spring Cloud, Docker, Kubernetes falls into this category, and we are making sure that we provide the right integration with these frameworks/tools. Activiti Cloud is designed from the ground up to work with such technologies.
  • Create Industry Specific BluePrints to demonstrate common scenarios and use cases that represent what different industries requirements.
  • Engage and mentor partners and community members that wants to participate.
  • Doing it in the Open Source way (Transparency & Meritocracy are a must).

Milestone #6- January 2018 - Ended -

  • Process Runtime Service APIs (review and proposal)
  • Notification Service initial implementation for release
    • Query Module now use GraphQL to provide faster and better options for data retrieval
  • Improved Activiti Cloud Connectors Starter
    • Connectors now use dynamic binding to improve traceability
  • Kubernetes ConfigMaps Research
  • Improved Deployment Descriptors for Kubernetes
    • Tests in AWS environments using our Helm Charts
    • Tests in PKS Pivotal Early Access Environment
    • Shared Helm Charts with the Alfresco Platform Services for core infrastructure

January was all about testing our infrastructure in real environments. The team also presented at DevCon (Alfresco Community Conference) where our Trending Topic Campaigns BluePrint initial version was demoed. We will be writing more about our BluePrint soon, and we look to hear from you what would you expect from it.

For now you can look at our slide decks and feel free to ask in gitter for more details

Activiti & Activiti Cloud Overview

[slideshare id=86282838&doc=activitiandactiviticlouddevcon-180117123046]

Activiti Cloud Deep Dive

[slideshare id=86287790&doc=activiticlouddeepdive-180117142105] #7- February 2018 - In Progress -

  • Process Runtime APIs (proposal and initial draft )
    • Process Engine Clean ups and refactoring
    • Cloud BPMN Throw/Catch Signals
  • Application Service (proposal and initial draft)
    • Definition
    • Lifecycle Management
  • Process Modelling Services next iteration
  • Research and initial integration
  • New Application Gateway research (support Eureka, Spring Cloud, WebSockets)
  • Kubernetes Service Registry and Service Brokers/Catalogs review

February will be all about APIs and a high level concept of an Application. The main purpose of these new services and APIs is to ensure that we have a coherent set of functionalities that can we can maintain consistent with future releases. The definition of what an application is going to define how our building blocks are configured to solve a set of business requirements. This definition will also define how this application will be maintained and upgraded in time. #8- March 2018

  • Security & SSO review (review Apache Shiro Wildcard Permissions)
  • Application Service (Add Case Management Constructs)
  • Deployment Service & Pipeline (Design and initial implementation)
  • JHipster Microservices Infrastructure Integration

Note: Activiti & Activiti Cloud Beta Release Prep Work

Milestone #9 - April 2018

  • BluePrint Trending Topics Campaigns User Interface and Dashboards
  • Polyglot MicroProcessRuntime PoC
  • JHipster Microservices Infrastructure Integration (based on Spring Boot 2) #10 - May 2018

  • Decision Service initial draft implementation
  • Forms integrations
  • Pipelines Support for deployments

Milestone #11 - May 2018

Note: Activiti & Activiti Cloud Final Release Prep Work

As always, if you want to participate on the development process of some of these components or examples get in touch. We are willing to collaborate with the open community and mentor people that want to learn about the project.

We look forward all community involvement, from comments, concerns, help with documentation, tests and component implementations. If you are looking into getting started with the Early Access Release we recommend to check our Getting Started Guide in Gitbook:[Getting Started · Activiti 7 & Activiti Cloud Developers Guide]

You can always find us in the Gitter channel: [Activiti/Activiti7 - Gitter]

Because we are a world wide community you can always find someone online to chat with, no matter your timezone

I’m happy to announce that Activiti & Activiti Cloud 7-201801-EA artifacts are out. We encourage our community members to try them out and provide feedback.

This release was focused on adding the third iteration for our Activiti Cloud Connectors, improving Tracing and Distributed Logging capabilities as well as expand on features to make sure that each of our service can scale in clustered environments. We keep iterating on our new services for process models and groups. Our GraphQL support in the Query module is now available for testing purposes, we look forward to your comments and feedback about these improvements and features.

We spend a fair amount of time deploying all our building blocks to an AWS environment to tune each block for best performance. This initiative is being executed in conjunction with the DBP platform team from Alfresco, and you can read more about our plans regarding this here DBP Platform Team and the Anaxes Shipyard Project.


As part of this release we aligned our artifacts with [Spring Boot 2.0.0.M7] and [Spring Cloud Finchley.M5]. It is important to note that Spring Boot 2.0.0.RC1is already out but Spring Cloud is still behind and not using it. As soon as they update we will update to use their latest released artifact.

The third iteration of Activiti Cloud Connectors was released as well, extending bidirectional channels and using dynamic bindings to use dedicated channels for each connector.  You can find more details about how to implement and interact with Activiti Cloud Connectors here.

Our Query module was augmented with GraphQL which currently provide a single endpoint for executing queries and a subscription mechanisms to provide push notifications to its clients. For more information about GraphQL take a look here. We are looking forward to add all these capabilities in our Blue Print example.

We are also putting a lot of effort in creating a BluePrint (Trending Topic Campaigns)example that demonstrate all our infrastructure in action, so we can iterate each block and their interactions. Our Blue Print Project can be found here:

We presented the initial draft of this BluePrint at Alfresco's DevCon and you can find the slides here:
- Activiti & Activiti Cloud Overview
- Activiti & Activiti Cloud Deep Dive

This BluePrint project can be deployed using Spring Boot, Docker Compose and Kubernetes deployment Descriptors and Helm Charts. We encourage our users to check this BluePrint project to understand more about new features and to help us to polish some rough edges. We are looking forward to have some nice Angular 4 UIs soon.

You can find our published artifacts in [Maven Central]
and our Docker Images have been tagged so you can use the 7-201801-EAtag for each of our images. You can find more details on
[Activiti in Docker Hub]

[We updated our Roadmap and included new Milestones]


Ping us in Gitter if you want to contribute, give feedack, or if you need help reporting an issue:

Last week we closed several issues that we wanted to include in our January release.  @ryandawsonukdid an amazing job at releasing and documenting the procedure for our monthly releases which we will follow from now on, making sure that each member of the team can release when necessary. @erdemedeiros manage to finish some major improvements on connectors and @ffazzini introduced our microservices acceptance tests which will help us to improve the overall quality of all our modules. You can check out the release notes HERE



@igdianov was looking into security/authentication for websockets and gateway support for websockets.


@daisuke-yoshimoto continued to the Investigation for #1687that signals are exchanged cross multiple Runtime Bundles(each database).Together he are also considering about Intermediate Throwing Message Event for #1691.


@constantin-ciobotaru tested the spring-cloud-kubernetes-config functionality in activiti services inside kubernetes in the context of spring-cloud Finchley.M5and spring-boot 2.0.0.M7


@mteodori adding the snyk badge to repos #1615


@lucianoprea did some improvement investigations about sleuth and logging #1688and start looking into add validation endpoint for Process Model Service #1720


@ffazzini finished the poc on acceptance tests ( Also tried out activiti cloud deployment spike on pivotal PKS


@balsarori closed some community issues around throw/catch signals which was merged to 5.x branch


@ryandawsonuk Enabled turning off of graphQL and notifications via a property and carried out the monthly release.


@erdemedeiros finished work to get connectors using dedicated channels (, and updated related documentation (; Created a reproducer for a trace id issue at Spring Cloud Sleuth (


@salaboy worked on the Application Service first draft a RFC blog post is coming right after the release post.


This week we will be planning the February milestone, so if you want to help us to shape the future of the project get in touch.


Ping us in Gitter if you want to contribute:

If you want to get started with Activiti Cloud visit our Gitbook: