This is a quick guide for the ROB-EX system administrator, explaining how to configure the web-server side of the ROB-EX Dashboard App.

  1. If not already running, configure ROB-EX Integration client to run as a service.
  2. Make sure the integration client starts up correctly.
  3. Make sure the integration client connects to the ROB-EX site you want to be served.

Note: The Integration client is needed only for production setup. In demo scenarios, you may run the REST server embedded into your local ROB-EX Scheduler client. In this case, ensure your ROB-EX client has a valid license to the REST web-service and the REST server is configured to start automatically.

Distribute the URL of the dashboard app. It will be http://<yourserver>:<port>/dashboard

E.g. http://robexsrv01:9999/dashboard

The actual port no. used for your install, can be looked up from menu “Help->About REST WebService Plugin” (for an Integration Client you need to start with UI to access this menu)

Configuration

Selected parts of the Dashboard user interface can be configured. Also, some global App settings can be changed. To enable local customization’s, locate the Dashboard.json file in the installation folder under “\config”, and copy this file to the custom folder “\custom”.

Edit the “\custom\Dashboard.json” file in a text editor by changing a parameter and save the file. Changes will take effect when the Dashboard web page is reloaded. Some changes may require a restart of the ROB-EX Client hosting the Dashboard Rest server.

Note: The configuration file is following the JSON syntax (for more info see www.json.org). Should it happen that the syntax is broken the whole configuration will be discarded and default values will be used. To check whether the JSON syntax is valid, use an online validator e.g. jsonlint.com

At the highest level the following is configurable from the JSON file

Area Description Other
setting Global settings of the Dashbard Web App
setting.sessionExpirationHours Amount of hours the user can stay inactive in the dashboard, without logging out. 0 = never logout.
setting.enableLegacyGanttChart Dashboard Gantt Chart is deprecated and disabled by default (from version 7.4.2). Re-enable by setting this to true.
ganttChart Settings related to the Gantt chart
highlightDays
The days shown with gray colors (weekend). 6=Saturday. 7=Sunday
viewConfigs
The text shown on each operation in the Gantt chart. In the “layout” part, specify layout item names
 
resourceWorkloadGraphs Settings related to resource workload graphs
visibleStates
A list of operation states to show in resource graphs in the dashboard (default: 30, 40, 50)
operationDetailsLayout Settings for information shown when double clicking on an operation bar of the Gantt chart
This part is divided into three areas Operation details, Order details and Misc

Below lists content of the default file Dashboard.json:

{
  "setting" : {
    "sessionExpirationHours": 24,
    "enableLegacyGanttChart": false
  },
  "ganttChart" : {
    "highlightDays": [6,7],
    "viewConfigs": [
      { "viewName": "Standard", "layout": "{order_name} - {opr_name}" }
     ]
  },
  "resourceWorkloadGraphs": {
    "visibleStates": [30, 40, 50]
  },
  "operationDetailsLayout" : {
    "name": "Operation details",
    "description": "",
    "fields": [
      {"label": "Name", "labelVisible": true, "id": "opr_name", "type": "string", "visible": true},
      {"label": "Start", "labelVisible": true, "id": "opr_start_time", "type": "date", "format": "yyyy-MM-dd HH:mm", "visible": true},
      {"label": "End", "labelVisible": true, "id": "opr_end_time", "type": "date", "format": "yyyy-MM-dd HH:mm", "visible": true},
      {"label": "Resource", "labelVisible": true, "id": "opr_resource", "type": "string", "visible": true},
      {"label": "Status", "labelVisible": true, "id": "opr_state", "type": "string", "visible": true},
      {"label": "Progress %", "labelVisible": true, "id": "opr_overall_progress_pct", "type": "percent", "format": 2, "visible": true},
      {"label": "Last progress time", "labelVisible": true, "id": "opr_last_progress_report", "type": "date", "format": "yyyy-MM-dd HH:mm", "visible": true},
      {"label": "Remaining quantity", "labelVisible": true, "id": "opr_progress_quantity_left", "type": "number", "format": 2, "visible": true},
      {"label": "Remaining hours", "labelVisible": true, "id": "opr_overall_progress_hours_left", "type": "number", "format": 2, "visible": true},
      {"label": "Setup", "labelVisible": true, "id": "opr_setup", "type": "string", "visible": true},
      {"label": "Workload", "labelVisible": true, "id": "opr_workload", "type": "string", "visible": true},
      {"label": "Switchover", "labelVisible": true, "id": "opr_switchover", "type": "string", "visible": true},
      {"label": "Duration", "labelVisible": true, "id": "common_duration", "type": "string", "visible": true},
      {"label": "Desc.", "labelVisible": true, "id": "opr_description", "type": "string", "visible": true, "wrap": true}
    ],
    "sections": [
      {
        "name": "Order details",
        "description": "",
        "fields": [
          {"label": "Name", "labelVisible": true, "id": "order_name", "type": "string", "visible": true},
          {"label": "Quantity", "labelVisible": true, "id": "order_quantity", "type": "number", "format": 1, "visible": true},
          {"label": "Customer", "labelVisible": true, "id": "order_customer_name", "type": "string", "visible": true},
          {"label": "Product", "labelVisible": true, "id": "order_product_id", "type": "string", "visible": true},
          {"label": "Material date", "labelVisible": true, "id": "order_material_calendar", "type": "date", "format": "yyyy-MM-dd HH:mm", "visible": true},
          {"label": "Delivery date", "labelVisible": true, "id": "order_delivery_calendar", "type": "date", "format": "yyyy-MM-dd HH:mm", "visible": true},
          {"label": "Desc.", "labelVisible": true, "id": "order_description", "type": "string", "visible": true, "wrap": true}
        ]
      },
      {
        "name": "Misc",
        "description": "",
        "fields": [
          {"label": "Project no.", "labelVisible": true, "id": "project_no", "type": "string", "visible": true},
          {"label": "Project name", "labelVisible": true, "id": "project_name", "type": "string", "visible": true},
          {"label": "Project customer", "labelVisible": true, "id": "project_customer", "type": "string", "visible": true}
        ]
      }
    ]
  }
}

Troubleshooting

  1. Make sure the following file exists: \plugins\rest\clients\dashboard.jar
  2. If the Dashboard web-service is started correctly, you will have the following lines in the log-file “\service\service1\robex\log\gantt.log” (or “%userprofile%\robex\log\gantt.log” if running the REST service embedded in the local client)
gantt.rest.ExternalClientsLoader - Client path /dashboard/, version '${timestamp}'
gantt.rest.ExternalClientsLoader - Doc roots: com.google.common.collect.SingletonImmutableList size=1 -> [0] /dashboard/gantt.rest.ExternalClientsLoader - Add dashboard.jar with content in [Ljava.lang.String;@70819ba8 to context /dashboard/

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment