diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml
index a5edf79c22..c12b56d2f7 100644
--- a/config/alfresco/bootstrap-context.xml
+++ b/config/alfresco/bootstrap-context.xml
@@ -124,20 +124,6 @@
-
-
-
-
-
-
- jbpm
- org/alfresco/repo/workflow/jbpm/review_and_approve_processdefinition.xml
- text/xml
-
-
-
-
-
diff --git a/config/alfresco/messages/workflow-messages.properties b/config/alfresco/messages/workflow-messages.properties
index c21e80fc32..b3c3471fad 100644
--- a/config/alfresco/messages/workflow-messages.properties
+++ b/config/alfresco/messages/workflow-messages.properties
@@ -41,3 +41,28 @@ wf_review.task.wf_approvedTask.title=Approved
wf_review.task.wf_approvedTask.description=Approved
wf_review.node.end.title=End
wf_review.node.end.description=End
+
+
+#
+# Adhoc Task Workflow
+#
+
+wf_adhoc.workflow.title=Adhoc Task
+wf_adhoc.workflow.description=Assign task to colleague
+
+# Adhoc Task Definitions
+
+wf_workflowmodel.type.wf_submitAdhocTask.title=Submit Adhoc Task
+wf_workflowmodel.type.wf_submitAdhocTask.description=Allocate task to colleague
+wf_workflowmodel.property.wf_adhocDescription.title=Task Description
+wf_workflowmodel.property.wf_adhocDescription.description=Description of what needs to be achieved
+wf_workflowmodel.property.wf_adhocDueDate.description=Task Due Date
+wf_workflowmodel.property.wf_adhocPriority.title=Task Priority
+wf_workflowmodel.property.wf_notifyMe.title=Notify Me
+wf_workflowmodel.property.wf_notifyMe.description=Notify me when task is complete
+wf_workflowmodel.association.wf_assignee.title=Assignee
+wf_workflowmodel.association.wf_assignee.description=Who's doing the task
+wf_workflowmodel.type.wf_adhocTask.title=Adhoc Task
+wf_workflowmodel.type.wf_adhocTask.description=Adhoc Task allocated by colleague
+wf_workflowmodel.type.wf_completedTask.title=Adhoc Task Completed
+wf_workflowmodel.type.wf_completedTask.description=Adhoc Task Completed
diff --git a/config/alfresco/model/workflowModel.xml b/config/alfresco/model/workflowModel.xml
index a99021bf1a..e4ca2b94c0 100644
--- a/config/alfresco/model/workflowModel.xml
+++ b/config/alfresco/model/workflowModel.xml
@@ -2,10 +2,6 @@
- Content-oriented Workflows Model
- Alfresco
- 0.1
-
@@ -75,10 +71,6 @@
-
-
-
-
Review Task
@@ -93,6 +85,75 @@
+
+
+
+
+
+
+
+
+
+ bpm:workflowTask
+
+
+
+ Description
+ d:text
+
+
+
+
+
+ Submit Adhoc Task
+ wf:baseAdhocTask
+
+
+
+ Due Date
+ d:date
+
+
+
+ Priority
+ d:int
+ 2
+
+
+
+
+
+
+ Email Notification
+ d:boolean
+
+
+
+
+
+ Assignee
+
+ false
+ false
+
+
+ cm:person
+ true
+ false
+
+
+
+
+
+
+ Adhoc Task
+ wf:baseAdhocTask
+
+
+
+ Completed Adhoc Task
+ wf:baseAdhocTask
+
diff --git a/config/alfresco/workflow-context.xml b/config/alfresco/workflow-context.xml
index 71ca8e5bd1..d124a7f68b 100644
--- a/config/alfresco/workflow-context.xml
+++ b/config/alfresco/workflow-context.xml
@@ -7,6 +7,25 @@
+
+
+
+
+ jbpm
+ org/alfresco/repo/workflow/jbpm/review_and_approve_processdefinition.xml
+ text/xml
+ false
+
+
+ jbpm
+ org/alfresco/repo/workflow/jbpm/adhoc_task_processdefinition.xml
+ text/xml
+ false
+
+
+
+
+
@@ -22,16 +41,16 @@
+
+
+
+
-
-
-
-
diff --git a/source/java/org/alfresco/repo/workflow/WorkflowDeployer.java b/source/java/org/alfresco/repo/workflow/WorkflowDeployer.java
index ac101d87f0..e0020f37c8 100644
--- a/source/java/org/alfresco/repo/workflow/WorkflowDeployer.java
+++ b/source/java/org/alfresco/repo/workflow/WorkflowDeployer.java
@@ -50,6 +50,7 @@ public class WorkflowDeployer implements ApplicationListener
public static final String ENGINE_ID = "engineId";
public static final String LOCATION = "location";
public static final String MIMETYPE = "mimetype";
+ public static final String REDEPLOY = "redeploy";
// Dependencies
private TransactionService transactionService;
@@ -139,13 +140,14 @@ public class WorkflowDeployer implements ApplicationListener
{
throw new WorkflowException("Workflow definition location must be provided");
}
+ Boolean redeploy = Boolean.valueOf(workflowDefinition.getProperty(REDEPLOY));
String mimetype = workflowDefinition.getProperty(MIMETYPE);
// retrieve input stream on workflow definition
ClassPathResource workflowResource = new ClassPathResource(location);
// deploy workflow definition
- if (workflowService.isDefinitionDeployed(engineId, workflowResource.getInputStream(), mimetype))
+ if (!redeploy && workflowService.isDefinitionDeployed(engineId, workflowResource.getInputStream(), mimetype))
{
if (logger.isDebugEnabled())
logger.debug("Workflow deployer: Definition '" + location + "' already deployed");
diff --git a/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java b/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java
index bc3582f012..519a7354c4 100644
--- a/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java
+++ b/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java
@@ -1507,6 +1507,8 @@ public class JBPMEngine extends BPMEngine
workflowInstance.id = createGlobalId(new Long(instance.getId()).toString());
workflowInstance.definition = createWorkflowDefinition(instance.getProcessDefinition());
workflowInstance.active = !instance.hasEnded();
+ workflowInstance.startDate = instance.getStart();
+ workflowInstance.endDate = instance.getEnd();
return workflowInstance;
}
diff --git a/source/java/org/alfresco/repo/workflow/jbpm/adhoc_task_processdefinition.xml b/source/java/org/alfresco/repo/workflow/jbpm/adhoc_task_processdefinition.xml
new file mode 100644
index 0000000000..72bb4f2e79
--- /dev/null
+++ b/source/java/org/alfresco/repo/workflow/jbpm/adhoc_task_processdefinition.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/java/org/alfresco/service/cmr/workflow/WorkflowInstance.java b/source/java/org/alfresco/service/cmr/workflow/WorkflowInstance.java
index 07c0dac232..f4dac45ae9 100644
--- a/source/java/org/alfresco/service/cmr/workflow/WorkflowInstance.java
+++ b/source/java/org/alfresco/service/cmr/workflow/WorkflowInstance.java
@@ -16,6 +16,8 @@
*/
package org.alfresco.service.cmr.workflow;
+import java.util.Date;
+
/**
* Workflow Instance Data Object
@@ -35,6 +37,15 @@ public class WorkflowInstance
/** Workflow Definition */
public WorkflowDefinition definition;
+ /** Start Task Instance (optional) */
+ public WorkflowTask startTask;
+
+ /** Workflow Start Date */
+ public Date startDate;
+
+ /** Workflow End Date */
+ public Date endDate;
+
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/