Setting up Single-Source Kanban Board for BMC Helix ITSM


Introduction

This topic contains details on how to create a single-source Kanban Board. The single-source Kanban Board is designed for one source, i.e. one record definition. Refer to page "Kanban-Board" for a quick introduction. 

Prerequisites to configure a Single-Source Kanban Board

There are two cases before we start configuring a single-source Kanban Board - 

Case 1: If you want to configure Kanban for BMC Helix Business Workflows or BMC Helix ITSM or an entity from Fusion Agility Suite then almost no changes are required in the data model. 

Case 2: Apart from the above for any other use case that needs to be implemented then the following requirements should be met: 


    • The custom record definition, that needs to be displayed in the Kanban Board, must have an association with the record definition "com.bmc.arsys.rx.foundation:Person".
      • One to Many
      • Node A: Person
      • Node B: Custom Record Definition 
    • Record definition must have an association with the record definition "com.bmc.arsys.rx.foundation:Support Group" (or any other record definition, that serves as a group).
      • One to Many
      • Node A: Group
      • Node B: Custom Record Definition
    • The chosen group record definition also needs an association to "com.bmc.arsys.rx.foundation:Person".
      • Many to Many
      • Node A: Group
      • Node B: Person

Once these requirements are met we can move on with the configuration of the Kanban Board. Below is an example, that shows a configuration of the Kanban Board for BMC Helix ITSM-Task

To create a single-source Kanban Board 

  1. Create a “New” regular view and give a name to the view, For ex: "Kanban - ITSM - Task" and save it.
  2. Next comes the Kanban Board itself. It can be found in the palette under "Toolbox" at the end of the list. The search function also provides quick help.
    image2020-12-18_11-52-34.png
  3. After dropping it onto the canvas, it can be configured using the property pane on the right side of the canvas. Below is the configuration for each property.

General Section

In the "General" section, you can specify the height and width of the lanes in addition to the label. The current values are well suited for five lanes.

image2020-12-15_18-18-59.png


Field Name

Description

Label Field

In this field you specify the title of the Kanban Board.

Data Source

In this field you specify the source. It contains two values: single-source and multi-source.

Lane Height

This field is used in configuring the height of the Kanban Board lanes using CSS.

Lane Width

This field is used in configuring the width of the Kanban Board lanes using CSS.

Hidden Toggle

Switching it on will hide the Kanban Board.


Entry Section

In this section, mapping of record definition with corresponding fields is done.

image2020-12-15_18-21-8.png



Field Name

Description

Record Definition Name

Selection of the record definition, that serves as a source for the cards.

Item Description

The field's value will be displayed as the headline of each card.

Item Display Id

Display ID or Prefix Display ID Field can be mapped here.

Last Modified

Modified Date Field should be mapped here.

Person ID

Here you should map the field which holds the data for an assigned person.

Person ID Type

You can choose from two values: Login ID and ID. It depends on how the assigned person field is configured in your record.

Group ID

Here you should map the field where Group ID is stored.


Lane Configuration Section

In this section, you can configure what will be the source of your lane and how it will behave.

image2020-12-15_18-23-25.png


Field Name

Description

Source

This field determines from where the Kanban Board extracts its lanes. There are 3 types;

  • Selection Field: It can be used for all the use-cases.
  • Behavior: It can be used for use-cases related to root objects of Agility Suite.
  • Flowset: It is used for use-cases of BWF.

Company ID

Applicable only for BWF use cases. It helps to determine the correct Flowset.

Behavior ID / Flowset ID

Flowsets are used in Business Workflows and behaviors in Fusion Agility Suite to describe different status lifecycles.

Successor Indication

If Successor Indication is enabled, the Kanban Board determines which successors are possible for a certain item. This option is available for Behaviors and Flowsets.

Lane Field

A field can be chosen, out of all the selected fields from the record. The options of that field will be displayed as a lane on Kanban Board.

Invisible Lanes

The values of the selection field that you do not want to show in the Kanban Board can be put here. The values need to be comma-separated.

For ex: You do not want to display the status 'New' in the Kanban Board, so you can put the value of 'New' (1000) here, then the 'New' lane will be hidden and items with 'New' status will not be displayed in the board.

Lane Change Dialog Lanes

You can specify in which lane the Lane Change Dialog should be displayed,

A potential use case is when the status reason has to be specified for items when they are moved to the lane "Closed". The selection can be handled in the dialog.


Group Configuration Section

image2020-12-15_18-27-30.png


Field Name

Description

Group Record Definition Name

The record that is associated with the item and acts as a 'group' needs to be selected here.

Group Id Type

There are two possible values to this field:

  • Data Source Display ID: It is usually used with External Records(e.g., ITSM)
  • ID: It can be used when you are using regular records.

Displayed Name Field

In this field you should map a field that contains the name of the group that should be displayed to the end-user (Displayed Name Field) on the Kanban Board.

Ex: 1000000010 is the ID of the field "Organization Name" from the Support Group Foundation Record. This value of this field is displayed to the end-user in the application.

Id Field

The ID field of the group record needs to be mapped here.

Ex: Field 379 reflects the ID of the support groups within BMC Helix Innovation Studio.

Data Source Id Field

This field needs to be mapped when the Group ID Type is 'Data Source Display ID'. More info about how to map this field is given below.

Ex: Field 304418431 is the ID (external) that represents the support groups of the synced foundation data from BMC ITSM. 

Person To Group Association Association Definition Name

Here you need to choose the association b/w Person and Group.

Note: If you are configuring Kanban for ITSM, then Foundation Data needs to be synchronized.


Example of Group Configuration when Group Id Type is "Id"

Without having external Data Sources configured we need to know what is the relevant ID field that connects Person and Group ID Field. Then we will need the field that contains the string which should be displayed at the end of the user - Displayed Name Field. Value for the Group ID is "ID" and the Data Source ID field can be ignored for this scenario.

image2021-3-3_12-41-15.png

Here we have mapped the "Team" record in the Group Definition Name. We also need to map a suitable Association between the Person and the Team record.

image2021-3-3_16-36-32.png

Association Defined - Person can be a member of Teams

Example of Group Configuration when Group Id Type is "Data Source Display Id"

Data Source Display ID helps us in getting records and data from external record definitions with the help of Group ID Type, Data Source ID Field, and Group Mapping. The below example shows us how it is implemented for our use case

image2021-7-20_18-24-19.png

With external data from ITSM, we have a special use case, which was realized by introducing the Group ID Type Field, Data Source ID Field, and Group Mapping Section.

What is this Use Case?

The ITSM Kanban Board is getting its data from the 'ITSM - Task record'. This is an external record. The Foundation Data Sync that occurs b/w Helix Platform and ITSM syncs data b/w ITSM and Helix Platform. As we can see a task is assigned to the support group "Visual Boards". In the ITSM data, the Identifier of this support group is stored in a field "Assigned Group ID", In this case, it is "TAS000000000008".

image2021-7-20_12-46-11.png

image2021-7-20_17-54-26.png

This special "Support Group Display ID" is not a part of Foundation Data Sync. There is no dedicated field in the Support Group Record(Foundation Lib) that stores this ID. However, it is needed to identify which support group in Foundation belongs to the "Assigned Group ID" in the item.

The solution to this problem is :

Since the Group Display ID, that is required for the incident is not part of the information that is available in the Foundation Data Record, we must search for it, based on what we have.

For that, we use the Data Source GUID (ID of the group in ITSM), which is available for all the synced support groups. In the configuration, we define the corresponding field id of the field, that stores the Data Source GUID. (This configuration was introduced with respect to possible other records, that can be used for group representation. For these the location of this information might be different, which is why it is not hard-coded here.)

With the GUID we can identify the support group in the external record “ITSM – Support Groups”.

Through the mapping configuration, we know the field of the ITSM – Support Group, that holds the Data Source GUID (Mapped Group ID). The Mapped Group Displayed Id tells us which field contains the Group ID, that must be used in the Incident.


Group Mapping Section

This Section is only enabled when "Group Id Type" in the Group Configuration is "Data Source Display ID".

image2020-12-15_18-28-46.png

In this area, the ID from the Foundation Support Group (379) is mapped with the ID (1) from the BMC Helix Innovation Studio Support Groups ("ITSM - Support Groups" Record). (Example for group configuration is explained in section -"Example of Group configuration")

Field Name

Description

Mapped Group Record Definition Name

It will point to an external record definition.

Mapped Group Id

Id of the field which stores the Group ID

Mapped Group Displayed Id

Id of the field which stores the Display ID


Filters Section

image2020-12-15_18-30-24.png


Field Name

Description

Initial Entry Filters

Initial entry filters allow us to filter by any field from the Item record definition. Group filter, filters by company groups, and User filters with specific users. 

Group Filter Expression

This field allows us to filter the Groups Displayed on Kanban Board.

User Filter Expression

Users Displayed in the Kanban Board can be filtered according to specific criteria.


Filters

Initial Entry filters:

Besides the possibility of Group and User filters, you can filter by any field.

  • In the first example of the text field filter, it is determined that only items with the value "123456789" in the field with ID '536875002' will be displayed.
  • In the second example of the selection field filter, it is determined that only items where the selection field with ID '536870916' has a value of '2' or '3'.
  • In the third example of the date field filter it is determined that only the items where the date field with ID '6' has a value b/w "2020-8-5 - 2020-8-6".

No.

Type of Filter

JSON Format

When used in Expression Editor

1

Text Field Filter

{
 "fieldId": 536875002,
 "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
 "values": [
   {
     "name": "123456789"
   }
  ]
}
 "[{
  \"
fieldId\": 536875002,
  \"
resourceType\": \"com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition\",
  \"
values\": [
    {
      \"
name\": \"123456789\"
    }
  ]
}]"

2

Selection Field Filter

{
         "fieldId": 536870916,
         "resourceType": "com.bmc.arsys.rx.standardlib.record.SelectionFieldDefinition",
         "values": [
           {
             "id": "2"
           },
           {
             "id": "3"
           }
          ]
}
 "[{
          \"
fieldId\": 536870916,
          \"
resourceType\": \"com.bmc.arsys.rx.standardlib.record.SelectionFieldDefinition\",
          \"
values\": [
            {
              \"
id\": \"2\"
            },
            {
              \"
id\": \"3\"
            }
          ]
}]"

3

Date Field Filter

{
         "fieldId": 6,
         "resourceType": "com.bmc.arsys.rx.standardlib.record.DateTimeFieldDefinition",
         "values": [
           {
             "name": "2020-8-5 - 2020-8-6"
           }
          ]
}
"[{
          \"
fieldId\": 6,
          \"
resourceType\": \"com.bmc.arsys.rx.standardlib.record.DateTimeFieldDefinition\",
          \"
values\": [
            {
              \"
name\": \"2020-8-5 - 2020-8-6\"
            }
          ]
}]"


Link Configuration

The ID of the respective entity is automatically appended to the end of the URL and therefore does not need to be added further in this section.




image2020-12-15_18-31-56.png


image2021-7-19_11-41-9.png

On Clicking this button on the Kanban Board, the link to the edit view of Task will open up. The ID of the respective entity is automatically appended to the end of the URL and therefore does not need to be added further in this section.



Field Name

Description

Link Text

Here, the "Setting Value" object contains the base URL which can be extended by a suitable substring("task/"). Instead of providing a dynamic object, you can also provide the whole URL as static text. The link must start with "HTTPS" or "HTTP".

Lane Change Dialog Configuration

In this area, the custom view for the Lane Change Dialog is configured. This view is only opened when a user moves the item to another lane via drag and drop.

For example, it can be used to specify the status reason while changing status.

image2020-12-15_18-32-45.png


Field Name

Description

Lane Change Dialog Definition Name

Here, you need to select the view that you want to open up when changing lanes.

The dialog will only open up when you move an item on the lanes where you have configured 'Lane Change Dialog Lanes' in the Lane Configuration Section.

Size

This field will determine the size of the dialog. There are six possible values in this field, a value can be chosen according to requirement.

Presentation Type

This field will determine where the dialog will open up. There are three possible values to this field, a value can be chosen according to requirement.

Title

Here you can specify the title of the dialog box. It will be displayed at the top of the dialog when it opens up. It is an optional field.

NOTE: The Input parameters of the selected view need to be exactly the same as it is in the Extension Toolbox template view. You can take that view as a reference.


Custom Blade Configuration

In this section, we configure the view that will open when clicked on the pencil icon on the Kanban Board. Here we can decide the size, title, presentation type of the view. 

image2020-12-15_18-33-27.png



Field Name

Description

View Definition Name

Here, you need to select the view that you want to open up, by clicking the pen/edit icon on the Kanban Board.

Size

This field will determine the size of the dialog. There are six possible values in this field, a value can be chosen according to requirement.

Presentation Type

This field will determine where the dialog will open up. There are three possible values to this field, a value can be chosen according to requirement.

Title

Here you can specify the title of the dialog box. It will be displayed at the top of the dialog when it opens up. It is an optional field.

NOTE: The input parameters of the view needs to be exactly same as it is in the Extension Toolbox. You can take that view as a reference while creating your views.

Processes Configuration

In this section we map the process that will be triggered on the following actions:

  • Dragging and dropping group from the chip bar
  • Dragging and dropping user from the chip bar
  • Changing the lanes of the Items

image2020-12-15_18-33-52.png


Field Name

Description

Group Drop Process

The process that you will select here will be triggered when a Group is dragged from the chip Bar to an item. This process will be used to assign the group to that item.

User Drop Process

The process that you will select here will be triggered when a Person is dragged from the chip Bar to an item. This process will be used to assign the user to that item.

Item Drop

The process that you will select here will be triggered when you change the lane of an item. This process will be used to change the status of that item.

NOTE: When creating any of these processes, for best results you can copy the respective process from the corresponding Extension Toolbox templates. If not, then you need to take care of the naming conventions of the input parameters of the process. The names of input parameters should be exactly the same as the ones in the templates.


Timestamp Configuration

image2020-12-15_18-34-49.png

Field Name

Description

Date Threshold

Here you can specify after how many days you want to change the format of the modified date.

For ex: The date threshold is set to 5, so for days the modified date will be like "Modified 4 days ago", after the 5th day it will start showing the modified date in the format specified below.

Date Format

This date format is pre-configured however, it can be changed according to requirements.

Colors Configuration

In this area, the company's HTML color codes can be used to customize the Kanban Board visually.

image2020-12-15_18-36-37.png

The default values are currently filled in here.

Clicking on the field opens up a color picker, and colors can be selected from there.

Field Name

Description

Toolbar Color

Allows you to change the color of the toolbar.

Toolbar Text Color

Allows you to change the text color of the toolbar.

Lane Color

Allows you to change the color of Lane.

Lane Text Color

Allows you to change the text color of Lane.

Card Color

Allows you to change the color of the card.

Card Text Color

Allows you to change the text color of the card.

Successor Indication Color

Allows you to change the color of successor indication in the Kanban Board.


Card Shadow Configuration

image2020-12-15_19-1-6.png

Field Name

Description

Card Shadow Field

In this field you can choose from all the selection fields available in the record.

Setting this field allows you to distinguish items based on an attribute.

For ex: Priority, Just looking at the items, allows you to distinguish these items based on their priority.

Here is an example of how items will look once the card shadow field is set up.

image2021-3-3_16-22-2.png





Once all the configuration is done, click on Save and the Kanban Board is ready to use.

                                                         

 

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