1 paragraph overview:
Alfresco uses jBoss' business process module(jBPM). jBPM uses jPDL (process definition language) to define a workflow in XML. A workflow is like a state diagram. Tasks may be in states like "awaiting approval" or "published". Tasks transition from state to state when someone in a role ("swimlane" -- what a name) takes an action, like clicking an approve button. jBPL provides ways to hook up code with transitions and states, e.g. "send an email notification when this is approved". Here's a picture of a sales workflow example .
GUI tool
If you don't care to write process definition xml by hand, jBoss has a process design GUI available as an Eclipse plugin. Here's a demo videoof using the GUI tool.
Tutorial: Getting started: how to make your first process definition. , all the way through testing.. Downloads for tutorial: http://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloads http://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadshttp://www.jboss.com/products/jbpm/downloadsjBPM downloads, jBPM starter kit is supposed to have everything needed for the tutorial. Installation instructions have drifted from products e.g.[ a jboss blog:|http://blogs.jboss.com/blog/kaers/] :
AF also supplies a Getting Started bundle. Use this one instead; the readme.txt gives steps to point Eclipse to the jBPM runtime .
Links:
Alfresco: overview page on the Wiki; has pointers to useful looking guides, including Advanced Workflows - rolling your own workflow
.
jBPM jump page : docs, downloads, fora, etc.
jBoss JBPM documentation . The jBPM User Guide picks up where the quick start tutorial leaves off.
AF ships with a Workflow Console:
'The Workflow Console is an administrator/developer tool for interacting with workflows. Its primary use is to test newly developed workflow definitions. However, it also supports the debugging/diagnosis of current "in-flight" workflows.
Test lifecycles are shortened as the tool allows a workflow definition to be deployed and redeployed without ever needing to the restart the Alfresco server. Once deployed, a workflow may be started and interacted with step-by-step. At each step, the state of the workflow may be interrogated or updated.'
Deployment
Process definitions may be deployed with the eclipse plugin. The server deployer is /alfresco/jbpm/deployprocess . Note that this is different from the default location that Eclipse suggests ( something like "/jbpm/deploy" ) . Note also that the process file must be called processdefinition.xml ; if it's called something else, there will be a deployment error and a log message that it couldn't find processdefinition.xml .