Facilitating data entry through named lists


In BMC Helix Innovation Studio, a named list is a reusable list of data you can associate with a record field to make data entry faster and more accurate. Use named lists to assist with data entry on application UI fields in BMC Helix Innovation Studio. After you associate a named list with a record field, you can enter the named list name in a field to display a list of values.

Named lists offer the following advantages:

  • Restricts the input to a specified set of valid options, which eliminates input errors and ensures consistency.
  • Speeds up data entry by allowing the selection of options rather than manual value entry.

You first create a named list in BMC Helix Innovation Studio and then associate that named list with a record definition or a view definition.

Important

Application business analysts can customize the objects developed in their applications and that are marked customizable by the administrator, but cannot customize the objects developed in com.bmc.arsys in Best Practice Customization mode. For example, objects in core BMC applications such as, Foundation, Approval, and Assignment cannot be customized in Best Practice Customization mode. For more information, see Customization-layer.

The following video (4:15) describes how you can create and use named lists to optimize data entry in your application, with the help of a real-world example:

icon_play.pngWatch the YouTube video about Optimizing data entry by using named list definition

Task 1: To create a named list

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab. 
  2. Select the application for which you want to add a named list.
  3. On the Named Lists tab, click New.
  4. On the Create Named List window, specify the properties for the named list. The following table provides information about the properties: 

    Property

    Description

    Example

    Name

    Provide a unique name for the list.

    The name must start with an alphanumeric character and can contain only alphanumeric characters, hyphens, dashes, and spaces.


    23_3_Named_List_Page.png

    Record definition

    Identify the record definition to associate with the named list.

    Important: The Application and Library-scoped definitions are marked with an asterisk ( * ). Make sure that you follow the guidelines listed in Object-definition-scope before you select these definitions.

    Filter expression

    Define the condition to control which items appear on the named list in the application.

    Search behavior

    Specify how the search engine should match the search terms and display the results.

    The following options are available:

    • (Default) Contains—All the values that contain the search term are displayed. 
    • Starts with—The values that begin with the search term are displayed.
    • Exact match—Only the values that exactly match the search term are displayed.

    Display name field

    Select the field that will store the names of the named list items.

    Value field

    Select the field that will store the values of the named list items.

    If you select different fields for the Display name field and Value field, see selecting different fields for label and source.

    Edit contextual label fields

    Define additional fields to filter the search results and display more context in breadcrumbs at runtime.

    To know how to define contextual label fields, see To filter named list by using contextual labels.

    Scope/Customization Options

    Define the scope for a named list definition.

    This option further contains the following options:

    • (Default) Application/Library—To limit the use of the definition within the same Digital Service application or library. 
    • Public—To enable the definition to be used by all the applications or library, and allow customizations for this definition.
  5. Save the named list.

(Optional) Task: To select different fields for label and source

If you select different fields for Display name field and Value field, you must add a field to the selected record definition to store the label value, and create a rule to populate the label value.

For example, when you use the record definition that has the support group field with the named list associated with a record grid, you can add a label field for support group, and filter the record grid data based on the label value.

If you do not add a field to store the label value and a rule to populate the label value, you must use the record definition in a record grid in a view definition. On the view definition, when you apply a filter on the support group field, the search result does not display the result for the support group field.

Example:

Consider the following definitions:

  • Record definition Ticket—consists of the Customer ID field (in Ticket) bound to the named list Customers
  • Named list definition Customers—consists of different values for Display name field and Value field and the definition uses record definition Ticket
  • View definition—consists of a record grid (for Ticket)

Using the view definition, if you want to filter and sort customers (by Customer Name), you must fulfill the following considerations:

  • In the record definition Ticket, you must have two fields:
    • for storing the ID
    • for storing the label (Customer Name)
  • For creating record instances (for record definition Ticket), in the record editor, you must only expose the Customer ID field, which is displayed as a list of Customer Names.
  • A rule to update the Customer Name field when a Ticket is created or updated. Following are the sample images for creating a rule:


    Sample image

    Rule

    22_1_facilitating_data_Rule.gif

    Action properties

    22_1_facilitating_data_Action_Properties.png

    Trigger properties

    22_1_facilitating_data_TriggerProperties.png

    Rule properties

    22_1_facilitating_data_RuleProperties.png

    Following is the sample JSON for creating a rule:

    {
      "version": null,
      "lastUpdateTime": "2016-11-03T15:48:16.264+0000",
      "lastChangedBy": "jonnie",
      "owner": "jonnie",
      "name": "com.example.taskmanager:Update Ticket Customer Name",
      "tags": null,
      "description": null,
      "overlayGroupId": "1",
      "guid": "rxGAA5V0GEZNIAO6COPWO5HAFSYUYX",
      "triggerEvent": {
        "resourceType": "com.bmc.arsys.rx.services.rule.domain.RecordTriggerEvent",
        "eventTypes": [
          "ON_UPDATE",
          "ON_CREATE"
        ],
        "executionOrder": 500
      },
      "isEnabled": true,
      "recordDefinitionNames": [
        "com.example.taskmanager:Ticket"
      ],
      "qualification": null,
      "actions": [
        {
          "resourceType": "com.bmc.arsys.rx.services.rule.domain.CustomRuleAction",
          "name": "Get Record",
          "actionTypeName": "getRecord",
          "inputMap": [
            {
              "assignTarget": "recordDefinitionName",
              "expression": "\"com.example.taskmanager:Customer\""
            },
            {
              "assignTarget": "recordID",
              "expression": "${ruleContext.Customer ID}"
            }
          ],
          "outputMap": [
            {
              "assignTarget": "Customer Name",
              "expression": "${actionResult.output.10001995}"
            }
          ],
          "runAsUser": null
        }
      ],
      "overlayDescriptor": null,
      "allowOverlay": false
    }

When adding a field to store the label value and creating a rule to populate the label value, the record grid (for Ticket) displays the Customer Name column, which allows you to filter and sort customers.

Task 2: To associate the named list with a record definition

After you create a named list, you associate the named list with a record definition. 

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Select the application for which you want to add a named list.
  3. Click the Records tab.
  4. Select the record definition to which you want to associate the named list.
  5. Select the field name for which you want to define a named list.
  6. In the Properties pane, click the Settings 22_1_Settings icon.pngicon.
  7. From the Named list list, select the named list.
  8. Click Save.

Task 3: To associate the named list with a view definition

After you create a named list, you associate the named list with a view definition. 

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Select the application for which you want to add a named list.
  3. On the Views tab, click the name of the view definition to which you want to associate a named list.
  4. From the Palette pane, drag the Text component to the canvas as you want it to appear on the user interface.
  5. In the Properties pane, click the Settings 22_1_Settings icon.png icon.
  6. From the Field Name list, select the record field with the named list association.
  7. Click Save.

Task 4: To filter a named list by using contextual label fields

While creating a named list, you can define contextual label fields to help users filter and refine the results at runtime.

  1. On the Create Named List window, specify the properties for the named list as described in To create a named list.
  2. Click Edit contextual label fields.
  3. On the Edit contextual label fields window, click Add contextual label field.
    23_3_contextual_labels_window.png

  4. From the Field list, select the field to refine the search results.
  5. (Optional) Select the Visible and Searchable checkboxes.
    Select Visible, to display the contextual label fields in the breadcrumbs at runtime. 
    Select Searchable to provide the ability for the user to perform a search on the contextual fields at runtime.

23_3_Contextual_label_Search_Runtime.png

  1. Click Save.

Important

You can define up to four contextual label fields for a named list.

To copy a named list

You can reuse an existing named list definition by copying it within the application or to a different application or library.

Important

Make sure the record definitions or view definitions that you associate with a named list are public-scoped. For more information, see Object-definition-scope.

The following image describes how the objects are referenced after you copy the named list to the target application or library:


22_1_facilitating_data_named_list.png

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Select the application or library that contains the named list you want to copy.
  3. Click Named lists, select the named list definition that you want to copy, and click Copy.
  4. In the Copy definition dialog box, enter the following details:

    • From Target application/library, select the target application or library where you want to copy the named list.
    • In the Definition name field, type a name for the named list definition. 

    22_1_Copy record definition.png

  5. Click Copy. The copied named list is displayed in the Named list designer.

 

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