Workflows are integral part of Enterprise content management system. Alfresco supports two different workflow engines called JBPM and Activiti to meet up their Business Process Engine requirement which could allow accommodation of business processes which are related to contents stored in Alfresco. This is very essential because it helps in keeping everything centralizes within on system.
Both these engines are open- source with little difference among both of them.
jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.
Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It’s open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
Out of box when you install alfresco Activiti engine is enabled so all workflows which you see on user interface are Activiti workflows. At a time any one of the Business process engine you can use with alfresco. For out of box workflows there are two different version of each workflow are already present. Depending on the currently enabled workflow engine respective version of workflow will be loaded in alfresco.
So, if you are creating JBPM based custom advance workflow then you first need to enable JBPM engine then only you will be able to view it on the frontend.
If you want to enable JBPM you need to follow these steps.
Check set of workflow definition files which are being loaded and visible from front end.
Stop alfresco server.
Add following entry in alfresco-global.properties file
# Determines if JBPM workflow definitions are shown. # Default is false. This controls the visibility of JBPM # workflow definitions from the getDefinitions and # getAllDefinitions WorkflowService API but still allows any in-flight JBPM workflows to be completed. system.workflow.engine.jbpm.definitions.visible=false # determines if Activiti definitions are visible system.workflow.engine.activiti.definitions.visible=true # determines if the JBPM engine is enabled system.workflow.engine.jbpm.enabled=true # determines if the Activiti engine is enabled system.workflow.engine.activiti.enabled=true
Start alfresco server.
Check set of workflow definition files which are being visible from front end.