We have recently done a production implementation of the shiny new “Alfresco Activiti Suite” at one of our customers and we think it’s time to share our experience with the product and its features.
What is Activiti?
For those who don’t know what Activiti is - it’s a light-weight and super-fast, open-source BPMN2 process engine for Java which has been around since 2009. Open source user guide is a good starting point if you would like to know more.
“Open source Activiti” vs “Alfresco Activiti Suite”
Activiti has always been a favourite choice among Java developers over the last few years. However I’m not sure whether it’s been a business user’s cup of tea until now! Just last year Alfresco came up with their enterprise offering called “Alfresco Activiti Suite” based on the open source Activiti BPM Engine. So what is the advantage of this product over the open source version?
It’s not just enterprise support which you are getting, the product suite comes with two main web applications.
- Activiti App - provides a web UI (written in HTML5 & AngularJS) to develop forms, processes and apps on top of the open source activiti-engine. With the new web UI for process and form modelling, business users can now start mocking up processes and forms easily.
- Activiti Admin - helps you manage activiti clusters as well as inspect and manage processes and tasks.
Let me give a quick introduction to the components of Activiti App. The webapp itself contains the following child apps which can be added/removed independently or can even be embedded into another application.
- Kickstart Editor - one of the key components of the app that allows you to design forms, processes and apps.
- Tasks - start and manage processes and tasks.
- Identity Management - manage users and groups.
- Analytics - provides analytics on processes and tasks.
Want to know more? Checkout the documentation
Our experience with the product.
When we started working on “Alfresco Activiti Suite” back in September 2014, the product was in its very early stages with only a handful of features and few configuration options. As a partner, we’ve been lucky to see the product making huge strides in the last year. Team Activiti has done a great job to incorporate a lot of features which our customers requested without sacrificing the “lightness” that the product is known for. I’m even more excited about Alfresco’s product direction after recently getting a peek at at the upcoming 1.3.0 release.
Let’s get on to product features
Let me start this series with the form editor features in Activiti App. If a task requires input from the user, you can design forms in a web UI and attach the form to the task. Designing forms for your processes via web UI without IT help is something a business user/business analyst would love to do! It’s really nice to see lightweight products like Activiti offering features which you used to see only in very heavyweight, proprietary & expensive products.
Let me put all the important form editor features in a tabular format
|Form Field Types||Configuration Options|
|Basic input types like text, string, multiline text, number, currency etc||Mandatory/Optional|
|Typeahead, dropdown and radio buttons which can be configured using REST APIs||Design column layout|
|Dynamic tables||Visibility conditions|
|Collapsible groups/headers||Add placeholder text|
|Tabs||Configure fields using data from REST APIs, process variables and form variables|
|File upload field||Attach files from Google Drive, Box, Alfresco accounts|
A Few Highlights
- The upcoming release added a new feature allowing you to add custom form elements!
- A runtime feature worth mentioning is “Save Form.” If you have complex task forms with lots of mandatory fields this “Save” feature allows you to save a form without completing mandatory fields and submit later.
I don’t want to clog up this blog post with a lot of screenshots. So attaching just a few configuration options to hightlight how easy it is to configure the forms by someone who is not very technical.
Mandatory and Visibility Settings
Dropdown/Typeahead and Upload Field Configuration
Form editor limitations
Some of the features we would love to see in the form editor are:
- Ability to specify conditional mandatory conditions on form fields
- Conditionally disable(read-only)/enable input fields
- Support for complex/nested json stuctures on dropdowns and typeahead fields
- Some common input types like email, dateTime, time etc
Like to do some hands-on?
You can get a trial version of the product from Alfresco website. If you don’t want to install it on your machine, you can try it on the Alfresco Activiti Cloud. Alfresco’s documentation page is a good place to get an understanding of all the components and architecture of Alfresco Activiti Suite.
Some good news..
During the Activiti Community Day in Paris, Activiti 6 was launched. As I can see from Joram Barrez’s blog on Activiti 6, most of these web UI features will soon be open source with the release of Activiti 6!!
Stay tuned for more posts on process modelling, analytics & some of the interesting problems we had in the project…