Dashboard properties

Learn about the dashboard properties that are used when you develop dashboards.

Layout

A layout refers to the user-specific configuration of a page that is based on a layout template. For example, on the Dashboards navigation tab, each tab is a user layout, for example, Overview and Inventory. If you move the cards, you can see that you can control specific card placement.

Layout template

Each dashboard is based on a layout template. A template includes the following attributes:
Attribute Description
id The ID of the page
type The type of page
sequence Order of the tab if the page type is a dashboard - sequence
widgets List of cards that are part of the page.
breadcrumbEnabled Breadcrumb feature enabled (properties - breadcrumbEnabled)
breadcrumbList Breadcrumb path (properties - breadcrumbList)
hideTitle Hidden title (properties - hideTitle)
timestampEnabled Timestamp feature is enabled (properties -timestampEnabled)
accordions[X]… Page includes accordion sections.

Widget attributes

A widget includes the following attributes:
Attribute Description
section Location of the cards on the page
chartType Type of card
sequence Order of the cards - sequence
layoutId The ID of layout to which we want to add the card.
widgetDefinitionId The ID of the widget.
name The name of the widget.
colSpan Width of the widget.
rowSpan Height of the widget.

One card layout template

The following JSON configuration is an example of the Inventory tab that uses a one card layout template.

View_All_Layout templates

The following JSON configuration is an example of the Inventory approaching OOS view that uses a View_All_Layout template. The pages that use this template are not displayed as tabs and instead are shown as a detail page that is linked to within widgets.

{
  "id": "inventory_approaching_oos_view_all",
  "offeringId": "SCO",
  "state": "ACTIVE",
  "sequence": 0,
  "tenantId": "<tenant_id>",
  "type": "View_All_Layout",
  "createdDate": "2020-09-15T15:04:40.270Z",
  "creator": "samsmith@ibm.com",
  "lastModifiedDate": "2020-08-12T15:04:40.270Z",
  "lastModifiedBy": "samsmith@ibm.com",
  "widgets": [
    {
      "id": "INVENTORY_APPROACHING_OOS_VIEW_ALL",
      "layoutId": "inventory_approaching_oos_view_all",
      "sequence": 0,
      "widgetDefinitionId": "INVENTORY_APPROACHING_OOS_VIEW_ALL",
      "name": "Inventory approaching oos",
      "creator": "samsmith@ibm.com",
      "createdDate": "2020-09-15T19:58:22.154Z",
      "parentWidgetId": null,
      "widgetProperties": {},
      "displayProperties": {
        "xPos": "0",
        "yPos": "0",
        "rowSpan": "41",
        "colSpan": "4",
        "chartType": "data_table",
        "fullBodyWidget": "true",
        "enabled": "true",
        "section": "layout_body"
      }
    }
  ],
  "defaultLanguage": "en",
  "descriptions": {
    "en": {
      "name": "COMMON.INVENTORY_AOOS",
      "language": "en",
      "description": "Default Inventory approaching out of stock view all drilldown"
    }
  },
  "properties": [
    {
      "name": "breadcrumbEnabled",
      "values": [true],
      "metaInformation": "layoutOption"
    },
    {
      "name": "breadcrumbList",
      "values": [
        "{\"label\": \"COMMON.INVENTORY_AOOS\", \"routeName\": \"inventory_approaching_oos_view_all\"}"
      ],
      "metaInformation": "layoutOption"
    },
    {
      "name": "timestampEnabled",
      "values": [false],
      "metaInformation": "layoutOption"
    },
    {
      "name": "ivAssistantEnabled",
      "values": [true],
      "metaInformation": "layoutOption"
    },
    {
      "name": "state.empty.title",
      "values": ["COMMON.EMPTY_TITLE"],
      "metaInformation": "layoutOption"
    },
    {
      "name": "state.empty.body",
      "metaInformation": "layoutOption",
      "values": ["COMMON.EMPTY_BODY"]
    },
    {
      "name": "state.empty.image",
      "metaInformation": "layoutOption",
      "values": ["dataEmpty"]
    },
    {
      "name": "state.empty.link.label",
      "values": ["COMMON.EMPTY_LINK_LABEL"],
      "metaInformation": "layoutOption"
    },
    {
      "name": "state.empty.link.href.type",
      "values": ["NEW_WINDOW"],
      "metaInformation": "layoutOption"
    },
    {
      "name": "state.empty.link.href.path",
      "values": [
        "https://www.ibm.com/docs/en/sscis?topic=troubleshooting-no-data-display"
      ],
      "metaInformation": "layoutOption"
    }
  ],
  "version": 1
}

Cards

Each page is made up of one or more cards, which are referred to in the service as a widget. These cards display information to the user in various formats. Each card is based on a widget definition config file, which outlines the properties of a card. The main properties of a card are:

Attribute Description
offeringId The ID of the offering that includes the widget.
id Widget definition ID
state State of the widget - active or inactive
identifier An identifier (ID)
type Type of the page on which the widget appears
tenantId The ID of the tenant for the widget definition
createdDate The date that the widget was created.
createdBy Name of the widget creator
lastModifiedDate The date that the widget was last modified.
lastModifiedBy Name of the user who last modified the widget.
path Path of the widget - always an API
vendor Vendor - always IBM®
defaultLanguage Default language of the widget
_version Version number of the widget
descriptions Description of the widget
devConfigurations Display properties
userConfigurations - chartType Type of a widget
adminConfigurations Any adminConfigurations, not currently used

The type of devConfigurations for a card depends on its chartType. For more information on card display properties, see Widget Definition Properties.

The following widget definition is an example of the table card INVENTORY_APPROACHING_OOS_VIEW_ALL:

{
  "offeringId": "test_offeringId",
  "id": "INVENTORY_APPROACHING_OOS_VIEW_ALL",
  "state": "ACTIVE",
  "identifier": "INVENTORY_APPROACHING_OOS_VIEW_ALL",
  "type": "Dashboard_Widget",
  "tenantId": "test_tenantId",
  "createdDate": "2020-06-18T20:07:11.554Z",
  "createdBy": "samsmith@ibm.com",
  "lastModifiedDate": "2020-06-25T17:02:25.585Z",
  "lastModifiedBy": "samsmith@ibm.com",
  "path": "/api",
  "vendor": "IBM",
  "defaultLanguage": "en",
  "version": 1,
  "descriptions": {
    "en": {
      "name": "Inventory approaching out of stock",
      "language": "en",
      "description": "View inventory approaching out of stock"
    }
  },
  "devConfigurations": [
    {
      "name": "header.type",
      "values": ["metric_header"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "header.title",
      "values": ["Inventory approaching out of stock"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "header.value",
      "values": ["{{ totalCount }}"],
      "metaInformation": "widgetOption"
    },
    { "name": "colSpan", "values": ["2"], "metaInformation": "widgetOption" },
    { "name": "rowSpan", "values": ["2"], "metaInformation": "widgetOption" },
    {
      "name": "resizeToContent",
      "values": ["true"],
      "metaInformation": "widgetOption"
    },
    { "name": "data.service", "values": ["infohub"] },
    {
      "name": "queries[0].processor",
      "values": ["EDGES"],
      "metaInformation": "infohub.processor"
    },
    {
      "name": "queries[0].fields",
      "values": [
        "query InventoryApproachingOOSList($tenantId: String, $cursorId: String, $pageLength: Int, $locationGroupFilter: BooleanExp = { CONSTANT_VALUE: true }, $categoryFilter: BooleanExp = { CONSTANT_VALUE: true } $productStatusFilter: BooleanExp = { CONSTANT_VALUE: true } $sortBy: String = \"quantityBelowLowerThreshold\" $sortOrder: SortOrder = DESC) { inventoryApproachingOOS:businessObjects( advancedFilter: { AND: [ { GREATER_THAN: [ { SELECT: \"quantityBelowLowerThreshold\", type: INT } { type: INT, VALUE: \"0\" } ] } { EQUALS: [{ SELECT: \"class\", type: STRING }, { type: STRING, VALUE: \"NEW\" }] } { EQUALS: [ { SELECT: \"segment\", type: STRING } { type: STRING, VALUE: \"UNSEGMENTED\" } ] } { EQUALS: [ { SELECT: \"inventoryParentType\", type: STRING } { type: STRING, VALUE: \"ONHAND\" } ] } $locationGroupFilter $categoryFilter $productStatusFilter ] } cursorParams: { after: $cursorId first: $pageLength sort: { fieldPath: $sortBy, order: $sortOrder } } hint: { viewId: \"inventoryflow\" } simpleFilter: { tenantId: $tenantId, type: Inventory } ) { totalCount pageInfo { hasNextPage endCursor } edges { cursor object { ... on Inventory { id product { id partNumber name value } location { id locationIdentifier locationName locationType } quantityBelowLowerThreshold daysOfSupply daysOfSupplyTarget expectedLeadTime class segment inventoryParentType quantity quantityUnits velocityCode } } } } }"
      ],
      "metaInformation": "infohub.fields"
    },
    {
      "name": "queries[0].variables.tenantId",
      "values": ["{{ tenantId }}"],
      "metaInformation": "infohub.variable.dynamic"
    },
    {
      "name": "queries[0].variables.sortBy",
      "values": ["{{ approachingOOSViewAll.sort.by }}"],
      "metaInformation": "infohub.variable.dynamic"
    },
    {
      "name": "queries[0].variables.sortOrder",
      "values": ["{{ approachingOOSViewAll.sort.order }}"],
      "metaInformation": "infohub.variable.dynamic"
    },
    {
      "name": "queries[0].variables.cursorId",
      "values": ["{{ cursorId }}"],
      "metaInformation": "infohub.variable.dynamic"
    },
    {
      "name": "queries[0].variables.pageLength",
      "values": ["{{ ApproachingOOS.pageLength }}"],
      "metaInformation": "infohub.variable.dynamic"
    },
    {
      "name": "queries[0].variables.locationGroupFilter",
      "values": [
        "{ \"EQUALS_ANY\": [ {\"SELECT\": \"location.locationGroups.id\", \"type\": \"STRING\" }, { \"VALUES\": {{ hubFilter.appliedFilters.DistributionGroup.ids }}, \"type\": \"STRING\" } ] }"
      ],
      "metaInformation": "infohub.variable.dynamicExpr"
    },
    {
      "name": "queries[0].variables.categoryFilter",
      "values": [
        "{ \"EQUALS_ANY\": [ {\"SELECT\": \"product.category.id\", \"type\": \"STRING\" }, { \"VALUES\": {{ hubFilter.appliedFilters.Category.ids }}, \"type\": \"STRING\" } ] }"
      ],
      "metaInformation": "infohub.variable.dynamicExpr"
    },
    {
      "name": "queries[0].variables.productStatusFilter",
      "values": [
        "{ \"EQUALS_ANY\": [ {\"SELECT\": \"product.status\", \"type\": \"STRING\" }, { \"VALUES\": {{ hubFilter.appliedFilters.ProductStatus.ids }}, \"type\": \"STRING\" } ] }"
      ],
      "metaInformation": "infohub.variable.dynamicExpr"
    },
    {
      "name": "columnSorted",
      "values": ["approachingOOSViewAll"],
      "metaInformation": "stateScope"
    },
    {
      "name": "approachingOOSViewAll.sort",
      "values": ["refreshData", "refreshSavedState"],
      "metaInformation": "stateSubscription"
    },
    {
      "name": "hubFilter.appliedFilters",
      "values": ["refreshData"],
      "metaInformation": "stateSubscription"
    },
    {
      "name": "pageChanged",
      "values": ["ApproachingOOS"],
      "metaInformation": "stateScope"
    },
    {
      "name": "ApproachingOOS.page",
      "values": ["refreshData"],
      "metaInformation": "stateSubscription"
    },
    {
      "name": "ApproachingOOS.pageLength",
      "values": ["refreshData"],
      "metaInformation": "stateSubscription"
    },
    {
      "name": "draggable",
      "values": ["false"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "showFooter",
      "values": ["false"],
      "metaInformation": "tableOption"
    },
    {
      "name": "pagination.enable",
      "values": [true],
      "metaInformation": "tableOption"
    },
    {
      "name": "pageInput.enable",
      "values": [true],
      "metaInformation": "tableOption"
    },
    {
      "name": "horizontalScroll.enable",
      "values": [true],
      "metaInformation": "tableOption"
    },
    {
      "name": "selectableRow.enable",
      "values": [false],
      "metaInformation": "tableOption"
    },
    {
      "name": "stickyTableHeader",
      "values": [false],
      "metaInformation": "tableOption"
    },
    { "name": "stripes", "values": [false], "metaInformation": "tableOption" },
    {
      "name": "configurable",
      "values": [false],
      "metaInformation": "tableOption"
    },
    {
      "name": "multiLevelHeaders.maxNumberOfHeaderRows",
      "values": [2],
      "metaInformation": "tableOption"
    },
    {
      "name": "columns[0].cell.label",
      "values": ["{{ product.partNumber }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].headers[0].label",
      "values": ["SKU"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].headers[1].label",
      "values": ["ID"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].sortable",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].cell.customTemplate",
      "values": ["linkTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].cell.href.type",
      "values": ["CUI_SHELL"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].cell.href.path",
      "values": ["/inventory-hub/inventory/sku"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].cell.href.params",
      "values": [
        "productId={{ product.partNumber }},UOM={{ quantityUnits }},productClass={{ class }},nodes={{ location.locationIdentifier }}"
      ],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[0].sequence",
      "values": [0],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].cell.label",
      "values": ["{{ product.name }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].headers[0].label",
      "values": ["SKU"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].headers[1].label",
      "values": ["Name"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].sortable",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[1].sequence",
      "values": [1],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].cell.label",
      "values": ["{{ product.value }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].headers[0].label",
      "values": ["SKU"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].headers[1].label",
      "values": ["Value"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[2].sequence",
      "values": [2],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].cell.label",
      "values": ["{{ class }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].headers[0].label",
      "values": ["SKU"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].headers[1].label",
      "values": ["Classification"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[3].sequence",
      "values": [3],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].cell.label",
      "values": ["{{ location.locationIdentifier }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].headers[0].label",
      "values": ["Location"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].headers[1].label",
      "values": ["ID"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].sortable",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[4].sequence",
      "values": [4],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].cell.label",
      "values": ["{{ location.locationName }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].headers[0].label",
      "values": ["Location"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].headers[1].label",
      "values": ["Name"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].sortable",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[5].sequence",
      "values": [5],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].cell.label",
      "values": ["{{ location.locationType }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].headers[0].label",
      "values": ["Location"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].headers[1].label",
      "values": ["Type"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].sortable",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[6].sequence",
      "values": [6],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].cell.label",
      "values": ["{{ quantityBelowLowerThreshold }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].header.label",
      "values": ["Low quantity"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].cell.customTemplate",
      "values": ["numberTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[7].sequence",
      "values": [7],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].cell.label",
      "values": ["{{ daysOfSupply }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].header.label",
      "values": ["Days of Supply"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].threshold",
      "values": [365],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].cell.customTemplate",
      "values": ["numberTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].cell.maxNumberBeforeNull",
      "values": [50000],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].maxNumber",
      "values": [365],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[8].sequence",
      "values": [8],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].cell.label",
      "values": ["{{ expectedLeadTime }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].headers[0].label",
      "values": ["Supply"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].headers[1].label",
      "values": ["Lead Time"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[9].sequence",
      "values": [9],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].cell.label",
      "values": ["{{ velocityCode }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].headers[0].label",
      "values": ["Supply"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].headers[1].label",
      "values": ["Velocity Code"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].cell.customTemplate",
      "values": ["textTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[10].sequence",
      "values": [10],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].cell.label",
      "values": ["{{ daysOfSupplyTarget }}"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].header.label",
      "values": ["Target days of supply"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].sortable",
      "values": [true],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].cell.customTemplate",
      "values": ["numberTpl"],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].maxNumber",
      "values": [365],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].hidden",
      "values": [false],
      "metaInformation": "tableColumn"
    },
    {
      "name": "columns[11].sequence",
      "values": [11],
      "metaInformation": "tableColumn"
    },
    {
      "name": "icons[0].type",
      "values": ["resolution_room"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "icons[0].options.resRoom.title",
      "values": ["Inventory approaching out of stock"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "icons[0].options.resRoom.type",
      "values": ["approaching-out-of-stock-bundle"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "icons[0].options.resRoom.area",
      "values": ["inventory-bundle"],
      "metaInformation": "widgetOption"
    },
    {
      "name": "widgetInitialized",
      "values": ["loadState", "refreshData"],
      "metaInformation": "eventSubscription"
    },
    {
      "name": "selectFirstRow",
      "values": ["true"],
      "metaInformation": "tableOption"
    },
    {
      "name": "enableRowSelect",
      "values": ["true"],
      "metaInformation": "tableOption"
    },
    {
      "name": "rowClicked",
      "values": ["drilldownRowData.row"],
      "metaInformation": "stateScope"
    },
    {
      "name": "transformation",
      "values": [
        "{ \"errors\": \"{{#? this.errors}}\", \"pageInfo\": \"{{this.data.inventoryApproachingOOS.pageInfo}}\", \"totalCount\": \"{{this.data.inventoryApproachingOOS.totalCount}}\", \"results\": { \"{{#each this.data.inventoryApproachingOOS.edges}}\": { \"cursor\": \"{{this.cursor}}\", \"id\": \"{{this.object.id}}\", \"product\": \"{{this.object.product}}\", \"location\": \"{{this.object.location}}\", \"quantityBelowLowerThreshold\": \"{{this.object.quantityBelowLowerThreshold}}\",  \"daysOfSupply\": \"{{this.object.daysOfSupply}}\", \"expectedLeadTime\": \"{{this.object.expectedLeadTime}}\", \"class\": \"{{this.object.class}}\", \"segment\": \"{{this.object.segment}}\", \"inventoryParentType\": \"{{this.object.inventoryParentType}}\", \"quantity\": \"{{this.object.quantity}}\", \"quantityUnits\": \"{{this.object.quantityUnits}}\", \"daysOfSupplyTarget\": \"{{this.object.daysOfSupplyTarget}}\",  \"velocityCode\": \"{{this.object.velocityCode}}\" } } }"
      ],
      "metaInformation": "widgetOption"
    }
  ],
  "userConfigurations": [{ "name": "chartType", "values": ["data_table"] }],
  "adminConfigurations": []
}

Subscription

A subscription is the concept that ties widget definitions to a specific tenant ID or offering. If a widget definition doesn’t have a corresponding subscription to allow access for the tenant ID, then it is not displayed on a page for that tenant ID. The following main fields determine subscriptions:

Attribute Description
widgetDefinitionId The ID of the widget definition that you want to subscribe.
state State of the widget - active or inactive
tenantId The ID of the tenant that is subscribing the widget definition.
subscriptionConfig Subscription overrides

The following subscription file is an example of the table card INVENTORY_APPROACHING_OOS_VIEW_ALL:

{
  "widgetDefinitionId": "INVENTORY_APPROACHING_OOS_VIEW_ALL",
  "state": "ACTIVE",
  "tenantId":"test_tenant_id",
  "subscriptionConfig": []
}

Entitlement

Entitlement refers to what the user can access based on their offering ID and tenant ID. For example, if a widget definition is for tenant ID A and has a subscription, then any user in tenant ID A is entitled to it.

Widget Management Service (WMS)

The WMS is a RESTful microservice with metadata storage of all layout and widget concepts. For more information, see Widget management API.

Data explorer

The page shows all the data available to that tenant by business object, for example, Inventory or Product. A user can filter on the data, search for specific data elements and look at the attributes of that data on a detail page. For more information, see Data explorer.