You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.
Introduction
The DCM Dashboard Service is a service which serves definitions to display a dashboard application. Dashboard definitions contains the skeleton structure and knowledge on how to structure your dashboard pages and how to transition between them.
Modelling definitions
Currently dashboard definitions needs to be created by hand and cannot be modelled using Encore or the Studio Client. This will change in the future.
Installation
The DCM Dashboard Service is a standalone service. The corresponding WAR file can be found in the release zip or in Artifactory: https://artifactory.blueriq.com/artifactory/libs-release/com/blueriq/blueriq-dcm-dashboard-service-application/. The WAR file needs to be deployed to a supported application server, see Installing Runtime. The application requires a config location to specify the configuration outlined below. Note that the Blueriq DCM Development Installation includes the DCM Dashboard Service including configuration.
System requirements
Minimal
2 CPU cores
256 MB Heap
Recommended
2 CPU cores
512 MB Heap
Configuration
In order to configure the DCM Dashboard Service, a blueriq-dcm-dashboard-service.yml
file needs to be present spring.config.additional-location
. Here, you can specify the location of your definitions, configure some additional settings.
Dashboard project data sources
Exports
The Dashboard Service can be configured to load Dashboard project exports from disk. This is currently the only supported data source in production.
Recursive scanning of export folder and SymLinks
The Dashboard project exports are read recursively from the configured folder. This means that the export root folder will be scanned for exports but also sub folders, and their sub folders, etc. Usage of SymLinks are therefore at your own risk. When a SymLink targets a parent folder, this is considered an configuration error which can cause an infinite loop and will make the DCM Dashboard Service crash.
Encore
The DCM Dashboard Service is able to retrieve Dashboard project exports from Encore by enabling the development-tools
profile and configuring a connection to the management service.
Shortcuts
Since DCM Dashboard Service 2.2, it is possible to define shortcuts in the blueriq-dcm-dashboard-service.yml
or by enabling the shortcuts
profile you can use a separate blueriq-dcm-dashboard-service-shortcuts.yml
file.
Shortcuts are used to shorten the URL but also to prevent exposing the ProjectIdentifier, Version, DashboardName and entrypage.
You can define multiple shortcuts under blueriq > dcm > dashboard > shortcuts
In the following example there are 2 shortcuts defined with shortcutnames foundation
and itdashboard.
The shortcut can be used with the url http://server:port/dcm-dashboard/api/v2/dashboardShortcuts/{shortcutName}/entryPage
If you want to only exposed dashboards via shortcuts you can set the shortcuts-only property to true. Default is false.
Authentication
The DCM Dashboard Service only support authentication using OAuth2 OpenID Connect tokens. Without configuring authentication the Dashboard Service is unable to provide dashboard definitions as it returns a filtered definition based on what the user is authorization to see. When configuring the jwk-set-uri
property make sure it is configured to the host of the Gateway Service. This is essential for the token validation.
JWT claims path
You can optionally configure the path in which the username (principal) and roles are located in the JWT claims. They can be configured as JsonPath expression. By default, the username will be obtained from the sub
claim, and the roles will be obtained from the roles
subclaim in the realm_access
claim.
Environment override
In order to run dashboard widgets on different environments you can optionally configure the baseUrl path which is specified as the environment override in the model per widget. It is possible to configure both the global
and add multiple override
options. By default, the baseUrl path for widgets will use global
which is set to /runtime
but can be changed. The override
name is case insensitive and we cannot guarantee which environment override is used when a duplicate name is assigned, therefore we recommend to use each override
name once.
Dashboard Definition Structure
The main purpose of the Dashboard Service is to provide dashboard definitions. Currently is it not possible to create these definitions in one of Blueriq's modelling applications, therefor we have created a guide how to create these definitions including a small example.How to create a dashboard definition
Since 17.0 it is possible to create your own DCM Dashboard via Encore. For more information: DCM Dashboard overview and 2 - Dashboard project - Foundation