Dashboard Widget Configuration

The CSA Service Management Console dashboard provides twelve out of the box widgets.

The widgets and dashboard differ to those available in the Marketplace Portal configuration and are more suited for the administrators versus consumers.

Similar to the side-bar menu configuration (see Side-Bar menu Configuration File Syntax), the Service Management Console can be configured by the CSA Administrator.

Configuration Steps:

  1. Open <PERSISTENT_VOLUME_PATH>/sync/csa/jboss-as/standalone/deployments/csa.war/dashboards/dashboardconfig folder, where the configuration files that define the dashboard layout are located.
  2. After installation, check for dashboardconfig folder to have the following 4 files:

    • dashboard-backup. zip - This is a zip file consisting backup of the last sync of the dashboard file system config to the database.

    • dashboardconfig.done - This is a trigger file that indicates the last sync is in a done state.

    • dashboards - The list of available dashboards.

      Within the dashboards folder are two files:

      csa.json - The CSA Dashboard

      codar.json - The CODAR dashboard

    • tiles - The list of tiles (widgets) available.

  3. The following is just an example for a dashboard widget configuration. Refer to one of the file system for a detailed information.

    {

    "id": "csa",
    "name": "csa_default_dashboard",
    "displayName": "CSA Dashboard",
    "enabled": true,
    "backgroundUri": "/csa/html-lib/images/common/dashboard/dashboard-solid-background-1.jpg",
    "restrictions": {
    "roles": [],
    "permissions": [],
    "licenseFeatures": [20795],
    "productFeatures": []
    },
    "tiles": [
    {
    "id": "1", [
    "tileId": "primaryid_csa",
    "selectedSize": "2x2",
    "row": 0,
    "col": 0 		
    },
    "id": "2",
    "tileId":"organization_subscription_summary", 
    "selectedSize": "5x2",
    "row": 2,
    "col": 5
    }]
    }

    Following table provides description of each attribute in the above dashboard configuration:

    Attribute Description
    id Unique ID of the dashboard.
    name Internal name for the dashboard
    displayName Display name if no translation is available.
    enabled If the dashboard is enabled and available to users - set to true, else set to false.
    backgroundUri Optional path to a background image for this dashboard, can be a relative path or full URL.
    restrictions List of criteria that must be met for this dashboard to be available.
    roles

    List of roles required to access this dashboard. Similar to sidebar configuration.

    For example: SERVICE_OPERATIONS_MANAGER

    permissions

    List of permissions required to access this dashboard. Similar to sidebar configuration.

    For example: SERVICE_BLUEPRINT_WRITE

    licenseFeatures

    License ID required for this dashboard to be available.

    20795: CSA, 20797: CODAR

    productFeatures

    Product features that must be available for this dashboard.

    For example: MONITORING, COMPLIANCE

    tiles List of tiles/widgets to include in this dashboard.
    tileid TileID reference to the widget to be used.
    selectedSize Default size (2x2) - Default tile/widget size for this tile, must match a size from the tile/widget definition or the first one will be automatically selected instead.
    row "0" is the default starting position
    column "0" is the default starting position

    The first tile in the list is referring to the primaryid_csa widget. Within the tiles folder, primaryid_csa.json file contains the widget configuration.

    {
    "id": "primaryid_csa",
    "name": "primaryid_csa",
    "displayName": "CSA Product tour",
    "template": "primaryid_csa.html",
    "enabled": true,
    "selectedSize": "2x2",
    "supportedSizes": ["2x2", "3x2", "3x3", "4x3", "4x4"],
    "interaction": 
    {
    "enabled": true,
    "uri": ""
    },
    "restrictions":
     {
    "licenseFeatures": [20795],
    "productFeatures": ["MONITORING", "COMPLIANCE"],
    "roles": ["<role_1>", "<role_2>", ... , "<role_n>"],
    "permissions": ["<permission_1>", "<permission_2>", ... , "<permission_n>"]
    }
    }

    Following table provides description of each attribute in the above tile/widget configuration:

    Attribute Description
    id Tile/widget ID. This value is referred by tileId in the dashboard configuration.
    name Internal name for this tile/widget
    displayName Display name if no translation is available.
    template Co-located html template to use for this widget. This file must exist in the same folder as the json file.
    enabled If the tile/widget is enabled - set to true, else set to false.
    selectedSize Default size (2x2) of tile if no size is configured in the dashboard json file.
    supportedSizes Available sizes for this tile.
    interaction Interaction configuration
    enabled

    true/false

    True- user can interact with the contents of the tile.

    False- a transparent overlay is added to avoid the user being able to click into a tile.

    uri Optional URI to launch when a user clicks a tile/widget. When this URI is set, a clickable overlay is added to the tile overriding the native interaction within a tile/widget.
    restrictions List of criteria that must be met for this widget to be available, same settings as available in the dashboard.
    roles

    List of roles required to access this dashboard. Similar to sidebar configuration.

    For example: SERVICE_OPERATIONS_MANAGER

    permissions

    List of permissions required to access this dashboard. Similar to sidebar configuration.

    For example: SERVICE_BLUEPRINT_WRITE

    licenseFeatures

    License ID required for this dashboard to be available.

    20795: CSA, 20797: CODAR

    productFeatures

    Product features that must be available for this dashboard.

    For example: MONITORING, COMPLIANCE

  4. Within the primaryid_csa.json is a reference to primaryid_csa.html which contains the portion of this widget that will be rendered to the user in the CSA Service Management Console.

  • NOTE: HTML content (primaryid_csa.html)will be added to the dashboard widget once it is rendered for the user.
    When using iframes and https, the SSL Certificate must be trusted by the user’s browser or otherwise the widget will fail to render.
  •  

    Add a Custom Widget

    To add a custom widget, get the HTTP/S location of a URL you want to iFrame into the dashboard.

    Other than the primaryid_csa widget, the other widgets in CSA are using internally developed code to render the graphical data. To develop a similar graphical widget outside of CSA and to present it to the users by an iframe widget, follow these steps:

    1. Create a new widget under the tiles folder.

    2. Create a new template under the tiles folder for the widget (use the primaryid_csa.html/json as a sample for this template creation).

    3. Add a new entry in the csa.json file under the dashboards folder for the new widget.

      NOTE: Ensure that the id value of the newly added widget is unique within the dashboard list.
    4. After the .json configuration, synchronize the changes into the database. This sync must be done at the time the json or templates have changed.

      Perform the following steps to re-synchronize the dashboard configuration:

      1. Update/add/remove dashboard configuration files in the directory:
        <PERSISTENT_VOLUME_PATH>/sync/csa\jboss-as\standalone\deployments\csa.war\dashboard\dashboardconfig
      2. Rename dashboardconfig.done to dashboardconfig.load

      3. Restart the CSA pod, on the system you have made the filesystem changes. See Restart or redeploy individual deployments for instructions. Restart is executed for the following reason:

        1. After the CSA restart, dashboardconfig.load is renamed to dashboardconfig.done

        2. After the above steps are performed, a new widget will be available to the users who meet the restriction criteria specified.