waltz-controls / waltz

A general purpose web application that provides the interface between SCADA(s) system and the scientific users who define and calibrate their experiments

Home Page:https://waltz-docs.readthedocs.io/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

time tracker codebeat badge Build Status

release License

SonarCloud

Quality Gate Status

Maintainability Rating Reliability Rating Security Rating

Lines of Code Technical Debt Duplicated Lines (%)

Bugs Vulnerabilities Code Smells

Documentation

Docs Documentation Status

Waltz User/Developer guides

Waltz API reference

Other useful resources

Gitter TangoControls

Videos

[1] UI and features presentation, 2018

[2] Tech stack presentation: Waltz (ex. TangoWebapp) + Tango REST + Tango Controls, 2017

[3] Waltz Workshop@DESY, 2019, part I

[4] Waltz Workshop@DESY, 2019, part II

[5] Waltz Workshop@DESY, 2019, part III

[6] Integrating React based widget into Waltz

Slides

[1] TangoWebapp Insights, 32 Tango Users meeting, 2018

Live demo

To run the live demo click on the image

User: tango-cs Pass: tango

Getting started

  1. Execute docker-compose.yml using docker-compose i.e. docker-compose up
  2. Open browser and navigate to http://localhost:8080/waltz
  3. Login using tango-cs/tango
  4. Explore Tango Controls via Waltz...

Developer requirements

  • Tango Controls environment (tested on Tango 9.3+)
  • Tango REST Server that supports API spec version v1.1 (tested on rest-server-2.1)
  • User-Context
  • Web server that can handle .war files (tested on Apache Tomcat 8+)

Build

This project uses npm and webpack for high level build operations:

$> npm install
$> npm run build

Extra parameters may ne passed to ant script to define default Tango REST API endpoint and/or Tango host:

$> REST_API_PROTOCOL=[http|https] REST_API_HOST=[ip/fqdn] REST_API_PORT=[e.g. 10001]  \
   TANGO_HOST=[ip/fqdn] TANGO_PORT=[e.g. 10000] \
   npm run build

Implementation details

  • Webix is used for UI
  • CodeMirror is used for scripting console
  • Plotly is used to display plots and images

Misc

When using Waltz, please cite:

I.Khokhriakov, O. Merkulova, F. Wilde, Waltz – A Platform for Tango Controls Web Applications, Proceedings of ICALEPCS2019, WESH3003, 2019 icalepcs2019/papers/wesh3003.pdf

About

A general purpose web application that provides the interface between SCADA(s) system and the scientific users who define and calibrate their experiments

https://waltz-docs.readthedocs.io/en/latest/

License:GNU General Public License v3.0


Languages

Language:JavaScript 97.0%Language:CSS 1.9%Language:HTML 0.6%Language:Dockerfile 0.3%Language:Shell 0.2%