Information
This documentation is created by Fusion, a BMC partner.

Multi-Source


This section explains how to configure a Multi-Source Kanban Board. The multi-source Kanban Board is designed to use more than one record definition. The configuration of a multi-source Kanban Board is very similar to a single-source Kanban Board.

For a better understanding of how to configure Multi-Source Kanban Boards, please refer to the section "Single-Source Kanban Board" first.

The below example describes the configuration of a Multi-Source Kanban Board for BMC Helix ITSM-Incident and Work order. 

Configuration

  1. To enable the Kanban Board to display several entities at the same time, "Data Source" must be set to "Multi-Source" in the "General" section of the property pane. You can ignore the "MS-Config Identifier" field for now. The rest of the fields can be filled according to your needs.

    image2022-2-23_15-22-48.png


  2. Go to the group configuration section in the property pane. Fill in all the fields according to your requirements.
    image2022-2-23_15-24-7.png

  3. Go to the "Records" tab from the Extension Toolbox library and select “Kanban Multisource Config” and click on "Edit Data".

    image2021-7-8_11-53-13.png


  4. Create a new record instance.
  • Created By: This field is automatically configured and should be left untouched.
  • Identifier:  In this field, a unique string is supposed to be entered that relates to your use case. Whatever value you will specify here, needs to enter into the "MS-Config Identifier" field in the "General" section of the Kanban Board's property pane.
  • JSONConfig: This field is supposed to contain a JSON object, holding the rest of the configuration. The exact structure is explained below.

image2021-7-8_11-59-28.png

Let's understand the code blocks

NOTE: Code is separated into multiple blocks for user understanding, when configuring in the JSONConfig field, all the code blocks need to be combined.

Lane Definition Section - Line (1 - 57)

  1. The lanes are specified here. The name is freely definable. The IDs should be
    incrementing numbers.

  2. In addition, you define here which Incident or Work order with the respective
    status should be displayed in the lane.

{
 "laneDefinitions": [
   {
     "name": "Backlog",
     "id": 0,
     "contains": {
       "HPD:Help Desk": [
         1,
         0,
         3
        ],
       "WOI:WorkOrder": [
         0,
         1,
         2
        ]
     }
   },
   {
     "name": "In Progress",
     "id": 1,
     "contains": {
       "HPD:Help Desk": [
         2
        ],
       "WOI:WorkOrder": [
         4,
         3
        ]
     }
   },
   {
     "name": "Done",
     "id": 2,
     "contains": {
       "HPD:Help Desk": [
         4
        ],
       "WOI:WorkOrder": [
         5
        ]
     }
   },
   {
     "name": "Cancelled/Rejected",
     "id": 3,
     "contains": {
       "HPD:Help Desk": [
         6
        ],
       "WOI:WorkOrder": [
         6,
         7
        ]
     }
   }
  ],

Description for code with respect to the line numbers.

Line Numbers

Description

4

Name of the lane is specified here.

5

Integer value that acts as an ID of this lane

6

"Application/Library ID:Record Definition Name":[ Status values ]

This is the format that is used to specify which status values in which record definition in which Application / Library is used

19

The configuration of a second lane starts here following the same pattern. You can add as many lanes as required.

57

Config for all the lanes end here.

Entry Definition Section

  1. These lines are known from the "Entry" section of the Single Source.

  2. Here the BMC Helix Innovation Studio IDs of the fields of record are mapped.

  "entryDefinitions": [
   {
     "recordDefinitionName": "HPD:Help Desk",
     "recordName": "Incident",
     "itemDescription": 1000000000,
     "itemDisplayedId": 1000000161,
     "personId": 300271200,
     "personIdType": "loginId",
     "groupId": 1000000079,
     "groupIdType": "displayId",
     "itemModifiedDate": 6,
     "laneField": 7,
     "initialEntryFilter": [],
      "availableFilterFields": "4,6,7,8,1000000000,1000000161,1000000079,1000000164",
     "link": "https://example-smartit.onbmc.com/smartit/app/#/incident/",
     "cardShadowField": 1000000164,
     "cardShadowColors": [
       {
         "id": "0",
         "color": "#ff0404"
       },
       {
         "id": "1",
         "color": "#f98700"
       },
       {
         "id": "2",
         "color": "#fdf01d"
       },
       {
         "id": "3",
         "color": "#89c341"
       }
      ],
     "itemDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Incident - Change Lane",
     "userDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Incident - Assign Person",
     "groupDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Incident - Assign Group",
     "laneChangeDialogOn": [
       0,
       1,
       2,
       3
      ],
     "laneChangeBlade": {
       "viewDefinitionName": "com.fusiongbs.visual:Kanban - ITSM - Incident - Lane Change Dialog - Multi Source",
       "title": "Incident - Lane Change Dialog",
       "size": "rx-md",
       "presentationType": "dockedRightModal"
     },
     "customBlade": {
       "viewDefinitionName": "com.fusiongbs.visual:Kanban - ITSM - Incident - Custom Blade",
       "title": "Incident - Quick Edit",
       "size": "rx-md",
       "presentationType": "dockedRightModal"
     }
   },

Description for code with respect to the line numbers.

Line Number

Description

3

Application/Library ID:Record Definition Name

This is the format that is used to specify which status values in which record definition in which Application / Library is used

4

Here the name of the record is mapped

5

The ID of the field where 'Description' of an Item is stored

6

The ID of the field where 'Display ID' of an Item is stored

7

The ID of the field where the Id of the 'Assigned Person' of an item is stored

8

There are 2 possible values in this field:

  • loginId: f the login Id of the assigned person is stored then choose this value
  • Id: If the Id of the assigned person is stored then choose this value

9

The ID of the field where Id or other attributes of the 'Assigned Group' of an item is stored

10

Here display Id or Id can be filled.

If the groupId field contains displayId or other attributes like name
of the group, then displayId can be entered here else ID should be
entered here. 

11

The ID of the field where the Id of the 'Modified Date' of an item is stored

12

The ID of the selection field which you want to use in the kanban board.

For Ex: Status can be used here, and all items are sorted into different lanes according to their statuses

13

If you want to place some filters on the Items, then you can configure this field.

An example can be found in the configuration of a single-source kanban board

14

Id's of the field written here are available in the filter section of the Kanban Board,

based on these fields filters can be applied to Kanban Board.

15

It is used to point the user to the edit page of an item. A suitable link can be configured here.

The ID of the item is automatically appended when clicked on the Item - pop-up button.

16

Here you need to fill the id of the selection field that you want to use as cardShadowField.

For Ex: Priority, Items will have a shadow of different colours according to the priority.

17 - 34

Card Shadow Colors are configured. Any colours can be chosen according to requirements.

35

Here you need to specify the process which will define the behaviour of an item when it is shifted from one lane to another.

This process is triggered when the user changes the lane of an item.

36

Here you need to specify the process which will define the behaviour of an item when a user is dropped on an item.

This process is triggered when the user drops users drags a Person from the chip bar and drops it on an item.

37

Here you need to specify the process which will define the behaviour of an item when a group is dropped on an item.

This process is triggered when the user drops users drags a Group from the chip bar and drops it on an item.

38 - 42

Here you will specify on which status values, the lane change dialogue will open.

44 - 48

Lane changes dialogue to view and the presentation of the view is decided

51

Here you specify the name of the view that you want to open as Lane Change dialogue

53

Here the size of the blade is specified, possible values are 'rx-sm', 'rx-md', 'rx-lg', 'rx-xl' .

54

Here the presentation type is specified, possible values are "dockedRightModal", "dockedLeftModal", "centeredModal"


The same steps from the entry configuration are repeated for Work order. If there are more sources then all of the sources can be configured in a similar way.

 {
     "recordDefinitionName": "WOI:WorkOrder",
     "recordName": "Workorder",
     "itemDescription": 1000000000,
     "itemDisplayedId": 1000000182,
     "personId": 1000003231,
     "personIdType": "loginId",
     "groupId": 1000003234,
     "groupIdType": "displayId",
     "itemModifiedDate": 6,
     "laneField": 7,
     "initialEntryFilter": [],
     "availableFilterFields": "6,1000000000,1000000181,1000000164,1000000181,1000000182,1000003231,1000003234",
     "link": "https://example-smartit.onbmc.com/smartit/app/#/workorder/",
     "cardShadowField": 1000000164,
     "cardShadowColors": [
       {
         "id": "0",
         "color": "#ff0404"
       },
       {
         "id": "1",
         "color": "#f98700"
       },
       {
         "id": "2",
         "color": "#fdf01d"
       },
       {
         "id": "3",
         "color": "#89c341"
       }
      ],
     "itemDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Workorder - Change Lane",
     "userDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Workorder - Assign Person",
     "groupDropProcess": "com.fusiongbs.visual:Kanban - ITSM - Workorder - Assign Group",
     "laneChangeDialogOn": [
       0,
       1,
       2,
       3
      ],
     "laneChangeBlade": {
       "viewDefinitionName": "com.fusiongbs.visual:Kanban - ITSM - Workorder - Lane Change Dialog",
       "title": "Workorder - Lane Change Dialog",
       "size": "rx-md",
       "presentationType": "dockedRightModal"
     },
     "customBlade": {
       "viewDefinitionName": "com.fusiongbs.visual:Kanban - ITSM - Workorder - Custom Blade",
       "title": "Workorder - Quick Edit",
       "size": "rx-md",
       "presentationType": "dockedRightModal"
     }
   }
  ]
}  

Once you have pasted all the code into the JSONConfig field, the Multi-Source Kanban Board is ready to be used. 


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

Fusion Visual Boards for BMC Helix 21.3