Parallel group workflow :
1) customworkflow-context.xml
2) parallel-messages-updated.properties
- customworkflow-context.xml
- parallel-messages-updated.properties
- parallelreview_processdefinition_updated.xml
- parallel-workflowModel_updated.xml
- web-client-config-custom.xml
1) customworkflow-context.xml
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'> <beans> <!-- Load message bundle for custom group based workflow --> <bean id="customWorkflows.resourceBundles" class="org.alfresco.i18n.ResourceBundleBootstrapComponent"> <property name="resourceBundles"> <list> <value>alfresco.extension.workflow.serialar-messages</value> <value>alfresco.extension.workflow.parallel-messages-updated</value> </list> </property> </bean> <!-- Load custom group based workflow --> <bean id="customWorkflows.workflowBootstrap" parent="workflowDeployer"> <property name="workflowDefinitions"> <list> <props> <prop key="engineId">jbpm</prop> <prop key="location">alfresco/extension/workflow/serialar_processdefinition.xml</prop> <prop key="mimetype">text/xml</prop> <prop key="redeploy">true</prop> </props> <props> <prop key="engineId">jbpm</prop> <prop key="location">alfresco/extension/workflow/parallelreview_processdefinition_updated.xml</prop> <prop key="mimetype">text/xml</prop> <prop key="redeploy">true</prop> </props> </list> </property> <property name="models"> <list> <value>alfresco/extension/workflow/serialar-content-model.xml</value> <value>alfresco/extension/workflow/parallel-workflowModel_updated.xml</value> </list> </property> </bean> </beans>====================================
2) parallel-messages-updated.properties
# Display labels for out-of-the-box Content-oriented Workflows # # Review & Approve Workflow # pwf_review.workflow.title=Review & Approve pwf_review.workflow.description=Review & approval of content # Review & Approve Task Definitions pwf_workflowmodel.type.pwf_submitReviewTask.title=Start Review pwf_workflowmodel.type.pwf_submitReviewTask.description=Submit documents for review & approval pwf_workflowmodel.type.pwf_reviewTask.title=Review Task pwf_workflowmodel.type.pwf_reviewTask.description=Review Documents to Approve or Reject them pwf_workflowmodel.type.pwf_rejectedTask.title=Rejected pwf_workflowmodel.type.pwf_rejectedTask.description=Rejected pwf_workflowmodel.type.pwf_approvedTask.title=Approved pwf_workflowmodel.type.pwf_approvedTask.description=Approved # Review & Approve Process Definitions pwf_review.node.start.title=Start pwf_review.node.start.description=Start pwf_review.node.review.transition.reject.title=Reject pwf_review.node.review.transition.reject.description=Reject pwf_review.node.review.transition.approve.title=Approve pwf_review.node.review.transition.approve.description=Approve pwf_review.node.rejected.title=Rejected pwf_review.node.rejected.description=Rejected pwf_review.task.pwf_rejectedTask.title=Rejected pwf_review.task.pwf_rejectedTask.description=Rejected pwf_review.node.approved.title=Approved pwf_review.node.approved.description=Approved pwf_review.task.pwf_approvedTask.title=Approved pwf_review.task.pwf_approvedTask.description=Approved pwf_review.node.end.title=End pwf_review.node.end.description=End # # Parallel Review Workflow # pwf_parallelreview.workflow.title=Rasel Parallel Workflow pwf_parallelreview.workflow.description=Rasel Parallel Review & approval of content # Parallel Review & Approve Task Definitions pwf_workflowmodel.type.pwf_submitParallelReviewTask.title=Start Parallel Review pwf_workflowmodel.type.pwf_submitParallelReviewTask.description=Submit documents for review & approval to a list of people pwf_workflowmodel.property.pwf_requiredApprovePercent.title=Required approval percentage pwf_workflowmodel.property.pwf_requiredApprovePercent.description=Percentage of reviewers who must approve for approval pwf_workflowmodel.type.pwf_rejectedParallelTask.title=Rejected pwf_workflowmodel.type.pwf_rejectedParallelTask.description=Rejected pwf_workflowmodel.type.pwf_approvedParallelTask.title=Approved pwf_workflowmodel.type.pwf_approvedParallelTask.description=Approved pwf_workflowmodel.property.pwf_reviewerCount.title=Number of reviewers pwf_workflowmodel.property.pwf_reviewerCount.description=Number of reviewers pwf_workflowmodel.property.pwf_requiredPercent.title=Required approval percentage pwf_workflowmodel.property.pwf_requiredPercent.description=Required approval percentage pwf_workflowmodel.property.pwf_approveCount.title=Reviewers who approved pwf_workflowmodel.property.pwf_approveCount.description=Reviewers who approved pwf_workflowmodel.property.pwf_actualPercent.title=Actual approval percentage pwf_workflowmodel.property.pwf_actualPercentdescription=Actual approval percentage # Group Review & Approve Process Definitions pwf_parallelreview.node.review.transition.reject.title=Reject pwf_parallelreview.node.review.transition.reject.description=Reject pwf_parallelreview.node.review.transition.approve.title=Approve pwf_parallelreview.node.review.transition.approve.description=Approve # # Pooled Review Workflow # pwf_reviewpooled.workflow.title=Pooled Review & Approve pwf_reviewpooled.workflow.description=Pooled review & approval of content pwf_workflowmodel.type.pwf_submitGroupReviewTask.title=Start Group Review pwf_workflowmodel.type.pwf_submitGroupReviewTask.description=Submit documents for review & approval to a group of people pwf_reviewpooled.node.review.transition.reject.title=Reject pwf_reviewpooled.node.review.transition.reject.description=Reject pwf_reviewpooled.node.review.transition.approve.title=Approve pwf_reviewpooled.node.review.transition.approve.description=Approve # # Parallel Group Review Workflow # pwf_parallelgroupreview.workflow.title=Group Review & Approve pwf_parallelgroupreview.workflow.description=Group review & approval of content pwf_parallelgroupreview.node.review.transition.reject.title=Reject pwf_parallelgroupreview.node.review.transition.reject.description=Reject pwf_parallelgroupreview.node.review.transition.approve.title=Approve pwf_parallelgroupreview.node.review.transition.approve.description=Approve # # Adhoc Task Workflow # pwf_adhoc.workflow.title=Adhoc Task pwf_adhoc.workflow.description=Assign task to colleague # Adhoc Task Definitions pwf_workflowmodel.type.pwf_submitAdhocTask.title=Start Adhoc Task pwf_workflowmodel.type.pwf_submitAdhocTask.description=Allocate task to colleague pwf_workflowmodel.property.pwf_notifyMe.title=Notify Me pwf_workflowmodel.property.pwf_notifyMe.description=Notify me when task is complete pwf_workflowmodel.type.pwf_adhocTask.title=Adhoc Task pwf_workflowmodel.type.pwf_adhocTask.description=Adhoc Task allocated by colleague pwf_workflowmodel.type.pwf_completedAdhocTask.title=Adhoc Task Completed pwf_workflowmodel.type.pwf_completedAdhocTask.description=Adhoc Task Completed====================================
3) parallelreview_processdefinition_updated.xml
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="pwf:parallelreview"> <swimlane name="initiator"></swimlane> <start-state name="start"> <task name="pwf:submitParallelReviewTask" swimlane="initiator" /> <transition name="startTask" to="startreview"> </transition> </start-state> <node name="startreview"> <action class="org.alfresco.repo.workflow.jbpm.ForEachFork"> <foreach>#{bpm_assignees}</foreach> <var>reviewer</var> </action> <event type="node-enter"> <script> <variable name="pwf_rejectFlag" access="read,write" /> <expression> pwf_rejectFlag=false; </expression> </script> </event> <transition name="review" to="review" /> </node> <task-node name="review"> <task name="pwf:reviewTask"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{reviewer}</actor> </assignment> </task> <transition name="approve" to="endreview"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> executionContext.setVariable("status","approve"); </script> </action> </transition> <transition name="reject" to="endreview"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> executionContext.setVariable("status","reject"); <variable name="pwf_rejectFlag" access="read,write" /> <expression> pwf_rejectFlag=true; </expression> </script> </action> </transition> </task-node> <join name="endreview"> <transition to="isapproved" /> </join> <decision name="isapproved"> <event type="node-enter"> </event> <transition name="rejected" to="resubmit" > </transition> <transition name="approved" to="approved"> <condition>#{pwf_rejectFlag!=true}</condition> </transition> </decision> <task-node name="resubmit"> <task name="pwf:rejectedParallelTask" swimlane="initiator" /> <transition name="resubmit" to="startreview"> </transition> </task-node> <task-node name="approved"> <task name="pwf:approvedParallelTask" swimlane="initiator" /> <transition to="end" /> </task-node> <end-state name="end"/> </process-definition>====================================
4) parallel-workflowModel_updated.xml
<?xml version="1.0" encoding="UTF-8"?> <model name="pwf:workflowmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"> <imports> <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d" /> <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm" /> <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" /> </imports> <namespaces> <namespace uri="http://www.rasel.com/custommodel/workflow/1.0" prefix="pwf"/> </namespaces> <types> <!-- --> <!-- Basic Review & Approve Tasks --> <!-- --> <type name="pwf:submitReviewTask"> <parent>bpm:startTask</parent> <mandatory-aspects> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> <type name="pwf:submitConcurrentReviewTask"> <parent>bpm:startTask</parent> </type> <!-- Submit review to multiple people (explicit list) --> <type name="pwf:submitParallelReviewTask"> <parent>bpm:startTask</parent> <mandatory-aspects> <aspect>bpm:assignees</aspect> </mandatory-aspects> </type> <!-- Submit review to multiple people (as included in a group) --> <type name="pwf:submitGroupReviewTask"> <parent>pwf:submitConcurrentReviewTask</parent> <mandatory-aspects> <aspect>bpm:groupAssignee</aspect> </mandatory-aspects> </type> <type name="pwf:reviewTask"> <parent>pwf:submitParallelReviewTask</parent> <overrides> <property name="bpm:packageItemActionGroup"> <default>edit_package_item_actions</default> </property> </overrides> </type> <type name="pwf:approvedTask"> <parent>pwf:submitParallelReviewTask</parent> <mandatory-aspects> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> <type name="pwf:rejectedTask"> <parent>pwf:submitParallelReviewTask</parent> <mandatory-aspects> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> <type name="pwf:rejectedParallelTask"> <parent>pwf:submitParallelReviewTask</parent> </type> <type name="pwf:approvedParallelTask"> <parent>pwf:submitParallelReviewTask</parent> </type> <!-- Adhoc Tasks --> <type name="pwf:submitAdhocTask"> <parent>bpm:startTask</parent> <properties> <property name="pwf:notifyMe"> <type>d:boolean</type> <default>false</default> </property> </properties> <mandatory-aspects> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> <type name="pwf:adhocTask"> <parent>bpm:workflowTask</parent> <overrides> <property name="bpm:packageActionGroup"> <default>add_package_item_actions</default> </property> <property name="bpm:packageItemActionGroup"> <default>edit_package_item_actions</default> </property> </overrides> </type> <type name="pwf:completedAdhocTask"> <parent>bpm:workflowTask</parent> <mandatory-aspects> <aspect>bpm:assignee</aspect> </mandatory-aspects> </type> </types> <aspects> <aspect name="pwf:parallelReviewStats"> <properties> <property name="pwf:reviewerCount"> <type>d:int</type> </property> <property name="pwf:requiredPercent"> <type>d:int</type> </property> <property name="pwf:approveCount"> <type>d:int</type> </property> <property name="pwf:actualPercent"> <type>d:int</type> </property> <property name="pwf:totalCount"> <type>d:int</type> <default>0</default> </property> <property name="pwf:rejectFlag"> <type>d:boolean</type> <default>false</default> </property> </properties> </aspect> </aspects> </model>====================================
5) web-client-config-custom.xml
<alfresco-config> <config evaluator="node-type" condition="pwf:submitParallelReviewTask" replace="true"> <property-sheet> <separator name="sep1" display-label-id="general" component-generator="HeaderSeparatorGenerator" /> <show-property name="bpm:workflowDescription" component-generator="TextAreaGenerator" /> <show-property name="bpm:workflowPriority" display-label-id="wf_review_priority" /> <show-property name="bpm:workflowDueDate" display-label-id="wf_review_due_date" /> <separator name="sep2" display-label-id="users_and_roles" component-generator="HeaderSeparatorGenerator" /> <show-association name="bpm:assignees" display-label-id="pwf_asignees" /> <separator name="sep3" display-label-id="wf_reviewers" component-generator="HeaderSeparatorGenerator" /> <show-property name="bpm:priority" read-only="true" /> </property-sheet> <condition-handlers> <show-association name="bpm:package" read-only="true" /> </condition-handlers> </config> </alfresco-config>
No comments:
Post a Comment