1 paragraph overview:
Alfresco uses jBoss' business process module(jBPM). jBPM uses jBPL (business process 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".
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/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.