Skip to content

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