Deployment Documentation

Deployment Documentation

  • Architecture
  • Services
  • Deployment

CMS Dashboard Config Setup

The Dashboard is created with the combination of React Grid Layout, HighCharts, CubeJs, as well as a considerable amount of custom code to integrate these pieces.

In order to integrate the aforementioned piecese and be able to use the CMS Dashboard properly, we need to set up the associated YAML configuartion file located at /default/dashboard when viewing from the CMS config editor. Currently, the CMS Dashboard config is essentially an object with several fields that each represent a major section of the config:

We are utilizing high charts for the data visualizations

availableDashletsPerGroup

This section is responsible for assigning the dashlets that are available to each user group. Each key of this object will be a user group's id, and they are mapped to an array of the dashlet ids that the user group has access to. More details are available on the Available Dashlets Per Group Page

availableDashlets

This section contains fields that affects what is rendered in the sideBar of the Dashboard Editor, as well as a dashlet's layout related functionality. More details are available on the Available Dashlets Page

dashletDictionary

This section contains fields that affect how a specific dashlet's content will be generated. This includes the Setting Fields that are needed to populate the dashlet's settings form, the data query with which the dashlet will retrieve data, and toggles for various dashlet features.

More details are available on the Dashlet Dictionary Page

commonFieldOptions

This section is an object whose keys are mapped to commonly reused field options that can be referenced by a SettingField inside of the dashletDictionary. See below for an example.


Here is what a sample configuration file may look like:

availableDashletsPerGroup:
  "19":
  - summaryTiles
  - totalCaseValueVolume
  - avgTimeToClose
  - feedbackStats
  - muleScoreDistribution
  - avgAlertStatistics
  - caseAgeByStatus
  - traceRequestStats
  "9541":
  - totalCaseValueVolume
  - avgTimeToClose
availableDashlets:
- label: Summary Tile
  width: 2
  height: 2
  minWidth: 2
  minHeight: 2
  tooltip: Display a total count for a selection and create a shortcut link
  description: Display the total count for your summary type selection and create a shortcut link.
  chartType: summary
  dashletId: summaryTiles
  dashletType: General Dashlets
- label: Average Time To Close Cases
  width: 4
  height: 2
  tooltip: Display the average time to close cases over a time frame
  description: Display the average time to close all cases or build a chart showing the average time to close cases by the priority level set at the time the case closed.
  minWidth: 4
  chartType: barHorizontal
  dashletId: avgTimeToClose
  dashletType: General Dashlets
dashletDictionary:
  summaryTiles:
    description: Display the total count for your summary type selection and create a shortcut link.
    queries:
      newCases:
        order: {}
        filters:
        - values: []
        operator: equals
        dimension: NewCases.caseType
        - values:
        - $currentTenant
        operator: equals
        dimension: NewCases.tenant
        measures:
        - NewCases.count
        timeDimensions: []
      openCases:
        order: {}
        filters:
        - values: []
        operator: equals
        dimension: CmsCase.caseTypeName
        - values:
        - closed
        - alert
        - dismissed
        operator: notEquals
        dimension: CmsCase.caseStatusName
        - values:
        - $currentUser
        operator: equals
        dimension: CmsCase.assignee
        measures:
        - CmsCase.count
        timeDimensions: []
      updatedCases:
        order: {}
        filters:
        - values: []
        operator: equals
        dimension: UpdatedCases.caseType
        - values:
        - $currentUser
        operator: equals
        dimension: UpdatedCases.assignee
        measures:
        - UpdatedCases.count
        timeDimensions: []
    settingsFields:
    - label: Case Type
      options:
        - label: aml
          value: aml
        - label: fraud
          value: fraud
      fieldName: caseType
      fieldType: select
      filterDimension:
      - CmsCase.caseTypeName
      - NewCases.caseType
      - UpdatedCases.caseType
    - label: Summary Type
      options:
      - label: My Open Cases
        value: openCases
      - label: New Cases
        value: newCases
      - label: My Updated Cases
        value: updatedCases
      fieldName: queryType
      fieldType: select
    - label: Title
      fieldName: title
      fieldType: input
commonFieldOptions:
    timeFrames:
    - label: Past week
      value: from 6 days ago to now
    - label: Past 2 weeks
      value: from 13 days ago to now
    - label: Past 30 days
      value: from 29 days ago to now
    - label: Past 3 months
      value: from 89 days ago to now
    - label: Past 6 months
      value: from 179 days ago to now
    - label: Past year
      value: from 364 days ago to now
    - label: Past 18 months
      value: from 540 days ago to now
Deployment Documentation
Docs
Getting Started (or other categories)Guides (or other categories)API Reference (or other categories)
Copyright © 2023 Brighterion