diff --git a/config/alfresco/bootstrap-context.xml b/config/alfresco/bootstrap-context.xml index 49e63ebfa5..0c50380804 100644 --- a/config/alfresco/bootstrap-context.xml +++ b/config/alfresco/bootstrap-context.xml @@ -55,6 +55,7 @@ + diff --git a/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql new file mode 100644 index 0000000000..76bc35de1c --- /dev/null +++ b/config/alfresco/dbscripts/upgrade/2.1/org.hibernate.dialect.Dialect/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql @@ -0,0 +1,22 @@ +-- +-- Title: Jbpm 3.2 Process Instance Key +-- Database: Generic +-- Since: V2.1 Schema 63 +-- Author: David Caruana +-- +-- Please contact support@alfresco.com if you need assistance with the upgrade. +-- + +UPDATE JBPM_PROCESSINSTANCE SET KEY_ = '' || ID_ WHERE KEY_ IS NULL; + +-- +-- Record script finish +-- +DELETE FROM alf_applied_patch WHERE id = 'patch.db-V2.1-JBPMProcessKey'; +INSERT INTO alf_applied_patch + (id, description, fixes_from_schema, fixes_to_schema, applied_to_schema, target_schema, applied_on_date, applied_to_server, was_executed, succeeded, report) + VALUES + ( + 'patch.db-V2.1-JBPMProcessKey', 'Manually executed script upgrade V2.1: JBPM 3.2 Process Instance Key', + 0, 62, -1, 63, null, 'UNKOWN', 1, 1, 'Script completed' + ); \ No newline at end of file diff --git a/config/alfresco/patch/patch-services-context.xml b/config/alfresco/patch/patch-services-context.xml index 49a55049b2..14664122ad 100644 --- a/config/alfresco/patch/patch-services-context.xml +++ b/config/alfresco/patch/patch-services-context.xml @@ -873,15 +873,27 @@ - - - patch.AVMProperties - patch.AVMProperties.description - 0 - 61 - 62 - - - - + + + patch.AVMProperties + patch.AVMProperties.description + 0 + 61 + 62 + + + + + + + patch.db-V2.1-JBPMProcessKey + patch.schemaUpgradeScript.description + 0 + 62 + 63 + + classpath:alfresco/dbscripts/upgrade/2.1/${db.script.dialect}/AlfrescoSchemaUpdate-2.1-JBPMProcessKey.sql + + + diff --git a/config/alfresco/version.properties b/config/alfresco/version.properties index 66f857d2c9..14c3d18bf3 100644 --- a/config/alfresco/version.properties +++ b/config/alfresco/version.properties @@ -19,4 +19,4 @@ version.build=@build-number@ # Schema number -version.schema=62 +version.schema=63 diff --git a/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java b/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java index 60fb434750..429bba6126 100644 --- a/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java +++ b/source/java/org/alfresco/repo/workflow/jbpm/JBPMEngine.java @@ -75,6 +75,7 @@ import org.alfresco.service.cmr.workflow.WorkflowTransition; import org.alfresco.service.namespace.NamespaceException; import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.QName; +import org.alfresco.util.GUID; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.Session; @@ -554,6 +555,7 @@ public class JBPMEngine extends BPMEngine GraphSession graphSession = context.getGraphSession(); ProcessDefinition processDefinition = getProcessDefinition(graphSession, workflowDefinitionId); ProcessInstance processInstance = new ProcessInstance(processDefinition); + processInstance.setKey(GUID.generate()); // assign initial process context ContextInstance processContext = processInstance.getContextInstance();