Skip to content

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

License

Notifications You must be signed in to change notification settings

waltz-controls/waltz

Repository files navigation

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