Skip to content

Synoptic view

Vincent Hardion requested to merge synoptic-view into develop

This is just the start of a new synoptic app in Taranta.

Note: This MR replace !457 (closed)

Description

This version is a functional prototype how a synoptic view can be used in Taranta.

Based on branch: develop 2.4.1

Motivation

The synoptic view is a must have view for a control system. It represents schematically the system which is under control.

This synoptic version takes up the principles of the taurus-svgsynoptic software and thus fully compatible with any svg synoptic including attributes and description. Although the feature level is not that reach.

How to run this feature

This branch is dependant on:

  • taranta-dashboard having an additionnal schema for storing the synoptics
  • the taranta-dashboard instance is accessible to /synoptics (see the src/setupProxy.js)

Quick start

For a quick start, clone the Taranta Suite branch synoptic.

git clone -b synoptic git@gitlab.com:tango-controls/web/taranta-suite.git
cd taranta-suite
make all
make run

Then, go to http://localhost:22484/testdb/synoptic.

Demo

Once in the synoptic view:

  1. log in as user1
  2. import a synoptic and select the svg file in taranta/public/images/cryo.svg (this is not the best svg for a demo but it's a start)
  3. click start to run the synoptic with tango

Prototype feature

  • Display svg
  • Connected with Tango in run mode, handling attribute value and device state
  • React component. Keep the advantage of the Taranta 2. Each active svg node is a React component, so only update the svg nide when necessary.
  • Pan/Zoom
  • Details appear/disappear with the zoom level
  • Display/hide layers representing subsystem
  • Thumbnail with zoom area (half working)
  • Tooltip when mouse get over a Tango component
  • Open device link when clicking on the component
  • select synoptic
  • save/load synoptic (Only with taranta-dashboard!38 (merged))
  • import svg (see question mark)

Additional feature

To align with the feature of taurus-synoptic:

  • Zoom click. Area where a click goes to the next zoom level.
  • css for the all synoptic
  • JS for the all synoptic (quid of security issue)
  • Open specific panel when clicking on the component

And to get better:

  • Inspector for simple edit of svg

Question marked

  • Import synoptic should maybe take a all synoptic config instead of a sole svg file
  • Code duplication. A majority of the code is copied from the dashboard

Issues

  • Limited to 200 devices, otherwise tangogql crashes. Seems related to same the slow subscription impacting taurus.
  • centering of the main synoptic
  • thumbnail zoom area is shifted
  • Svg React component dependency is marked as compatible only with React v18. But in reality 17 also. For the moment use npm install --force, the Dockerfile uses it for no but it should be properly fixed

Tests included/Docs Updated?

  • Included for each change/fix?
  • Passing? (Merge will not be approved unless this is checked)
  • Docs updated?
  • New packages used/requires npm install?
  • Toggle added for new features?
Edited by Yimeng Li

Merge request reports