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.