Skip to content

Project Status

Will Rogers edited this page May 15, 2020 · 39 revisions

If you plan to look at one of these tasks, put your name beside it, and let people know in the Slack channel.

Larger work packages

  • Widget interface - Will Rogers
    • Prop types at runtime
    • Default props
    • Widget registration
    • How functional widgets should share common code
    • Can a widget define its own new prop type?
  • Positioning and layouts
    • Which of the possibilities of CSS positioning should be available?
  • Filesystem layout and file serving
    • Opening files in different screen locations
    • URL formats
  • Performance and benchmarking - Tim Guite
    • Coniql
    • Websocket performannce, including arrays
    • Benchmarking suite
    • JS code
  • Plotting (2D and 3D) - Bryan Tester
    • Server-side plotting
    • Nivo charts, plotly
    • How does Jupyter do plotting?
  • Understand Z-ordering and click pass-through
    • EDM click pass through widgets to those beneath. Is this useful? How easy would it be?
  • Themes, styles and classes
  • JavaScript VTypes and handling EPICS7
    • Use Coniql's tartiflette branch
    • Do we need to handle arbitrary structures?
  • Load EDM files directly
  • Databrowser
    • This depends on plotting capability
  • GDA UIs
  • Launching other applications from the web UI
  • Packaging as an Electron app
  • Editor
  • Formula functions as in Phoebus
  • Review existing projects
    • React Automation Studio
  • Javascript build system
  • Documentation

Medium-sized tasks

  • Handle multiple PVs on one widget (see Phoebus widget runtime code)
    • Could all these PVs be part of a single device?
  • Define rule capabilities
  • Prototype Pyburt UI
  • Simplify 'wrappers' and avoid extra divs where possible
  • Allow group-box style border on any widget
  • Allow PV values to be used as symbols, as in the EDM MenuMuxPV widget
  • Make widget parsing more generic:
    • allow complex parsers to create multiple props
    • allow widgets to provide their own custom parsers
    • forbid unrecognised fields (at least in json files)

Fixes

  • Load different CS-Studio screens and assess how well they work
  • Try to create a beamline synoptic more closely
  • Add widgets for all the graphical elements that Phoebus has
  • Handle unrecognised protocol (xyz://) better
    • This is easy to reproduce but will end up exploring how Redux works in the app
  • Make demo PVs update less quickly
    • This is easy to reproduce but will end up exploring how Redux works in the app
  • Handle alignment of groups in .bob files
  • Position class name clashes with built-in Position type
  • Disable action button when writing to read-only PV
  • Text update jitters when number turns negative
  • "Manifest: Line: 1, column: 1, Syntax error." in the console
Clone this wiki locally