diff --git a/config/alfresco/model/bpmModel.xml b/config/alfresco/model/bpmModel.xml
index 2f212feb86..c68d6ba7f4 100644
--- a/config/alfresco/model/bpmModel.xml
+++ b/config/alfresco/model/bpmModel.xml
@@ -338,6 +338,29 @@
+
+
+
+
+
+
+
+
+
+ false
+ false
+
+
+
+ usr:authorityContainer
+ true
+ true
+
+
+
+
+
+
diff --git a/config/alfresco/workflow/parallelreview_group_processdefinition.xml b/config/alfresco/workflow/parallelreview_group_processdefinition.xml
new file mode 100644
index 0000000000..ffb833bcee
--- /dev/null
+++ b/config/alfresco/workflow/parallelreview_group_processdefinition.xml
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #{people.getMembers(bpm_groupAssignee)}
+ reviewer
+
+
+
+
+
+
+
+
+
+
+ #{reviewer}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #{wf_actualPercent >= wf_requiredApprovePercent}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/alfresco/workflow/review_pooled_processdefinition.xml b/config/alfresco/workflow/review_pooled_processdefinition.xml
new file mode 100644
index 0000000000..73f1be9b3d
--- /dev/null
+++ b/config/alfresco/workflow/review_pooled_processdefinition.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #{bpm_groupAssignee}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/alfresco/workflow/workflowModel.xml b/config/alfresco/workflow/workflowModel.xml
index fee647d2ac..e28fca32c0 100644
--- a/config/alfresco/workflow/workflowModel.xml
+++ b/config/alfresco/workflow/workflowModel.xml
@@ -23,33 +23,39 @@
bpm:assignee
-
-
+
+
bpm:startTask
-
- bpm:groupAssignee
-
+
+
+ d:int
+ true
+ 50
+
+
+ 1
+ 100
+
+
+
+
+
- bpm:startTask
-
-
- d:int
- true
- 50
-
-
- 1
- 100
-
-
-
-
+ wf:submitConcurrentReviewTask
bpm:assignees
+
+
+
+ wf:submitConcurrentReviewTask
+
+ bpm:groupAssignee
+
+
bpm:workflowTask
diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java
index e1c717ede8..d1876da8f0 100644
--- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java
+++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoAssignment.java
@@ -16,19 +16,12 @@
*/
package org.alfresco.repo.workflow.jbpm;
-import java.util.Collection;
-import java.util.Set;
-
import org.alfresco.model.ContentModel;
import org.alfresco.repo.jscript.Node;
import org.alfresco.service.ServiceRegistry;
-import org.alfresco.service.cmr.security.AuthorityService;
-import org.alfresco.service.cmr.security.AuthorityType;
import org.alfresco.service.cmr.workflow.WorkflowException;
import org.dom4j.Element;
import org.jbpm.graph.exe.ExecutionContext;
-import org.jbpm.jpdl.el.impl.JbpmExpressionEvaluator;
-import org.jbpm.taskmgmt.def.AssignmentHandler;
import org.jbpm.taskmgmt.exe.Assignable;
import org.springframework.beans.factory.BeanFactory;
diff --git a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java
index 73a768c2af..3a25184826 100644
--- a/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java
+++ b/source/java/org/alfresco/repo/workflow/jbpm/AlfrescoJavaScript.java
@@ -255,17 +255,22 @@ public class AlfrescoJavaScript extends JBPMSpringActionHandler
*/
private static VariableAccess getWritableVariable(List variableAccesses)
{
+ VariableAccess writable = null;
if (variableAccesses != null)
{
for (VariableAccess variableAccess : variableAccesses)
{
if (variableAccess.isWritable())
{
- return variableAccess;
+ if (writable != null)
+ {
+ throw new WorkflowException("AlfrescoJavaScript supports only one writable variable");
+ }
+ writable = variableAccess;
}
}
}
- return null;
+ return writable;
}
}