Web Dashboard

The web dashboard allows some information about each instrument (currently DAE information and block values) to be viewed in a webpage from both inside and outside the ISIS network.

Overall architecture

The Web Dashboard is very simple in architecture - it uses PVWS to provide EPICS updates via a websocket, then displays these updates with NextJS as React components.

This means the “backend” of the system is just PVWS. Any logic that needs to be done on PVs, for example CS:INSTLIST needs parsing as JSON, is done on the user’s web browser. This allows us to deploy the web dashboard as purely static html; currently this is deployed to github pages on a push to main using this github actions CI/CD workflow.

Block history: Grafana and Journals Setup

Docs can be found on the shares at shares\isis_experiment_controls\web_dashboard_history.docx

PVWS setup

See PVWS (PV Web socket)

Troubleshooting

Web dashboard showing outdated or incorrect information

If you cannot subscribe directly to a PV by using the PVWS homepage ie it gets no update with a value in it, this is likely due to a gateway issue on NDAEXTWEB4, a central gateway issue (on control-svcs) or an issue with the NDX.

First VNC into the instrument and find out whether this is happening on the NDX. If it is, your problems are not gateway related.

If not, then try and caget it from your development machine. If this works, it could be a gateway issue. To narrow it down further we can caget with EPICS_CA_ADDR_LIST set to:

  • NDAEXTWEB4’s restricted gateway, to prove whether issue is EPICS level or PVWS level

  • Central gateway, to prove whether issue is at that end

  • An individual instrument directly, bypassing all gateways other than external gateway on each instrument