Setting up Multi-Source Kanban Board for BMC Helix ITSM
Introduction
This topic contains details on 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 topic for Single-source Kanban Board first.
The below example describes the configuration of a Kanban Board for BMC Helix ITSM-Incident and Workorder.
To configure a Kanban board to show multiple sources
- To enable the Kanban Board to display several entities at the same time, the 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.
- Go to the group configuration section in the configuration menu. Fill in all the fields according to your requirements.
- Go to the Records tab from the Extension Toolbox library and select “Kanban Multisource Config” Record Definition and click on Edit Data.
- 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: In this field JSON code is supposed to be written which is explained below.
5. 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.
Code | Short Description with respect to the line numbers | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{ "laneDefinitions": [ { "name": "Backlog", "id": 0, "contains": { "com.fusiongbs.visual:ITSM -Incident": [ 1, 0, 3 ], "com.fusiongbs.visual:ITSM- Workorder": [ 0, 1, 2 ] } }, { "name": "In Progress", "id": 1, "contains": { "com.fusiongbs.visual:ITSM - Incident": [ 2 ], "com.fusiongbs.visual:ITSM- Workorder": [ 4, 3 ] } }, { "name": "Done", "id": 2, "contains": { "com.fusiongbs.visual:ITSM -Incident": [ 4 ], "com.fusiongbs.visual:ITSM- Workorder": [ 5 ] } }, { "name":"Cancelled/Rejected", "id": 3, "contains": { "com.fusiongbs.visual:ITSM -Incident": [ 6 ], "com.fusiongbs.visual:ITSM- Workorder": [ 6, 7 ] } } ], | Lane Definition Section - Line (1 - 57)
| ||||||||||||||||||||||||||||||||||||||||||||||||
"entryDefinitions": [ { "recordDefinitionName":"com.fusiongbs.visual:ITSM - Incident", "recordName":"Incident", "itemDescription": 536870921, "itemDisplayedId": 536870931, "personId": 536870932, "personIdType": "loginId", "groupId": 536870926, "groupIdType":"dataSourceIdMapping", "groupMapping": { "recordDefinitionName":"com.fusiongbs.visual:ITSM - Support Groups", "groupId": 1, "dataSourceId": 379 }, "itemModifiedDate": 536870930, "laneField": 536870914, "initialEntryFilter": [], "link":"https://CUSTOMER_SPECIFIC_BASE_URL.com/smartit/app/#/incident/", "cardShadowField": 536870916, "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" } }, | Entry Definition Section
|
- Same steps from entry configuration is repeated for Workorder
- If there are more sources then all of the sources can be configured in a similar way.
"recordDefinitionName": "com.fusiongbs.visual:ITSM - Workorder",
"recordName":"Workorder",
"itemDescription": 536870925,
"itemDisplayedId": 1,
"personId": 536870919,
"personIdType": "loginId",
"groupId": 536870932,
"groupIdType": "dataSourceIdMapping",
"groupMapping": {
"recordDefinitionName":"com.fusiongbs.visual:ITSM - Support Groups",
"groupId": 1,
"dataSourceId": 379
},
"itemModifiedDate": 536870913,
"laneField": 536870914,
"initialEntryFilter": [
{
"fieldId": 536870920,
"resourceType":"com.bmc.arsys.rx.standardlib.record.SelectionFieldDefinition",
"values": [
{
"id": "2"
},
{
"id": "3"
}
]
}
],
"link":"https://vipcon-dsom-itsm.trybmc.com/smartit/app/#/workorder/",
"cardShadowField": 536870920,
"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 JSONConfig field, multi-source Kanban Board is ready to be used.