mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Fix for ALF-4647 (All sample workflows should be enabled OOTB) & ALF-4638 (The transition buttons on the edit task page sometimes change order) and a couple of other unreported issues found along the way.
The pooled and parallel workflow definitions are now enabled by default, all corresponding form configuration for the start tasks and other task types are also defined, some tweaking may be need after review from Linton. Fixed a potential NPE when transition id's are returned as null. Log warnings added to the task type config evaluator when the type can not be retrieved, which gives an indication as to why forms display all the default fields rather than the configured ones. Changed process definitions to use a consistent ordering for the Approve and Reject transitions. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22336 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -216,6 +216,15 @@
|
||||
<bean id="workflowBootstrap" parent="workflowDeployer">
|
||||
<property name="workflowDefinitions">
|
||||
<list>
|
||||
<!-- Adhoc workflow definition -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/adhoc_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
|
||||
<!-- Review and Approve workflow definitions -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/review_processdefinition.xml</prop>
|
||||
@@ -224,48 +233,58 @@
|
||||
</props>
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/adhoc_processdefinition.xml</prop>
|
||||
<prop key="location">alfresco/workflow/review_pooled_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<!-- WCM workflow definition -->
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/parallelreview_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/parallelreview_group_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
|
||||
<!-- WCM workflow definitions -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<!-- WCM workflow definition -->
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/changerequest_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<!-- WCM workflow definition -->
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/submitdirect_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
|
||||
<!-- Invitation service workflow definition -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
|
||||
<!-- Invitation service workflow definition -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/invitation-moderated_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<!-- Invitation service workflow definition -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
|
||||
<!-- Invitation service workflow definition -->
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/invitation-moderated_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
</list>
|
||||
</property>
|
||||
<property name="models">
|
||||
|
@@ -1,49 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<bean id="parallel.workflowBootstrap" parent="workflowDeployer">
|
||||
<property name="workflowDefinitions">
|
||||
<list>
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/parallelreview_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/parallelreview_group_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
<props>
|
||||
<prop key="engineId">jbpm</prop>
|
||||
<prop key="location">alfresco/workflow/review_pooled_processdefinition.xml</prop>
|
||||
<prop key="mimetype">text/xml</prop>
|
||||
<prop key="redeploy">false</prop>
|
||||
</props>
|
||||
</list>
|
||||
</property>
|
||||
<property name="models">
|
||||
<list>
|
||||
<!-- NOTE: The above process definition relies on the default workflowModel.xml -->
|
||||
<!-- which is already registered during Alfresco startup. -->
|
||||
<!-- See bootstrap-context.xml (workflowBootstrap). -->
|
||||
|
||||
<!-- <value>alfresco/workflow/workflowModel.xml</value> -->
|
||||
</list>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<list>
|
||||
<!-- NOTE: The above process definition relies on the default workflow-messages.properties -->
|
||||
<!-- which is already registered during Alfresco startup -->
|
||||
<!-- See bootstrap-context.xml (workflowBootstrap). -->
|
||||
|
||||
<!-- <value>alfresco/workflow/workflow-messages</value> -->
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -37,7 +37,6 @@
|
||||
</script>
|
||||
</event>
|
||||
</task>
|
||||
<transition name="reject" to="endreview" />
|
||||
<transition name="approve" to="endreview">
|
||||
<script>
|
||||
<variable name="wf_approveCount" access="read,write" />
|
||||
@@ -46,6 +45,7 @@
|
||||
</expression>
|
||||
</script>
|
||||
</transition>
|
||||
<transition name="reject" to="endreview" />
|
||||
</task-node>
|
||||
|
||||
<join name="endreview">
|
||||
|
@@ -37,7 +37,6 @@
|
||||
</script>
|
||||
</event>
|
||||
</task>
|
||||
<transition name="reject" to="endreview" />
|
||||
<transition name="approve" to="endreview">
|
||||
<script>
|
||||
<variable name="wf_approveCount" access="read,write" />
|
||||
@@ -46,6 +45,7 @@
|
||||
</expression>
|
||||
</script>
|
||||
</transition>
|
||||
<transition name="reject" to="endreview" />
|
||||
</task-node>
|
||||
|
||||
<join name="endreview">
|
||||
|
@@ -37,8 +37,8 @@
|
||||
</action>
|
||||
</event>
|
||||
</task>
|
||||
<transition name="reject" to="rejected" />
|
||||
<transition name="approve" to="approved" />
|
||||
<transition name="reject" to="rejected" />
|
||||
</task-node>
|
||||
|
||||
<task-node name="rejected">
|
||||
|
@@ -38,9 +38,7 @@ import org.alfresco.repo.forms.processor.node.ContentModelItemData;
|
||||
import org.alfresco.repo.workflow.WorkflowModel;
|
||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||
import org.alfresco.service.cmr.dictionary.TypeDefinition;
|
||||
import org.alfresco.service.cmr.model.FileFolderService;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowService;
|
||||
import org.alfresco.service.cmr.workflow.WorkflowTask;
|
||||
@@ -51,10 +49,10 @@ import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* FormProcessor implementation for workflow tasks.
|
||||
*
|
||||
* @since 3.4
|
||||
* @author Nick Smith
|
||||
*
|
||||
*/
|
||||
public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTask, WorkflowTask>
|
||||
{
|
||||
@@ -103,9 +101,7 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTas
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.alfresco.repo.forms.processor.FilteredFormProcessor#getItemType(java
|
||||
* .lang.Object)
|
||||
* @see org.alfresco.repo.forms.processor.FilteredFormProcessor#getItemType(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
protected String getItemType(WorkflowTask item)
|
||||
@@ -117,21 +113,16 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTas
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.alfresco.repo.forms.processor.FilteredFormProcessor#getItemURI(java
|
||||
* .lang.Object)
|
||||
* @see org.alfresco.repo.forms.processor.FilteredFormProcessor#getItemURI(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
protected String getItemURI(WorkflowTask item)
|
||||
{
|
||||
// TODO Check this URL is OK.
|
||||
return "api/task-instances/" + item.id;
|
||||
}
|
||||
|
||||
/*
|
||||
* @see
|
||||
* org.alfresco.repo.forms.processor.task.ContentModelFormProcessor#getLogger
|
||||
* ()
|
||||
* @see org.alfresco.repo.forms.processor.task.ContentModelFormProcessor#getLogger()
|
||||
*/
|
||||
@Override
|
||||
protected Log getLogger()
|
||||
@@ -184,8 +175,12 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTas
|
||||
private String getTransitionValues(WorkflowTask item)
|
||||
{
|
||||
WorkflowTransition[] transitions = item.definition.node.transitions;
|
||||
if(transitions == null || transitions.length == 0)
|
||||
|
||||
if (transitions == null || transitions.length == 0)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return buildTransitionString(item, transitions);
|
||||
}
|
||||
|
||||
@@ -196,9 +191,9 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTas
|
||||
for (WorkflowTransition transition : transitions)
|
||||
{
|
||||
String transId = transition.getId();
|
||||
if(hiddenStr.contains(transId) == false)
|
||||
if (hiddenStr.contains(transId) == false)
|
||||
{
|
||||
builder.append(transId);
|
||||
builder.append(transId != null ? transId : "");
|
||||
builder.append("|");
|
||||
builder.append(transition.getTitle());
|
||||
builder.append(",");
|
||||
@@ -215,9 +210,9 @@ public class TaskFormProcessor extends AbstractWorkflowFormProcessor<WorkflowTas
|
||||
if (hiddenValues != null)
|
||||
{
|
||||
if (hiddenValues instanceof List<?>)
|
||||
{
|
||||
return (List<String>) hiddenValues;
|
||||
}
|
||||
{
|
||||
return (List<String>) hiddenValues;
|
||||
}
|
||||
else if (hiddenValues instanceof String && ((String)hiddenValues).length() > 0)
|
||||
{
|
||||
return Arrays.asList(((String)hiddenValues).split(","));
|
||||
|
Reference in New Issue
Block a user