You are here: About configuring GCF/Project Portal > Mapping workflows

Mapping workflows

Mapping Project Portal workflow to Meridian Enterprise workflow is done in both systems. The mapping in Project Portal is not configurable and occurs automatically based on information received from Meridian Enterprise during document synchronization. The workflow in Project Portal is controlled by Meridian Enterprise.

The mapping in Meridian Enterprise is controlled by VBScript in Meridian Enterprise. This is because of the variety and complexity of the possible workflows that can exist in the two systems and the business rules that can determine how the workflows should be matched under various circumstances. GCF/Project Portal assists you in this by synchronizing the workflow status information during document transfers so that your VBScript logic has the information that it needs to assign the correct workflow status in Meridian Enterprise.

The workflow status information is synchronized using the two built-in briefcase properties GCFKRONODOC_LIFECYCLE and GCFKRONODOC_KRONOSTATUS described in Mapping optional system properties. These properties can be mapped to two corresponding custom document properties that you create. The values of the properties are synchronized in both directions and are described in the following table:

To map workflows:

  1. If documents should be released from their workflows in Meridian Enterprise after they are synchronized to Project Portal, add the following setting to the processor configuration file:

    ReleaseOnHandover=1
  2. In the VBScript block of the vault, modify the function InitiateTransferOwnershipOnWorkFlow by adding the code shown in bold in the following example:
Function InitiateTransferOwnershipOnWorkFlow(Person, wfType, wfDetails)
  InitiateTransferOwnershipOnWorkFlow = ""
  If Vault.Argument("ProjectPortalSynWF") Then
    Vault.Argument("ProjectPortalSynWF") = False
    Exit Function
  End If
  'The remainder of the existing function...
  1. Create or modify the function BrcEvent_AfterImport to implement your own workflow mapping logic similar to the following example:
Sub BrcEvent_AfterImport(Batch, Briefcase, Action)
  'Exit if this is not a GCF import
  If Not Vault.Argument("IsGcf") Then Exit Sub

  'Workflow status from Project Portal
  Dim statusK: statusK = Document.GCFKronoStatus
  'Workflow status from Meridian
  Dim statusM

  If Len(statusK) = 0 Then
    Exit Sub 'Not valid
  ElseIf statusK = "100" Or statusK = "90" Then 'Send to Contractor or In Work 
    statusM = "Draft"
  ElseIf statusK = "110" Then 'For Approval
    statusM = "Decision"
  ElseIf statusK = "120" Then 'Released
    statusM = "END"
  Else
    Exit Sub 'Not supported
  End If    
  
  ' Unlock document if GCF locked it   
  Dim lockid: lockid = Document.Property("AMDocumentPropertySet._DOCLOCKID")
  If Len(lockid) > 0 Then
    SetLock ""
  End If

  If Action = AS_BRCIA_IMPORT Then
    'New document is not in the required WF
    'Migrate to target state
    Document.Migrate "CWF1", statusM           
  Else
    If Document.CWFState.Name <> statusM Then
      'Reroute will fire workflow events, so we have to skip execution
      'of function InitiateTransferOwnershipOnWorkFlow. Check the vault
      'argument there
       Vault.Argument("ProjectPortalSynWF") = True
       Document.Reroute statusM , ""
    End If
  End If

  ' Lock document if GCF locked it
  If Len(lockid) > 0 Then
    SetLock lockid
  End If
End Sub

Function SetLock(LockID)
   Dim objGCFSupport
   Set objGCFSupport = AMCreateObject("BlueCieloECM.GcfSupport", False)
   SetLock = objGCFSupport.SetLockID(Document.ID, LockID)
   objGCFSupport.Dispose
   Set objGCFSupport = Nothing
End Function
  1. Test your changes by synchronizing documents with active workflows in one system and observing the results in the other system.

Related tasks

Importing the briefcase settings

Mapping document types

Mapping document properties

Mapping folder properties

Mapping optional system properties