Author: chris.laprun(a)jboss.com
Date: 2008-07-18 17:07:00 -0400 (Fri, 18 Jul 2008)
New Revision: 11505
Modified:
docs/branches/JBoss_Portal_Branch_2_6/referenceGuide/en/modules/workflow.xml
Log:
- JBPORTAL-1757: Updated workflow documentation.
Modified: docs/branches/JBoss_Portal_Branch_2_6/referenceGuide/en/modules/workflow.xml
===================================================================
---
docs/branches/JBoss_Portal_Branch_2_6/referenceGuide/en/modules/workflow.xml 2008-07-18
20:59:11 UTC (rev 11504)
+++
docs/branches/JBoss_Portal_Branch_2_6/referenceGuide/en/modules/workflow.xml 2008-07-18
21:07:00 UTC (rev 11505)
@@ -9,170 +9,120 @@
</chapterinfo>
<title>Portal Workflow</title>
<para>
- JBoss Portal packages a Workflow Service based on JBPM. This service provides you
with the JBPM services that your portal can use
- to build out the end-user/application workflows that should meet your portal's
requirements.
+ JBoss Portal packages a Workflow Service based on jBPM. This service provides you
with the jBPM services that your
+ portal can use to build out the end-user/application workflows that should meet
your portal's requirements.
</para>
<section>
- <title>JBPM Workflow Engine Integration</title>
+ <title>jBPM Workflow Engine Integration</title>
<para>
- The JBPM Workflow service is packaged as an mbean and takes care of all the
low-level JBPM related functions. The configuration is found in
- jboss-portal.sar/portal-cms.sar/portal-workflow.sar/META-INF/jboss-service.xml.
The mbean service configuration is as follows:
- <programlisting><![CDATA[<!-- Hibernate service -->
-<mbean
- code="org.jboss.portal.jems.hibernate.SessionFactoryBinder"
- name="portal:service=Hibernate,type=Workflow"
- xmbean-dd=""
- xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
-
<depends>jboss.jca:service=DataSourceBinding,name=@portal.datasource.name@</depends>
- <attribute name="DoChecking">true</attribute>
- <attribute
name="ConfigLocation">conf/hibernate/workflow/hibernate.cfg.xml</attribute>
- <attribute
name="JNDIName">java:/portal/workflow/WorkFlowSessionFactory</attribute>
-</mbean>
-
-<!-- Workflow service -->
-<mbean
- code="org.jboss.portal.workflow.service.WorkflowServiceImpl"
- name="portal:service=Workflow,type=WorkflowService"
- xmbean-dd=""
- xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
- <depends>portal:service=Hibernate,type=Workflow</depends>
- <attribute name="JbpmConfigurationXml">
- <jbpm-configuration>
- <jbpm-context>
- <service name="persistence"
-
factory="org.jbpm.persistence.db.DbPersistenceServiceFactory"/>
- </jbpm-context>
- <string name="resource.hibernate.cfg.xml"
- value="conf/hibernate/workflow/hibernate.cfg.xml"/>
- <string name="resource.business.calendar"
- value="org/jbpm/calendar/jbpm.business.calendar.properties"/>
- <string name="resource.default.modules"
- value="org/jbpm/graph/def/jbpm.default.modules.properties"/>
- <string name="resource.converter"
- value="org/jbpm/db/hibernate/jbpm.converter.properties"/>
- <string name="resource.action.types"
value="org/jbpm/graph/action/action.types.xml"/>
- <string name="resource.node.types"
value="org/jbpm/graph/node/node.types.xml"/>
- <string name="resource.varmapping"
value="org/jbpm/context/exe/jbpm.varmapping.xml"/>
- </jbpm-configuration>
- </attribute>
-</mbean>
- ]]>
- </programlisting>
+ The jBPM Workflow service is packaged as an mbean and takes care of all the
low-level jBPM related functions.
+ The configuration is found in
<filename>portal-workflow.sar/META-INF/jboss-service.xml</filename>.
</para>
</section>
<section>
- <title>CMS Publish/Approve Workflow Service</title>
- <para>
- The CMS Publish/Approval Workflow feature can be optionally turned on so that, every
file that is created or updated needs to go through an <emphasis
role="bold">Approval process</emphasis>
- before it can be published to go Live. The current implementation, creates a pending
queue for managers. The managers can then either approve or reject the publishing of the
document in question.
- </para>
- <sect1>
- <title>How activate this feature?</title>
- <para>
- In the following file, jboss-portal.sar/portal-cms.sar/META-INF/jboss-service.xml,
activate this feature on the org.jboss.portal.cms.impl.jcr.JCRCMS MBean
- <programlisting>
- <![CDATA[
+ <title>CMS Publish/Approve Workflow Service</title>
+ <para>
+ The CMS Publish/Approval Workflow feature is turned on by default, so that every
file that is created or
+ updated needs to go through an <emphasis role="bold">approval
process</emphasis> before it can be published to
+ go live. The current implementation creates a pending queue for managers. The
managers can then either approve
+ or reject the publishing of the document in question.
+ </para>
+ <sect1>
+ <title>How to deactivate this feature?</title>
+ <para>
+ The CMS Publish/Approval Workflow feature can be deactivated by commenting
out the
+ <literal>ApprovePublishWorkflow</literal> attribute of the
<literal>portal:service=CMS</literal> mbean in
+ <filename>portal-cms.sar/META-INF/jboss-service.xml</filename>:
+ <programlisting><![CDATA[
<mbean
- code="org.jboss.portal.cms.impl.jcr.JCRCMS"
- name="portal:service=CMS"
- xmbean-dd=""
- xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
- <!-- The datasource hibernate depends on,
- it can be commented when the file store is used -->
- <depends>jboss.jca:service=DataSourceBinding,name=PortalDS</depends>
- <depends>portal:service=JAASLoginModule</depends>
- <depends>portal:service=Hibernate,type=CMS</depends>
- <depends>portal:service=Module,type=IdentityServiceController</depends>
-
- <!-- Uncomment this to activate publish/approval workflow integration -->
- <depends optional-attribute-name="ApprovePublishWorkflow"
-
proxy-type="attribute">portal:service=ApprovePublish,type=Workflow</depends>
-
- <depends optional-attribute-name="StackFactory"
proxy-type="attribute">
- portal:service=InterceptorStackFactory,type=Cms
- </depends>
- <attribute name="DoChecking">true</attribute>
- <attribute name="DefaultContentLocation">
-
portal/cms/conf/default-content/default/</attribute>
- <attribute name="DefaultLocale">en</attribute>
- <attribute name="RepositoryName">PortalRepository</attribute>
- <attribute
name="HomeDir">${jboss.server.data.dir}${/}portal${/}cms${/}conf</attribute>
- <attribute name="Config">
- ]]>
- </programlisting>
- </para>
- </sect1>
- <sect1>
- <title>How to configure this feature?</title>
- <para>
- The configuration for this workflow service is found in the
jboss-portal.sar/portal-cms.sar/portal-workflow.sar/META-INF/jboss-service.xml
- file
- <programlisting>
+ code="@cms.service.code(a)"
+ name="portal:service=CMS"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+
+ ...
+
+ <!-- Comment this out to deactivate publish/approval workflow integration
-->
+ <depends optional-attribute-name="ApprovePublishWorkflow"
proxy-type="attribute">portal:service=ApprovePublish,type=Workflow</depends>
+
+ ...
+</mbean>]]></programlisting>
+ </para>
+ </sect1>
+ <sect1>
+ <title>How to configure this feature?</title>
+ <para>
+ The workflow service can be configured by editing the
<literal>portal:service=ApprovePublish,type=Workflow</literal>
+ mbean found in
<filename>portal-cms.sar/META-INF/jboss-service.xml</filename>.
+ <programlisting>
<![CDATA[
-<!-- ApprovePublish workflow service -->
-<mbean
- code="org.jboss.portal.workflow.cms.ApprovePublishImpl"
- name="portal:service=ApprovePublish,type=Workflow"
- xmbean-dd=""
- xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
- <depends optional-attribute-name="WorkflowService"
proxy-type="attribute">
- portal:service=Workflow,type=WorkflowService
- </depends>
- <depends optional-attribute-name="IdentityServiceController"
proxy-type="attribute">
- portal:service=Module,type=IdentityServiceController
- </depends>
- <!-- JBPM process definition -->
- <attribute name="Process">
- <!-- cms approval workflow -->
- <process-definition name="approval_workflow">
- <start-state>
- <transition to="request_approval"/>
- </start-state>
- <task-node name="request_approval" signal="first">
- <task name="approve_publish">
- <assignment
class="org.jboss.portal.cms.workflow.PublishAssignmentHandler"/>
- <event type="task-start">
- <action
class="org.jboss.portal.cms.workflow.FinalizePublish"/>
- </event>
- <exception-handler>
- <action
class="org.jboss.portal.workflow.cms.TaskExceptionHandler"/>
- </exception-handler>
- </task>
- <transition name="approval" to="end"/>
- <transition name="rejection" to="end"/>
- </task-node>
- <end-state name="end"/>
- </process-definition>
- </attribute>
- <!--
- overwrite = false creates the process first time if does not exist, for
- subsequent server restarts, this process definition remains in tact
-
- overwrite = true creates the process first time if does not exist,
- for subsequent server restarts, it creates a new version of the process definition
- which will be used for processes created from then onwards. Old processes created
- for an older version of the definition remain in tact and use their corresponding
- process definition.
-
- Typically use overwrite=false and overwrite=true only when a new process definition
- elated to this workflow needs to be deployed
+<!-- ApprovePublish workflow service -->
+ <mbean
+ code="org.jboss.portal.cms.workflow.ApprovePublishImpl"
+ name="portal:service=ApprovePublish,type=Workflow"
+ xmbean-dd=""
+ xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
+ <xmbean/>
+ <depends optional-attribute-name="WorkflowService"
proxy-type="attribute">
+ portal:service=Workflow,type=WorkflowService
+ </depends>
+ <depends optional-attribute-name="IdentityServiceController"
proxy-type="attribute">
+ portal:service=Module,type=IdentityServiceController
+ </depends>
+ <!-- JBPM process definition -->
+ <attribute name="Process">
+ <!-- cms approval workflow -->
+ <process-definition name="approval_workflow">
+ <start-state>
+ <transition to="request_approval"/>
+ </start-state>
+ <task-node name="request_approval" signal="first">
+ <task name="approve_publish">
+ <assignment
class="org.jboss.portal.cms.workflow.PublishAssignmentHandler"/>
+ <event type="task-start">
+ <action
class="org.jboss.portal.cms.workflow.FinalizePublish"/>
+ </event>
+ <exception-handler>
+ <action
class="org.jboss.portal.cms.workflow.TaskExceptionHandler"/>
+ </exception-handler>
+ </task>
+ <transition name="approval" to="end"/>
+ <transition name="rejection" to="end"/>
+ </task-node>
+ <end-state name="end"/>
+ </process-definition>
+ </attribute>
+ <!--
+ overwrite = false creates the process first time if does not exist, for
+ subsequent server restarts, this process definition remains in tact
+
+ overwrite = true creates the process first time if does not exist,
+ for subsequent server restarts, it creates a new version of the process
definition
+ which will be used for processes created from then onwards. Old processes
created
+ for an older version of the definition remain in tact and use their
corresponding
+ process definition.
+
+ Typically use overwrite=false and overwrite=true only when a new process
definition
+ related to this workflow needs to be deployed
-->
- <attribute name="Overwrite">false</attribute>
- <!--
-a comma separated list of portal roles that are designated
-to act as workflow managers. They are allowed to
-approve/reject content publish requests
- -->
- <attribute name="ManagerRoles">Admin</attribute>
- <attribute
name="JNDIName">java:portal/ApprovePublishWorkflow</attribute>
-</mbean>
- ]]>
- </programlisting>
- </para>
- </sect1>
+ <attribute name="Overwrite">false</attribute>
+ <!--
+ A comma separated list of portal roles that are designated
+ to act as workflow managers. They are allowed to
+ approve/reject content publish requests
+ -->
+ <attribute name="ManagerRoles">Admin</attribute>
+ <attribute
name="JNDIName">java:portal/ApprovePublishWorkflow</attribute>
+ </mbean>]]></programlisting>
+ </para>
+ <para>
+ Of note in this configuration are the <literal>Process</literal>
and <literal>ManagerRoles</literal>
+ attributes. The <literal>Process</literal> attribute is used to
provide the jBPM process definition to be
+ followed by the workflow service during the approval process. This follows
the standard jBPM syntax
+ for process definition. <literal>ManagerRoles</literal>, on the
other hand, is a comma-delimited list of
+ user roles that are being marked as "managers" who can approve the
publication of CMS documents.
+ </para>
+ </sect1>
</section>
</chapter>