Summary: This page explains how to configure various advanced options that affect the entire Health Dashboard (i.e, they are valid regardless of whether your dashboard contains one or multiple Applications). Note that this page does not deal with Tiles (see Health Dashboard tile management) nor Categories/Tags (see Health Dashboard tag and category management).

Above and beyond the configuration possibilities that are available for Tiles and Categories/Tags, there are additional advanced configuration options as listed below:

  • Configure the page title
  • Configure language
  • Configure the ability to request access when not able to log in
  • Configure scroll direction
  • Configure time period options
  • Configure logout confirmation
  • Configure tag filtering options
  • Configure the number of Applications displayed in Evolution details pages
  • Configure user preference persistence
  • Configure tile drill down options
  • Choose a default language
  • Configure session timeout interval
  • Configure AEP/EFP export to XLSX or CSV
  • Configure API timeout period
  • Configure the snapshot threshold

How to configure the options

The options listed above are governed by .json files located in the following locations 

WAR 1.x
CATALINA_HOME\webapps\CAST-Health\portal\resources\cmp.json / cmp-ISO.json
CATALINA_HOME\webapps\CAST-Health\portal\resources\app.json / app-ISO.json
CATALINA_HOME\webapps\CAST-Health\portal\resources\internal\app-navigation.json (only required in some older releases of the CAST Dashboards)

WAR ≥ 2.x
CATALINA_HOME\webapps\CAST-Health\WEB-INF\classes\config\hd\cmp.json / cmp-ISO.json
CATALINA_HOME\webapps\CAST-Health\WEB-INF\classes\config\hd\app.json / app-ISO.json

ZIP ≥ 2.x
<unpacked_zip>\configurations\config\hd\cmp.json / cmp-ISO.json
<unpacked_zip>\configurations\config\hd\app.json / app-ISO.json

Where are the options?

  • For cmp.json/cmp-ISO.json and app.json / app-ISO.json, the options are available at the very start of the file.
  • For app-navigation.json, the options are located throughout the file.

Modifying the options

To modify the options, edit the .json file with a text editor (Notepad or other similar application). CAST recommends creating a copy of the default file that can be used as a replacement if an error occurs during editing.

Viewing the changes in your browser

There is no need to restart the application server or application itself if you edit and save the .json files: changes are immediate on saving the files. However, you may find that the changes are not immediately visible in the Health Dashboard. This is because the .json file is loaded into the browser's cache, therefore CAST recommends that you empty your browser cache to force the changes to become visible.

If you are using Google Chrome the following tip can be used to automatically empty the browser cache:

  • Tap F12 to open the Developer Tools window at the bottom of the page.
  • Click the Settings icon (a cog) to the right of the Developer Tools window
  • Tick the Disable cache (while DevTools is open) option and close the Settings window.
  • In this state, when you then tap F12 followed by F5 to refresh the page, the browser cache will be automatically emptied.

Option descriptions

cmp.json / cmp-ISO.json

Option
Parameter
Example
Description

Configure the page title

title
"title": "Health Dashboard",

Used to display a title in each landing page:

By default this is set to:

  • cmp.json / cmp-ISO.json = Health Dashboard
  • app.json = Application Level Health Dashboard

Note that the app.json file is located as shown below (this is the only dashboard wide option that is available in both the cmp.json / cmp-ISO.json and app.json files):

CATALINA_HOME\webapps\CAST-Health\portal\resources\app.json
Choose a default languagedefaultLanguage
"defaultLanguage": "English",

By default, the dashboard language is set to English. Other languages will be available in the Change Language drop down list when a locale is added (see Dashboard localization for more information). When the Change Language option is used, the new language is configuration is stored in the local browser cache, therefore, if the cache is emptied, then the language will reset to the default (which is set to English out of the box). 

If you would prefer to have a different language as the default for all users, then change this parameter to match the official name of the locale you have added. You need to ensure that the locale exists as described in Dashboard localization).

Enables you to choose the language you require

language
"language": "dev",

By default, the Engineering Dashboard is delivered with language display set to English: all messages and text displayed in the dashboard is only displayed in English. However, it is now possible to set a specific locale and provided that a translation of the default English text and messages has been configured, the dashboards will then display text and messages in the chosen language.

See Dashboard localization for more information.

Configure the view DefaultView
"DefaultView": "ISO-5055",
By default, the Health Dashboard opens with the "DefaultView: AIP". You may set it to ISO-5055 View to view the ISO-5055 tiles.
Configure scroll directionhorizontalScroll
"horizontalScroll": false,

Used to determine the scroll direction for the areas within the dashboard pages. By default this is set to "false", as such, areas are placed vertically on top of each other and scrolling is applied vertically.

Change this value to "true" to enable horizontal scrolling - i.e. areas are placed side by side.

Configure the ability to request access when not able to log in

requestAccess
"requestAccess": false,

Used to determine whether a "Can't access" link is displayed on the login screen. By default this is set to "false" and the link is not displayed. Change this value to "true" to enable the link. This link enables a user who is not able to log in (for example because they have forgotten their login credentials or if they have not yet been granted access) to send an email to the dashboard administrator requesting access:

See Lost password and request access configuration for more information about how to modify the template emails that are sent out when a user uses this option.

Enable Appmarq insight

appMarq
"appMarq": true,

Appmarq data (anonymous statistics collected from a large range of industry-wide applications) is integrated into the CAST Health Dashboard and enabled by default. This integration allows you to compare the application health and delivery performance of your applications against data from a wide-range of industry peers (see Health Dashboard - Appmarq Insight for more information).

Out-of-the box, AppMarq data integration is already enabled. If you would prefer not to see this data, you can disable it by changing this value to false:

"appMarq": false,
Force column to display as FailedfailedRatio
"failedRatio": false,

Drilling down from a Health Measure tile (TQI, Robustness, Efficiency, Security, Changeability, Transferability) or the Top Critical Rules tile will display a list of structural rules that have been triggered during the source code analysis/snapshot with various statistics. One of the columns displayed is labelled "%Compliance" (when drilling down from a Health Measure Tile) or "%Failed" (when drilling down from the Top Critical Rules tile.

You can force the column to be displayed as "%Failed" regardless of where the user drills down from by changing the value to true:

"failedRatio": true,

Configure logout confirmation

confirmLogout

"confirmLogout": true,

When a user logs out of the Health Dashboard, a confirmation message will be displayed by default:

If you would like to deactivate this confirmation message, simply change

"confirmLogout": true,

to

"confirmLogout": false,
Configure user preference persistence

persistNavigationFilters

"persistNavigationFilters":true,

During navigation with the Health Dashboard, you may be selecting filters, grouping or different periods than are configured by default. If the parameter persistNavigationFilters is set to true (the default is false), the web application will try and record your preferences in the browser's cache. By doing so, when you access the dashboard another time, if those parameters are not set in the URL, those from the cache will be used instead, enabling you to pursue navigation with the same filtering/grouping parametrization.

If you access a page with parameters already set in the URL, they will be used instead. Any time you change one of these parameters, the parameters will be saved again in the cache for future use.

The persistence only applies to

  • tags/technology filters
  • group by options
  • period parameters
Defines how long the session timeout will operatealertTimeoutIntervalN/A

By default the dashboard will listen for GET or POST requests and when none are detected a timeout will occur. When the timeout occurs a dialog box will be displayed - this indicates (in the upper right corner) how many seconds are remaining before a re-login will be required - the default remaining seconds is set to 10. Clicking Continue will return to the session without requiring a login.

To change the remaining seconds, add the following parameter to the file, where xx = the number of seconds:

"alertTimeoutInterval":xx,

For example, 30 seconds has been defined:

  "configuration": {
    "defaultLanguage": "English",
    "description": "To configure new language for application, define customLanguages as [{'label': 'languageName', 'value': 'localeFolderName'}]",
    "customLanguages": [],
    "requestAccess": false,
    "confirmLogout": true,
    "filterHealthFactor": true,
    "violationsCount" : 5000,
	"alertTimeoutInterval":30,
Configure time period options

period

"period": {
	"shift": true,
	"periods": [
            { "diff": 30, "units": "days", "unitsValue": "days" },
            { "diff": 3, "units": "months", "unitsValue": "months"},
            { "diff": 6, "units": "months", "unitsValue": "months" },
            { "diff": 12, "units": "months", "unitsValue": "months", "selected": true },
            { "diff": 2, "units": "years", "unitsValue": "years" },
            { "diff": 0, "units": "alltime" }
	]
}

This option enables fine tuning of the time period options for evolution data that are available to users in the top right hand corner of the dashboard:

These options are explained in more detail in Health Dashboard - GUI (see Time period selection).

  • shift: (true by default) If true then the time period shown ends at the time of the last snapshot (considering all Applications at Multi-application level and the selected Application at Application level) to help focus on the most recent data available rather than the actual time scale. If false then all time period filters end on the current day/time.
  • periods: provides a means to configure the period filter menu:
    • diff: is an integer value representing the period length
    • units: represents the time unit associated to diff (possible values are: "days", "months", "years", "alltime"). If alltime is set, the diff value is not taken into account. 
    • unitsValue: will be used for the text in the drop down list. Can be modified for specific locales (Chinese for example) to provide a translation.
    • selected: (false by default) set to true on the period you wish to be selected by default when the user opens a page
    • label: represents a custom time period label to be used. Otherwise, the label is based on the diff and units parameters.
Configure tag filtering options

filtering

"filtering":{
	"filterTags":false
},

When set to true:

Users only get access to categories/tags that match the Application's full scope (i.e. tags that do not apply to any Application accessible to the user are not displayed).

When set to false:

Users can see all categories and related tags regardless of whether any Applications are assigned to them. Filtering on visible tags with no Applications will lead to a blank display however.

Configure the number of Applications displayed in Evolution details pagesEvolutions
"Evolutions":{
	"selectedApplicationCount":10
},

This option defines the number of Applications that are included in the Evolution details pages (i.e. the pages accessed when clicking an Evolution tile either at multi or single Application level). The default value is set to 10 Applications - beware when configuring a high number of Applications as it can significantly impact performance. The parameter can be overridden by plugin specific configuration.

Configure API timeout periodtimeoutPeriod
"timeoutPeriod": 60000,
Valid only for  1.23 releases.

This option sets the API timeout period (i.e. for fetching data). By default this is set to 60000ms (1 minute). After the set time period, a timeout will occur and the Health Dashboard will no longer attempt to fetch that specific data.

Increasing the timeout period can be useful when you have a large number of applications (200+) configured in the Health Dashboard, or you have a number of Applications that are very big - if you are consistently finding that the Health Dashboard is not fetching all data (i.e. tiles are empty), then you should increase the timeout period in steps until the data loads correctly.

Configure snapshot thresholdsnapshotThreshold
"snapshotThreshold": 1500

Valid only for  2.2.0 releases.

This option sets the snapshot threshold value. By default this is set to 1500. Several slow loading tiles will not be displayed if the snapshot count is above this threshold. This is designed to improve performance when loading the multi-app portfolio home page.

The tiles that will be removed are as follows:

  • Overview section:
    • Applications Map 

    • Top Riskiest Applications 

    • Top 5 critical Rules

  • Trends section:
    • All tiles (all the Evolution tiles and the Applications Fast Facts tile).

The time period selector will not function if the number of snapshots is above the threshold - in other words, the value will remain same in all tiles even if you select a different time period.

app.json / app-ISO.json

Option

Parameter

ExampleDescription

Configure AEP/EFP export to XLSX or CSV

exportformat
"exportformat": "xlsx",

This option defines the format used to export AEP or legacy EFP data. By default it is set to XLSX (Excel) format. You can change this to CSV formation if necessary as follows:

"exportformat": "csv",

app-navigation.json

The app-navigation.json file has been removed in  1.23 releases.
Option
Parameter
ExampleDescription

Configure tile drill down options

failedRatio
"failedRatio": "true",
Only valid for ≤ 1.21 releases. This configuration has been removed in more recent releases.

By default, this option is not present (and it therefore set to "false"). Adding it into the parameters section of the "id": "healthFactors", will force the "% Compliance" column when drilling down from tiles to be changed from "% Compliance" to "% Failed":

Click to enlarge:

Example:

{
	"id": "healthFactors",
	"plugin": "CriticalQualityRuleRatio",
	"parameters": {
		"order": "descending",
		"mode": null,
		"title": "Health Measures",
		"format": "0,000",
		"description": "",*
		"failedRatio": "true",
		"indicators": [
...
		]
	}
},
Configure measures used for Snapshot ComparisonVariousN/A
Only valid for ≤ 1.20 releases. This configuration has been removed in more recent releases.

It is possible to customize the measures used in the Snapshot Comparison section by modifying the "indicators" listed below:

{
	"id": "snapshotsComparison",
	"plugin": "TechnicalSizeMeasures",
	"parameters": {
		"title": "Snapshots Comparison",
		"description": "Snapshots Comparison",
		"groups": [
			{
				"id": "HealthFactors",
				"description": "Health Measures",
				"indicators": ["60012","60013","60014","60016","60011"]
			},
			{
				"id": "RuleCompliance",
				"description": "Rule Compliance",
				"indicators": ["66033", "66031", "66032", "60017"]
			},
			{
				"id": "TechnicalSizeMeasures",
				"description": "Technical Size",
				"indicators": ["10151", "10154", "10155", "10156", "10157", "10158", "10163", "10152", "10107", "10109", "67011", "67901", "67902", "67216", "67217", "67218"]
			},
			{
				"id": "FunctionalWeight",
				"description": "Functional & Enhancement Size",
				"indicators": ["10202", "10204", "10203", "10450", "10451", "10452", "10453", "10440", "10430", "10300", "10310", "10320", "10341", "10342", "10340" ]
			}
		]
	}
}