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:
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:
The Process Workspace UI is available at http://(hostname):smileysad: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.
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.
In activiti-app.properties:
elastic-search.server.type=rest
elastic-search.rest-client.address=search-aps-demo-helmsrzlju2ambrcucaca2wkhy.us-east-1.es.amazonaws.com
elastic-search.rest-client.port=80
event.generation.enabled=true
event.processing.enabled=true
event.processing.cronExpression=0/5 * * * * ?
event.processing.expired.cronExpression=0 0/10 * * * ?
event.processing.max.locktime=15000
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:
Variables
http://search-aps-demo-helmsrzlju2ambrcucaca2wkhy.us-east 1.es.amazonaws.com/activiti_tenant_<tenant_id>/variables/_search?pretty
Activities
http://search-aps-demo-helmsrzlju2ambrcucaca2wkhy.us-east-1.es.amazonaws.com/activiti_tenant_<tenant_id>/process-instance-activities/_search?pretty
Completed tasks
http://search-aps-demo-helmsrzlju2ambrcucaca2wkhy.us-east-1.es.amazonaws.com/activiti_tenant_<tenant_id>/completed-tasks/_search?pretty
Process instances
http://search-aps-demo-helmsrzlju2ambrcucaca2wkhy.us-east-1.es.amazonaws.com/activiti_tenant_<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.
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.
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.
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.