The workflows will incorporate workspace, user, group and content management functions. A set of short ('atomic') workflows with simple functionality will be created first, then these will be used to create examples with wider scope.
This page provides a list of the atomic workflows with links to more information on each.
As a shorthand, workflows will sometimes be referred to in truncated form, amset1 for amset1authentication, for example.
Initial workflows are investigations of basic content, user and group functionality and are synchronous. Later examples will introduce asynchronous workflow and the concept of BPEL correlation.
Workflow List#
Code snippet Forums 1. The Alfresco forums data model.
<?xml version="1.0" encoding="UTF-8"?> <model name="fm:forummodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"> <description>Forum Model</description> <author></author> <version>1.0</version> <!-- Imports are required to allow references to definitions in other models --> <imports> <!-- Import Alfresco Dictionary Definitions --> <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/> <!-- Import Alfresco Content Domain Model Definitions --> <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/> </imports> <namespaces> <namespace uri="http://www.alfresco.org/model/forum/1.0" prefix="fm"/> </namespaces> <types> <type name="fm:forums"> <parent>cm:folder</parent> </type> <type name="fm:forum"> <parent>cm:folder</parent> </type> <type name="fm:topic"> <parent>cm:folder</parent> </type> <type name="fm:post"> <parent>cm:content</parent> </type> </types> <aspects> <aspect name="fm:discussable"> <associations> <child-association name="fm:discussion"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target> <class>fm:forum</class> <mandatory enforced="true">true</mandatory> <many>false</many> </target> <duplicate>false</duplicate> </child-association> </associations> </aspect> </aspects> </model>
The key point here is that there are 4 datatypes in total: forums, forum, topic & post.
forums is a child of the folder datatype: it is a folder that holds discussion forums (although it is not mandatory to place a forum in a forums folder).
These types are all nodes so the RepositoryService.update() operation has the power over them.
There are several forum possibilities that might prove useful for teaching and learning workflows. Alerts can be programmed to trigger when posts are made to the forum. These alerts could take the form of an email, or of posting a message on someone's folder.
Also, whole discussions can be harvested as XML by a getContent() Web service. It is then a straightforward matter in the BPEL process to transform the XML using XSLT to a convenient format before distribution to interested parties. HTML, OpenOffice or PDF documents might be produced. XSLT could also be used to anonymise discussions.
Basic forum workflows are labelled amsetf1workflow, amsetf2workflow ...