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

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.

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

On behalf of the team, I am pleased to announce that Alfresco Process Services 1.9 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:

New modern authentication option

Challenges

Authentication plays an important role in improving user experiences and adhering to your organization’s security standards. Alfresco Process Services (APS) and other parts of Alfresco’s platform, including Alfresco’s Application Development Framework (ADF) and Alfresco Content Services (ACS), have extension points for customizing such authentication needs. Yet, until now, these authentication experiences were unique amongst platform components—including the authentication extensibility model, implementation, and supported authentication standards.

 

Alfresco now introduces the new Alfresco Identity Service Architecture, an optional solution for customers requiring more advanced authentication services. This architecture features:

  1. Modern and unified open standards for authentication amongst APS, ADF, and ACS via OpenID Connect authentication.
  2. Alfresco Identity Service for brokering authentication to your Identity Provider (IdP) and authentication protocols such as SAML or OAuth2.

 

Conceptually, this new architecture looks like the following:

 

Practically, this functionality is available on a limited availability basis for APS 1.9 (and other compatible Alfresco releases) as the Alfresco Identity Service is not Generally available at the time of this writing. Customers motivated to the benefits of this new architecture can leverage the technology Keycloak, an open source project freely available under an Apache 2 license, as a stand-in until the Alfresco Identity Service is available as illustrated below:

 

 

Note, Alfresco or Partner assistance for configuring Keycloak in your environment is available as a separate service contract. This is only needed until the Alfresco Identity Service is generally available. Customers using existing APS authentication mechanism can continue doing so without change.

Benefits

This new option:

  1. Simplifies interactions with your identity provider (IdP) by centralizing configuration across Alfresco components including integration across solutions using ADF, APS, and ACS. This includes all ADF-based applications such as the Content App and Process Workspace.
  2. Allows you to leverage a wide array of authentication protocols including SAML, OAuth 2.0, OpenID Connect, and Kerberos as well as user federation with common user databases such as LDAP and Active Directory.
  3. Customers can now configure oAuth2 and leverage the Activiti-Admin console with this new solution by setting up a subset of local users in keycloak for basic authentication. (Previously, the Activiti-Admin could only be used if Activit-App was configured for Basic Authentication, not using OAuth2 or Kerberos. This new architecture removes this restriction whilst adding more authentication protocols.)  

Configuration

A basic example to get going is to ensure the configuration file activiti-identity-service.properties in your classpath, usually in .../tomcat/webapps/activiti-app/WEB-INF/classes/META-INF/.

 

Step 1

Make sure the “keycloak.enabled” stanza is true.

Step 2

Then match name in the properties file with your realm name.

Step 3

Similarly, your properties file resource matches your client.

Step 4

And, the valid URL needs to match the your Activiti-App host name.

Step 5

Lastly, ensure that your users exist in Keycloak (for authentication) and in APS (for authorization). Important: the email must match.

 

Once you restart Alfresco Process Services, the configuration will now redirect your authentication to the Alfresco Identity Service Architecture as in steps A, B, and C below:

While this is a simple example, additional configuration can be done for the following use cases:

  1. Configure the Alfresco Process Workspace to use the Alfresco identity Service Architecture. This can also be done for your own ADF application. This is the preferred interface for end-user applications.
  2. Allow the Alfresco Identity Service Architecture to authenticate with your own IdP for SAML or OAuth2
  3. Automatically sync users to the Alfresco Identity Service / Keycloak
    (note: this is needed for authentication and the traditional user sync of APS is still required for authorization)
  4. Configure the APS Admin Console (activiti-admin) to operate when the activiti-app is configured for a non-basic auth protocol (a feature not available prior to the Alfresco Identity Service Architecture)

 

Check Ciju Joseph recent blog post about implementing a strong two-factor hardware-based authentication. He used a smart card that supports Personal Identity Verification (PIV) authentication (FIPS 201, a US government standard). 

 

 

Process Workspace released independently

The Process Workspace is a new ADF-based user interface for end users to view, act and collaborate on tasks and processes. From Alfresco Process Services 1.9, Process Workspace is no longer shipped with APS but packaged as a separate distribution, giving customers the flexibility to update their environment each time there is a new release. The release cadence will follow ADF releases to keep pace and sync with its innovation cycle. Process Workspace 1.2.0 (based on ADF 2.4.0) was released July 2nd. It includes:

  • ADF 2.4 Upgrade
  • configurable landing page
  • UX Improvements
  • source code and .war file
  • bug fixes

 

Please check the following documentation for installation instructions: Installing Alfresco Process Services Workspace | Alfresco Documentation.

 

Dist folder (distribution) in Process Workspace package (.zip)

Advanced documentation generation

It is now possible to use advanced constructs to generate richer documents including information from multiple data sources such as external databases, REST endpoints, JSON objects, etc. The graphical user interface for the generate document task now includes 2 new properties:

  • additional data source names, a comma-separated list of data sources the document will use as the source of the expressions.
  • and additional data source expressions, a comma-separated list of expressions to be included in the document.

 

This makes it possible to collect data from multiple data sources including external sources that will enrich the generated documents. As an example, here is how to collect data from process variables and two custom services. The example is a simple booking app (Github repo link) which allows a user to specify a city to visit and at the end generates a document confirming the booking. The document should contain information about the booking and some extra information such as the weather and recommended places to visit.

 

Weather and recommendations information are retrieved from custom services WeatherService and RecommendationService.

 

 

Multiple data sources can be specified in the additional data source expressions

Additional data source names (weather and recommendations) can then be used to in the document template to display information.

The final generated document will look as follows.

New iOS mobile app version

A new version 1.1 of the Alfresco Process Service iOS app is available on the App Store. It adds offline capabilities and compatibility with iPhone X. Here are the detailed highlights for this update:

  • Access your task lists, downloaded files, and forms without network connectivity
  • Fill out task form and save progress for later even when you are offline
  • iPhone X compatibility
  • Date & time form field support
  • Attachment thumbnail
  • Additional enhancements and fixes

The updated app requires iOS 10 or higher and connects to Alfresco Process Services 1.7 or higher.

 

Sub-groups in task assignments

In Alfresco Process Services 1.9, if you select a candidate group or if you add a group of involved people for a user task it now includes all the users part of any sub-groups existing under the selected parent group. As an example, if you have the following group hierarchy:

  • TopGroup (user1)
    • SubGroupA (user2)
      • SubGroupA1 (user3)

 

If you select the group TopGroup as candidate group for the user task A, all 3 users (user1, user2 and user3) will see the task A in their task queue. The same behavior applies for involved groups on user tasks.

 

Next steps

If you are interested in trying out this new Process Services version, register for a free enterprise trial here. Check out the Alfresco documentation for detailed product instructions. 

rallegre

New Activiti.org website!

Posted by rallegre Employee May 22, 2018

We are happy to announce the new website (www.activiti.org) for Activiti is now live.

 

This new version has an updated look and feel that reflects our new cloud native approach to Business Automation. It is now hosted on GitHub so we can iteratively improve it following an open community approach! The source code is available at https://github.com/Activiti/activiti.github.ioYou can send your PRs with suggestions and changes.

 

We want this new website to be the one place for all community members to learn about Activiti, get the latest news, share highlights and award top contributors.

 

This is just the first step, and very soon there will be more pages. Stay tuned!


We value your feedback, please share it with us on Gitter.

In this short post, I’ll outline the steps to launch Alfresco Process Services (APS) version 1.8.1 using the updated Amazon Machine Image (AMI) available on the AWS Marketplace.

 

 

Step 0: Register for a 30-day trial license

If you don't have a license to run Process Services, you can get a 30-day trial license by visiting https://www.alfresco.com/platform/process-services-bpm/trial/aws.

 

Step 1: Select the AMI from AWS Marketplace

From the AWS EC2 console in your preferred region, launch a new instance based on the AMI shared on the AWS Marketplace.

 

 

Step 2: Choose an instance type

By default, we recommend using m4.large instance type. Nevertheless, you can use a smaller instance such as t2.medium. 

Step 3: Review and launch

Apart from the instance type, you can simply leave the default settings and click the Preview and Launch button. After clicking the Launch button, the EC2 instance will be in the ‘initializing’ state for no longer than 2 to 3 minutes, before Alfresco Process Services will be accessible, denoted by the EC2 instance changing to the ‘running’ state.

 

To secure and control inbound traffic to your instance, you need to edit the existing inbound rules. To limit the HTTP inbound traffic to your IP for example, add the following custom rule:

  • Type: custom TCP
  • Protocol: TCP
  • Port Range: 8080
  • Source: My IP

Step 4: Logging in to Alfresco Process Services

 

Once the instance state is ‘running’ and all status checks passed, open a browser page using the URL: http://{public_dns_here}:8080/activiti-app.

Login page 

On the login page, use the credentials:

 

If you need a valid product license, it takes less than 2 minutes to get a 30-day trial license by filling out the form at https://www.alfresco.com/platform/process-services-bpm/trial/aws

Step 5: Try out the new Process Workspace

The Process Workspace is a new out-of-the-box user interface for end users to view, act and collaborate on tasks and processes. Read the APS 1.8 blog post for more details. The Process Workspace UI is available at http://{public_dns_here}:8080/activiti-app/workspace/.

 

Step 6: Logging in to APS Admin console (optional)

Open a browser page using the URL: http://{public_dns_here}:8080/activiti-admin. On the login page, use the default credentials: admin/admin.

 

Once logged in to the Admin console,  it is always recommended to update the existing password to something much more secure such as a combination of four words. Check out this post for details about securing passwords.

 

Open the Configuration menu to connect the Admin Console to your APS running application. Edit the REST endpoint settings and apply the corresponding values as shown here below.

 

Save and click on Check REST endpoint. You get a confirmation message with the endpoint status and Engine version.

Bravo! You have successfully launched APS using the AMI published by Alfresco.

Step 7: Start building your first process apps 

You now have a running Alfresco Process Services environment that you can use to explore the Hello World getting started tutorial and try out some of our more advanced community examples.

Alfresco is happy to announce the availability of the second in our series: the AWS Quick Starts for Alfresco Process Services. This comes hot on the heels of a successful initial release of the AWS Quick Start for Alfresco Content Services. This new AWS Quick Start automatically deploys an Alfresco Process Services cluster on the AWS Cloud in about 25 minutes, making Alfresco the first ECM and BPM provider help accelerate your move to the cloud with the use of AWS Quick Starts.

 

AWS Quick Start reference architecture diagram for Alfresco Process Services.

Why should I use this Quick Start?

Quick Starts are automated reference deployments that use AWS CloudFormation templates to deploy key technologies on AWS, following AWS best practices.

The AWS Quick Start reference deployment for Alfresco Process Services was created by AWS in partnership with Alfresco, to integrate services from both companies. It is designed with your security and availability needs in mind. Here are some ways you can benefit from the AWS Quick Start for Alfresco Process Services:

  • To deploy a highly-available and scalable Alfresco Process Services environment on the AWS Cloud with the least amount of effort and time (≅25 min using m4.large EC2 type)
  • As a reference architecture for your Process Services implementations and proofs-of-concept (POC)
  • As AWS and Alfresco technical guidance on best practices for your IT teams
  • To speed up your deployments of Alfresco Process Services on the AWS Cloud. The Quick Starts are modular and customizable. You can choose to build from the ground up, or you can deploy the workload into an existing virtual private cloud (VPC)

 

Many organizations have successfully started their journey to the cloud using the AWS Quick Start for Alfresco Content Services. 

What is included in this Quick Start?

The AWS Quick Start for Alfresco Process Services includes:

  • A reference architecture of Alfresco Process Services on the AWS Cloud addressing the foundational scalability, high availability, and security requirements for production deployments.
  • A deployment guide which provides IT infrastructure decision-makers and system administrators with technical guidance on how to configure, deploy and run an Alfresco Process Services server cluster on the AWS Cloud.
  • The Alfresco Process Services CloudFormation template builds an Auto Scaling group with at least two process services instances. Each Process Services instance is based on the Amazon Machine Image (AMI) available on the AWS Marketplace. This Auto Scaling group connects to an Amazon Relational Database Service (Amazon RDS) DB instance. The Alfresco Process Services template uses the resources created in the AWS CloudFormation master template—private and public subnets, virtual private clouds, and security groups—for privacy and protection.

Why Alfresco Process Services and AWS?

Alfresco Process Services is used by organizations to automate and orchestrate a wide set of business activities and services that deliver value to people.

Because Alfresco Process Services takes advantage of the powerful native AWS services like AWS Relational Database Service (RDS) and Amazon Simple Storage Service (S3), to offer you a highly scalable solution with a modern architecture that naturally fits into the AWS ecosystem to drive your business automation workloads.

With Alfresco Process Services on AWS, you can also accomplish many things such as:

  • starting a customer service process over voice using Amazon Echo and AWS Lambda (link to blog post),
  • performing the business logic of your IoT devices using AWS IoT and AWS Lambda (link to presentation),
  • building advanced analytics using AWS Elasticsearch and Kibana (link to blog post),
  • Integrating with Amazon Simple Queue Service (SQS) to start new processes when new messages arrive in the queue (link to blog post),
  • leveraging AWS DynamoDB, the NoSQL database, to manage your business data outside of the process (link to blog post),
  • and many others.

Let’s get started!

To get started:

  1. Check out the reference architecture and details
  2. Read the deployment guide for step-by-step instructions
  3. Download the AWS CloudFormation templates that automate the deployment
  4. Launch the AWS Quick Start for Alfresco Process Services

 

Optional: if you don’t have a license to run Alfresco Process Services on AWS, you can request a 30-day trial license hereFor additional assistance, you can watch our step-by-step walkthrough. Enjoy, and feel free to share your feedback with us!

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.

 

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.

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.

rallegre

DMN Decision Tables 101

Posted by rallegre Employee Aug 23, 2017

What is DMN?

Decision Model and Notation (DMN) is an industry standard managed by the Object Management Group (OMG) for modeling and executing decisions that are determined by business rules.

What is the role of DMN?

Based on the DMN specification, “the primary goal of DMN is to provide a common notation that is readily understandable by all business users, from the business analysts needing to create initial decision requirements and then more detailed decision models, to the technical developers responsible for automating the decisions in processes, and finally, to the business people who will manage and monitor those decisions. DMN creates a standardized bridge for the gap between the business decision design and decision implementation. DMN notation is designed to be usable alongside the standard BPMN business process notation. Another goal is to ensure that decision models are interchangeable across organizations via an XML representation.”

What is a DMN decision table?

A DMN decision table is a tabular representation of the decision logic. You can think of a decision table as a spreadsheet that allows you to define a row for each business rule.

Decision tables in Alfresco Process Services & Activiti 6

Here is a simple DMN decision table to determine the price of a single public transportation ticket (right column) depending on the type of passenger (left column).

 

DMN decision table in APS

The left column in light blue refers to possible input data. In this example, there is only one input column (Type of passenger) but you can have as many columns as different type of inputs you have (i.e. type of passenger, area, time of the day…). The cells under the input column header (called input entries) refer to the possible conditions regarding the input.  MVEL is the expression language we support for conditions. For each possible input entry, we define corresponding output entry in the output column cell next to it. The right column in light green refers to possible output data. Each row defines a possible input value and the corresponding output value. In the example here, if the passenger is a child under age 4 then the transportation ticket is free.

XML view

If you download the simple decision table presented here as a DMN file, the decision table is represented by a decisionTable element inside a decision XML element.

<definitions xmlns="http://www.omg.org/spec/DMN/20151130" id="definition_1017" name="Price calculator" namespace="http://www.activiti.org/dmn">
  <decision id="Pricecalculator" name="Price calculator">
    <description>Rules to calculate price</description>
    <decisionTable id="decisionTable_1017" hitPolicy="FIRST">
    <!-- ... -->
    </decisionTable>
  </decision>
</definitions>

Hit policy

In DMN, the hit policy specifies how many rules can be satisfied and what the results of the evaluation of a decision table consist of. The hit policy is set in the hitPolicy attribute on the decisionTable XML element. In the top left corner of the Decision Table Editor, you can select from 2 hit policies: first (single pass) and any (single pass). Both hit policies will always return a maximum of one satisfied rule although multiple rules can be satisfied. When first (single pass) is selected, the execution of the table will stop and return the output of the first satisfied rule. When any (single pass) is selected, all valid rules are executed. However, all satisfied rules must generate the same output. The execution returns only the output of one of the satisfied rules.

Let’s play with a sample app

To help you get started with DMN decision tables, we designed a sample app using Alfresco Process Services (powered by Activiti). We also built the same example using Activiti 6. The use case is an employee annual bonus with the decision logic to evaluate the bonus being defined in a decision task referencing a DMN decision table.

Import & publish the app

Import the Annual bonus.zip app into Alfresco Process Services from the menu App Designer > Apps > Import App. If you are using Activiti 6, please import this app. When done importing, publish and deploy the app on the dashboard.

Run the sample app

Click on the Annual bonus app and start the process.

 

 

In this form used to start the process and thus referenced on the start event, the user is submitting his yearly achievements details. The submitted information is going to be used as input data entries for the decision task calculate annual bonus. Once the process has been started, the user can check the results of the executed DMN decision table by selecting the executed decision tables.

 

 

The decision table displayed is showing the execution path highlighted in light blue. Based on the input values submitted by the user, the first row is the one that satisfied all the conditions displayed in each cell of the 3 input columns. Since the hit policy is set to First, it was the only row executed to return the result.

 

 

The user can also see the name and values of the input entries and output result.

 

 

Let’s now submit an empty form and check the resulting execution and bonus result.

This time the conditions that didn’t match are highlighted in red.

Because we didn’t check the box for the completed obligations, the first 4 rows were not executed since the condition of the first column was never satisfied. The fifth row was executed since an empty expression was considered as a matching condition.

 

Sign in to the admin console

From the administration console (activiti-admin.war), administrators have access to the process instance details including the variables and the executed decision tables via the action Show Decision Audit.

For debugging purposes for example, administrators can modify the values of the variables on a running instance. To keep the instance running on our example, we added a timer after the decision table with a 5min duration period.

Summary

DMN decision tables provide a natural and visual way to specify decision logic. This simple example is showing you how to use them within a process app for automated-decision making. Typical use cases include calculating discounts, credit ratings, who to assign tasks to, what service level (SLA) to use, and so on.

 

Here are other resources that you might find useful:

 

Hope you found this example useful. Feel free to share your comments!

On behalf of the team, I am pleased to announce that Alfresco Process Services 1.6.4 has been released and is available now. This release contains some important bug fixes. Here are the notable highlights:

 

Security

    • Possibility to encrypt sensitive properties (e.g. db user password, ldap user password, etc.) used in Alfresco Process Services properties files (activiti-app.properties, activiti-admin.properties, activiti-ldap.properties). Please check the documentation.
    • Whitelisting is enhanced to cover class whitelisting in JavaScript. Please check the documentation.
    • Improved SQL Injection protection.

 

For complete list of improvements in 1.6.x, please check the what’s new page in Alfresco Process Services documentation.

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

  • Kerberos SSO support

Organizations using Kerberos AD infrastructure can now quickly set up windows-based SSO to allow secure and seamless access to the Alfresco Process Services application without explicit login. Kerberos configuration settings need to be defined in activiti-ldap.properties. Please check the dedicated documentation page.

  • Whitelisting

As from version 1.6.3, it is no longer required to whitelist specific beans and classes in order to use the Alfresco, Box and Google Drive out-of-the-box publish tasks. They now work by default. Please check the dedicated documentation page.

  • Supported platform

Red Hat Enterprise Linux version 7.3 now supported.

  • Getting started with Alfresco Process Services

Unfamiliar with Digital Process Automation and Business Process Management (BPM)? Try out our getting started tutorial and build your first app in 3 steps.

 

Getting started with Alfresco Process Services


For complete list of improvements, please check the what’s new page in Alfresco Process Services documentation.