Onboarding workflow

In this tutorial you create a workflow that helps you onboard business terms. A community manager analyzes the business term and, if valid, moves it to the appropriate domain, where the subject matter expert verifies the business term and accepts it or sends it back to the community manager.

  • You start the workflow by setting up some process variables like the universally unique identifiers (UUIDs) for the Community Manager and Subject Matter Expert roles, the Invalid and Candidate statuses and the Definition attribute type. This also makes the variables available for later edits on the workflow definition page in Collibra Data Governance Center.
  • You then retrieve the business term name and definition, the name of the user who created the asset and you change the status of the asset to candidate. You assign all the information to process variables so you can return the asset to this initial status. You also create an empty process variable that will hold any comment the subject matter expert might have for the community manager.
  • With the first user task, you ask a community manager to select a domain for the new business term from a drop-down list of available domains. The community manager has the option not to move the business term and change its status to invalid. As you will be reusing this same task in case the subject matter expert sends back the business term, you also add the comment variable you created in the previous task to the user task documentation.
  • Before moving forward, you create a process variable to capture the current user so you can assign the next community manager user task to the same person.
  • You create a script task to change the status of the business term to invalid and add the reason of the community manager as a comment on the asset page.
  • If the community manager decides to onboard the business term, you add a script task that moves the business term to the selected domain.
  • With a new user task, you ask the subject matter experts of the business term’s new domain to verify that the asset belongs there by presenting some of the information you have captured at the beginning of the workflow: the business term name and definition and the name of the user who created the asset. You allow the subject matter expert to onboard or send back the business term and to change the name or the definition if needed.
  • Once again, you create a process variable to capture the current user so you can assign the next subject matter expert user task to the same person.
  • In case the subject matter expert sends back the business term needs to be sent back, you ask the same subject matter expert who took this decision to provide a comment for the community manager. You also provide the option to go back to the verification user task.
  • You create a script task to assign the subject matter expert comment to the empty process variable you have created at the beginning of the workflow and to move the business term back to the original domain that you have also stored in a process variable.
  • When the subject matter expert onboards the business term, you determine if there are any changes by comparing the initial name and definition values to the input from the expert and apply them to the business term with a final script task.

Skills

As you complete this tutorial you will become more familiar with:

  • Workflow process variables.
  • User task forms.
  • Displaying dynamic content with variables.
  • Groovy script tasks and the Collibra Java API.
  • Writing entries in the Collibra Data Governance Center logs.
  • Exclusive gateways.

Prerequisites

  • Eclipse IDE.
  • Flowable Eclipse Designer plugin.
  • Access to a Collibra DGC environment as a user with the Sysadmin global role or a global role that has at least the Workflow Administration global permission.
  • Access to the Collibra Console for troubleshooting.

For more installation details and to get familiar with the Eclipse IDE interface, see Getting Started with workflows.

Create the workflow

Open Eclipse IDE and create a new Flowable project and diagram:

  • Use Business Term Onboarding for the project name.
  • Use BusinessTermOnboarding.bpmn for the diagram name.
  • Note   For more information on how to create a Flowable project and diagram, see the Getting started with workflows and the Hello World! tutorials.

Add a pool and lanes

  1. Add a pool and configure the pool properties:
    • General:
      • Id: BusinessTermOnboardingPool
      • Name: Business Term Onboarding
    • Process:
      • Id: BusinessTermOnboarding

        Note   The process ID must be unique at the Collibra DGC environment level.

        Warning   Uploading a workflow definition with the same process ID as an existing workflow definition in Collibra DGC replaces the existing workflow definition.

      • Name: Business Term Onboarding

        Note   The name is displayed as the workflow name in Collibra DGC.

        Warning   Collibra DGC does not accept two workflows with the same name.

      • Namespace: https://www.collibra.com/apiv2

        Note   By referencing version 2 of the Collibra Java API, the workflow is validated against V2 methods and deprecated V1 methods trigger a method does not exist error when called.

      • Documentation: The contents of the field become the description of the workflow in Collibra DGC.
  2. Configure the lane properties:
    • Id: CommunityManagerLane
    • Name: Community Manager
  3. From the Containter section of the Palette, drag a second Lane to the pool and configure the lane properties:
    • Id: SubjectMatterExpertLane
    • Name: Subject Matter Expert

Add and configure the start event

  1. From the Start event section of the Palette, drag a StartEvent to the Community Manager lane.
  2. In the Properties view, select the Form section.

    Note   
    The start event form variables set values that are used throughout the workflow. You can change these variables from the worfklow definition page in Collibra Data Governance Center.

  3. Add a variable to set the UUID of the Definition attribute type:
    1. Click New.
    2. Enter the required information:
      • Id: definitionTypeId
      • Name: The UUID of the Definition attribute type
      • Type: attributeType
      • Default: 00000000-0000-0000-0000-000000000202
      • Readable: False
      • Writeable: True
      • Required: True

  4. Add a variable to set the UUID of the Invalid status:
    1. Click New.
    2. Enter the required information:
      • Id: invalidStatusIdString
      • Name: The UUID of the Invalid status
      • Type: string
      • Default: 00000000-0000-0000-0000-000000005022
      • Readable: False
      • Writeable: True
      • Required: True
  5. Add a variable to set the UUID of the Candidate status:
    1. Click New.
    2. Enter the required information:
      • Id: candidateStatusIdString
      • Name: The UUID of the Candidate status
      • Type: string
      • Default: 00000000-0000-0000-0000-000000005008
      • Readable: False
      • Writeable: True
      • Required: True
  6. Add a variable to set the user expression for the Community Manager role:
    1. Click New.
    2. Enter the required information:
      • Id: userExpression_CommunityManager
      • Name: The candidate user expression for the Community Manager role
      • Type: string
      • Default: role(Community Manager)
      • Readable: False
      • Writeable: True
      • Required: True
  7. Add a variable to set the user expression for the Subject Matter Expert role:
    1. Click New.
    2. Enter the required information:
      • Id: userExpression_SME
      • Name: The candidate user expression for the Subject Matter Expert role
      • Type: string
      • Default: role(Subject Matter Expert)
      • Readable: False
      • Writeable: True
      • Required: True

Create a script task to process the required UUIDs

The script processes the universally unique identifiers (UUIDs) and sets other variables required by the workflow such as the business term name and definition, the name of the user who created the asset. It also changes the status of the business term to candidate and makes the results available in the Collibra DGC logs.

  1. From the Task section of the Palette, drag a ScriptTask to the Community Manager lane.
  2. In the General section, enter a Name: Set up initial variables.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to set up the initial variables:
      import com.collibra.dgc.core.api.model.instance.Asset
      import com.collibra.dgc.core.api.dto.instance.asset.ChangeAssetRequest
      import com.collibra.dgc.core.api.model.user.User
      import com.collibra.dgc.core.api.dto.instance.attribute.FindAttributesRequest
      import com.collibra.dgc.core.api.model.instance.attribute.Attribute
      import com.collibra.dgc.core.api.model.instance.Domain
      
      Asset currentAsset = assetApi.getAsset(item.getId())
      
      loggerApi.info(">>>> [Onboarding of " + currentAsset.getDisplayName() + "] Setup initial variables")
      
      // Retrieve initial asset values
      // - Asset name
      String assetName = currentAsset.getDisplayName();
      
      // - Asset definition
      FindAttributesRequest findDefinition = FindAttributesRequest.builder().assetId(currentAsset.getId()).typeIds([definitionTypeId]).build()
      List<Attribute> proposedDefinitions = attributeApi.findAttributes(findDefinition).getResults()
      Attribute initialDefinition = proposedDefinitions.get(0);
      
      // - Asset domain
      UUID initialDomainId = currentAsset.getDomain().getId()
      
      // Set status to candidate
      UUID candidateStatusId = UUID.fromString(candidateStatusIdString);
      ChangeAssetRequest changeAssetRequest = ChangeAssetRequest.builder().id(currentAsset.getId()).statusId(candidateStatusId).build()
      assetApi.changeAsset(changeAssetRequest)
      
      User submitter = userApi.getUser(currentAsset.getCreatedBy())
      
      execution.setVariable('currentAsset', currentAsset)
      execution.setVariable('submitter', submitter)
      execution.setVariable('initialDisplayName', assetName)
      execution.setVariable('initialDefinition', initialDefinition)
      execution.setVariable('initialDomainId', initialDomainId)
      execution.setVariable('commentToCommunityManager', "")
  4. Connect the start event to the script task with a SequenceFlow connection.

Create a user task to select a domain

The user task asks a community manager to establish if the business term needs to be onboarded or not and what domain the asset needs to be moved to.

  1. From the Task section of the Palette drag a UserTask to the Community Manager lane.
  2. Connect the variables setup script task to the user task with a SequenceFlow connection.
  3. Select the user task.
  4. In the Properties view, select the General section and enter the Name: Select domain for ${currentAsset.getDisplayName()}.

    Note   Use the currentAsset variable to dynamically retrieve the name of the asset the workflow has been started for.

  5. In the Properties view, select the Main Config section and enter the Candidate user: ${userExpression_CommunityManager}.

    Note   This assigns the task to the users that have a Community Manager role for the current asset.

  6. In the Properties view, select the Documentation section and enter the instructions for the community manager:
    Select the appropriate <b>domain</b> for <b><i>${currentAsset.getDisplayName()}</i></b>.<br />
    The asset will be sent for review to the Subject Matter Expert of the selected domain.<br />
    <br />
    Click <b>Invalid</b> if the asset does not require onboarding.
    <div style="font-weight:normal">${commentToCommunityManager.toString()}</div>
  7. In the Properties view, select the Form section and add the following elements to the dialog box:
    • A drop-down list of available domains:

      • Id: domain
      • Name: Domain
      • Type: domain
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to mark the asset as invalid:

      • Id: invalidButton
      • Name: Invalid
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to move the asset to the selected domain:

      • Id: moveButton
      • Name: Move to domain
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False

Create a script task to capture the current user

The script task captures the current user and assigns the user name to a process variable that you can later use to assign a subsequent user task to the same user.

  1. From the Task section of the Palette drag a ScriptTask to the Community Manager lane after the domain selection user task.
  2. In the General section, enter a Name: Set Community Manager.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to set the Community Manager variable:
      execution.setVariable('communityManager', users.getCurrent())
  4. Connect the domain selection user task to the script task with a SequenceFlow connection.

Route the workflowbased on whether to onboard or not the business term

Based on the community manager’s decision, the workflow moves the business term to the selected domain or asks the community manager to provide a reason for not onboarding the asset.

  1. From the Gateway section of the Palette, drag an ExclusiveGateway to the Community Manager lane after the community manager script task.
  2. Connect the script task to the exclusive gateway with a SequenceFlow connection.
  3. From the Task section of the Palette, drag a UserTask to the Community Manager lane above the exclusive gateway.
  4. Connect the exclusive gateway to the user task with a SequenceFlow connection.
  5. Select the sequence flow.
  6. In the Properties view, select the General section and enter a Name: Invalid.
  7. In the Properties view, select the Main config tab and enter the Condition: ${invalidButton}.

    Note   The workflow takes this path when the invalidButton from the domain selection user task is clicked.

  8. From the Task section of the Palette drag a ScriptTask to the Community Manager lane after the exclusive gateway.
  9. Connect the exclusive gateway to the script task with a SequenceFlow connection.
  10. Select the sequence flow.
  11. In the Properties view, select the General section and enter a Name: Move
  12. In the Properties view, select the Main config tab and enter the Condition: ${moveButton}.

    Note   The workflow takes this path when the community manager clicks the moveButton from the domain selection user task.

Configure the move script task

The script task moves the business term to the selected domain.

  1. Select the script task after the exclusive gateway.
  2. In the General section, enter a Name: Move asset to domain.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to move the asset to the selected domain:
      import com.collibra.dgc.core.api.dto.instance.asset.ChangeAssetRequest
      
      loggerApi.info(">>>> [Onboarding of " + currentAsset.getDisplayName() + "] Move asset to domain")
      
      ChangeAssetRequest changeAssetRequest = ChangeAssetRequest.builder().id(item.getId()).domainId(domain).build()
      assetApi.changeAsset(changeAssetRequest)
      
      loggerApi.info(">>>> Asset moved")

Configure the invalid user task

When the community manager does not onboard the business term, they provide a reason for changing the status of the business term to invalid.

  1. Select the user task above the exclusive gateway.
  2. In the Properties view, select the General section and enter the Name: Reason to invalidate ${currentAsset.getDisplayName()}.
  3. In the Properties view, select the Main Config section and enter the Candidate user: user(${communityManager}).

    Note   This assigns the task to the same Community Manager that performed the initial evaluation.

  4. In the Properties view, select the Documentation section and enter the instructions for the Community Manager:
    What are the reasons to mark ${currentAsset.getDisplayName()} invalid?<br />
    Your comment will be saved on the asset and its status will be changed to Invalid.
  5. In the Properties view, select the Form section and add the following elements to the dialog box:
    • A text area to capture the reason:

      • Id: invalidateComment
      • Name: Comment:
      • Type: textarea
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to mark the asset as invalid:

      • Id: invalidateButton
      • Name: Invalidate
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to go back to the domain selection user task:

      • Id: backButton
      • Name: Back
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False

        Note   The domain selection user task will be presented to all users that have the Community Manager role for the business term.

Route the workflow based on whether to invalidate or not the business term

Based on the community manager’s decision, the workflow changes the status of the business term to invalid or goes back to the domain selection user task.

  1. From the Gateway section of the Palette, drag an ExclusiveGateway to the Community Manager lane above the invalid user task.
  2. Connect the user task to the exclusive gateway with a SequenceFlow connection.
  3. From the Task section of the Palette drag a ScriptTask to the Community Manager lane after the exclusive gateway.
  4. Connect the exclusive gateway to the user task with a SequenceFlow connection.
  5. Select the sequence flow.
  6. In the Properties view, select the General section and enter a Name: Invalid.
  7. In the Properties view, select the Main config tab and enter the Condition: ${invalidateButton}.
  8. Connect the exclusive gateway to the domain selection user task with a SequenceFlow connection.
  9. Select the sequence flow.
  10. In the Properties view, select the General section and enter a Name: Back
  11. In the Properties view, select the Main config tab and enter the Condition: ${backButton}.

Configure the script task to mark the business term invalid

The script changes the status of the business term to invalid, as defined by the start form process variable, and adds the reason the community manager provided as a comment on the asset page.

  1. Select the script task after the exclusive gateway.
  2. In the General section, enter a Name: Mark asset as invalid.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to mark the asset as invalid and to add the reason as a comment:
      import com.collibra.dgc.core.api.dto.instance.asset.ChangeAssetRequest
      import com.collibra.dgc.core.api.dto.instance.comment.AddCommentRequest
      import com.collibra.dgc.core.api.model.ResourceType
      
      loggerApi.info(">>>> [Onboarding of " + currentAsset.getDisplayName() + "] Mark asset as invalid")
      
      UUID invalidStatusId = UUID.fromString(invalidStatusIdString);
      
      ChangeAssetRequest changeAssetRequest = ChangeAssetRequest.builder().id(currentAsset.getId()).statusId(invalidStatusId).build()
      assetApi.changeAsset(changeAssetRequest)
      
      if (invalidateComment.toString().length() > 0) {
          AddCommentRequest addCommentRequest = AddCommentRequest.builder().baseResourceId(currentAsset.getId()).baseResourceType(ResourceType.Asset).content(invalidateComment.toString()).build()
          commentApi.addComment(addCommentRequest)
      }
  4. Connect the exclusive gateway to the script task with a SequenceFlow connection.
  5. From the End event section of the Palette, drag an EndEvent to the Community Manager lane.
  6. Connect the script task to the end event with a SequenceFlow connection.

Create a user task to onboard the asset

The user task asks a subject matter expert to verify if the business term belongs to the domain it has been moved to.

  1. From the Task section of the Palette drag a UserTask to the Subject Matter Expert lane beneath the move script task form the Community Manager lane.
  2. Connect the move script task to the user task with a SequenceFlow connection.
  3. Select the user task.
  4. In the Properties view, select the General section and enter the Name: Verify information.
  5. In the Properties view, select the Main Config section and enter the Candidate user: ${userExpression_SME}.

    Note   This assigns the task to the users that have a Subject Matter Expert role for the current domain.

  6. In the Properties view, select the Documentation section and enter the instructions for the Subject Matter Expert:
    Check the information submitted by ${submitter.getFirstName()} ${submitter.getLastName()}.<br />
    Update the name or definition if required and clik <b>Onboard</b>.<br />
    Click <b>Move back</b> if this is not the correct domain for the business term.
  7. In the Properties view, select the Form section and add the following elements to the dialog box:
    • The name of the asset:
      • Id: newName
      • Name: Proposed name
      • Type: string
      • Default: ${currentAsset.getDisplayName()}
      • Readable: True
      • Writeable: True
      • Required: False
    • The definition of the asset:

      • Id: newDefinition
      • Name: Proposed definition
      • Type: textarea
      • Default: ${initialDefinition.getValue()}
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to onboard the asset:

      • Id: onboardButton
      • Name: Onboard
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to send back the asset:

      • Id: moveBackButton
      • Name: Move back
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False

Create a script task to capture the current user

The script task captures the current user and assigns the user name to a process variable that you can later use to assign a subsequent user task to the same user.

  1. From the Task section of the Palette drag a ScriptTask to the Subject Matter Expert lane beneath the onboarding user task.
  2. In the General section, enter a Name: Set Subject Matter Expert.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to set the Subject Matter Expert variable:
      execution.setVariable('subjectMatterExpert', users.getCurrent())
  4. Connect the onboarding user task to the script task with a SequenceFlow connection.

Route the workflow based on whether to onboard or not the business term

Based on the subject matter expert’s decision, the workflow changes the business term name and definition or asks the subject matter expert to provide a reason for not onboarding the business term.

  1. From the Gateway section of the Palette, drag an ExclusiveGateway to the Subject Matter Expert lane beneath the subject matter expert script task.
  2. Connect the script task to the exclusive gateway with a SequenceFlow connection.
  3. From the Task section of the Palette, drag a UserTask to the Subject Matter Expert lane to the left of the exclusive gateway.
  4. Connect the exclusive gateway to the user task with a SequenceFlow connection.
  5. Select the sequence flow.
  6. In the Properties view, select the General section and enter a Name: Move back.
  7. In the Properties view, select the Main config tab and enter the Condition: ${moveBackButton}.
  8. From the Task section of the Palette, drag a ScriptTask to the Subject Matter Expert lane beneath the exclusive gateway.
  9. Connect the exclusive gateway to the script task with a SequenceFlow connection.
  10. Select the sequence flow.
  11. In the Properties view, select the General section and enter a Name: Onboard
  12. In the Properties view, select the Main config tab and enter the Condition: ${onboardButton}.

Configure the onboarding script task

The script applies any changes the subject matter expert might have made to the business term.

  1. Select the script task beneath the exclusive gateway.
  2. In the General section, enter a Name: Commit changes.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to apply the Subject Matter Expert changes:
      import com.collibra.dgc.core.api.dto.instance.attribute.ChangeAttributeRequest
      import com.collibra.dgc.core.api.dto.instance.asset.ChangeAssetRequest
      
      loggerApi.info(">>>> [Onboarding of " + currentAsset.getDisplayName() + "] Commit changes")
      
      if (currentAsset.getDisplayName() != newName) {
          ChangeAssetRequest changeAssetRequest = ChangeAssetRequest.builder().id(currentAsset.getId()).displayName(newName).build()
          assetApi.changeAsset(changeAssetRequest)
      }
      
      if (initialDefinition.getValue() != newDefinition) {
          ChangeAttributeRequest changeAttributeRequest = ChangeAttributeRequest.builder().id(initialDefinition.getId()).value(newDefinition.toString()).build()
          attributeApi.changeAttribute(changeAttributeRequest)
      }
  4. From the End event section of the Palette, drag an EndEvent to the Subject Matter Expert lane.
  5. Connect the script task to the end event with a SequenceFlow connection.

Configure the move back user task

When the subject matter expert does not onboard the business term, they provide a comment to help the community managers determine the correct domain for the business term.

  1. Select the user task to the left of the exclusive gateway.
  2. In the Properties view, select the General section and enter the Name: Send back to Community Manager.
  3. In the Properties view, select the Main Config section and enter the Candidate user: user(${subjectMatterExpert}).

    Note   This assigns the task to the same Subject Matter Expert that performed the initial verification.

  4. In the Properties view, select the Documentation section and enter the instructions for the Community Manager:
    Why is this not the right domain for this asset?<br />
    Your comment will help the Community Manager pick the correct domain for this asset.
  5. In the Properties view, select the Form section and add the following elements to the dialog box:
    • A text area to capture the comment:

      • Id: commentToCommunityManagerForm
      • Name: Comment:
      • Type: textarea
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to move back the asset:

      • Id: sendBackToCM
      • Name: Send back
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False
    • A button to go back to the onboarding user task:

      • Id: backButton
      • Name: Back
      • Type: button
      • Readable: True
      • Writeable: True
      • Required: False

        Note   The onboarding user task will be presented to all users that have the Subject Matter Expert role for the selected domain.

Route the workflow based on whether to send back or not the business term

Based on the subject matter expert’s decision, the workflow moves the business term to the original domain, notifies the community managers and continues the onboarding process with the domain selection task or goes back to the verification user task.

  1. From the Gateway section of the Palette, drag an ExclusiveGateway to the Subject Matter Expert lane above the move back user task.
  2. Connect the user task to the exclusive gateway with a SequenceFlow connection.
  3. From the Task section of the Palette, drag a ScriptTask to the Subject Matter Expert lane above the exclusive gateway.
  4. Connect the exclusive gateway to the user task with a SequenceFlow connection.
  5. Select the sequence flow.
  6. In the Properties view, select the General section and enter a Name: Send back.
  7. In the Properties view, select the Main config tab and enter the Condition: ${sendBackToCM}.
  8. Connect the exclusive gateway to the onboarding user task with a SequenceFlow connection.
  9. Select the sequence flow.
  10. In the Properties view, select the General section and enter a Name: Back
  11. In the Properties view, select the Main config tab and enter the Condition: ${backButton}.

Configure the script task to move the business term to the original domain

The script moves the business term back to the original domain. It also captures the subject matter expert’s comment for use in the domain selection user task.

  1. Select the script task above the exclusive gateway.
  2. In the General section, enter a Name: Move asset to original domain.
  3. In the Main config section:
    • Select the groovy script language.
    • Add the script to move the asset back to the original domain:
      import com.collibra.dgc.core.api.dto.instance.asset.ChangeAssetRequest
      
      loggerApi.info(">>>> [Onboarding of " + currentAsset.getDisplayName() + "] Move asset back to Community Manager")
      
      def commentToDisplay = "<p>Comment from SME:</p><p>" + commentToCommunityManagerForm + "</p>"
      
      execution.setVariable('commentToCommunityManager', commentToDisplay)
      
      ChangeAssetRequest changeAssetRequest = ChangeAssetRequest.builder().id(item.getId()).domainId(initialDomainId).build()
      assetApi.changeAsset(changeAssetRequest)
      
      loggerApi.info(">>>> Asset moved")
  4. Connect the exclusive gateway to the script task with a SequenceFlow connection.
  5. Connect the script task to the domain selection user task of the Community Manager lane with a SequenceFlow connection.

Save your work.

Deploy your workflow

  1. Sign in to Collibra DGC as a user with the Sysadmin global role or a global role that has at least the Workflow Administration global permission.
  2. In the main menu, click Settings.
  3. In the tab pane, click
    WorkflowsDefinitions.
  4. Click Upload a file and locate the BPMN file you have just created inside the Eclipse workspace folder.

    Tip   With the BPMN file selected in Eclipse, select NavigateShow InSystem Explorer. An explorer window will open, showing the exact file location. You can now drag and drop the file to the Upload a file section in your browser.

An Activity Queue window displays the upload progress.

Once the file is uploaded, you see your workflow in the Workflows Definitions table.

For more details, see the Deploy a workflow section of the Collibra Data Governance Center Administration Guide.

Workflow configuration settings

To fine tune the workflow you must change the default configuration in Collibra Data Governance Center:

  1. In the main menu, click Settings.
  2. In the tab pane, click
    WorkflowsDefinitions.
  3. Select the Business Term Onboarding workflow.

Restrict the workflow to the business term asset type.

  1. On the workflow definition page, change the Applies To to Asset.
  2. In the Applies To section, click Add.
  3. In the restriction rules dialog box, search for:
    1. Type: Business Term.
    2. Domain: New Bunisess Terms.
  4. Click Save.

Allow only community managers to start the workflow

  1. On the workflow definition page, in the Roles section, click .
  2. Under Start Workflow, search for Community Manager.
  3. Click Save.

Disable the candidate user check

To prevent the candidate user check from stopping the workflow when there are no subject matter experts assigned to the business term, disable this option.

  • On the workflow definition page, in the Other section, clear the Perform candidate user check on workflow start option.

Note   A subject matter expert must be assigned to the target domain for the workflow to successfully complete.

Troubleshooting

In case of errors, the workflow does not start, and an error message is displayed.

The logs contain more information about the error:

  1. Open Collibra Console.Collibra Console opens with the Infrastructure page.
  2. Click the name of the environment you deployed the workflow in to display its details.
  3. Select Data Governance Center.
  4. Select Logs → dgc.log

Look for errors related to Java or Groovy.

Next steps

You have created a workflow that helps you onboard new business terms by having a community manager assign the business term to a new domain, where a subject matter expert verifies if the business term belongs there or not.

This scenario was part of the interactive Data Citizens – Under the Hood technical day 2018. To get the full Under the Hood experience, look for the next session and the next Data Citizens conference.

Additional resources

  • Read the Getting started with workflows Collibra DGC Administration Guide section.
  • Read the Using workflows Collibra DGC User Guide section.
  • Consult the java documentation: https://<your_dgc_environment_url>/docs/javav2/index.html.