S. Fargier & M. Donzé

image/svg+xmlENGINEERING DEPARTMENT

15/07/2020

Animated Graphics & Dashboard Project

Aka "Flow" project

Animated Graphics

image/svg+xmlENGINEERING DEPARTMENT

"SSVG"

Stateful SVG

image/svg+xml ENGINEERING DEPARTMENT

Example: SVG demonstrating logical state versus graphical state

  • Add a logical state to a graphical object
    • Embedded within the SVG file
    • Describes its relations with the graphical state
image/svg+xmlENGINEERING DEPARTMENT
  • Portable
    • Additional metadata on a self-contained SVG file
    • Can be implemented with any framework (Java, Qt, Web ...)
    • With different animation technologies (SMIL, CSS3, JS, C++ ...)

Stateful SVG

<state>
  <transition duration="200ms" />
  <property name="range" min="0" max="100" type="number" initial="0">
    <relation query-selector="#rect1" attribute-name="width" from="100%" to="0%" />
    <relation query-selector="#rect1" attribute-name="fill" to="blue" />
  </property>
</state>
  • ​Declarative
    • Separate description from operation
    • Focus on what not on how
  • Modular
    • Low dependency standalone "engine"
    • Direct DOM integration

Example: SSVG state declaration

image/svg+xmlENGINEERING DEPARTMENT

 

Stateful SVG: State of Art

Demo !

image/svg+xmlENGINEERING DEPARTMENT
image/svg+xmlENGINEERING DEPARTMENT
  • SSVG Widget Editor
    • Web based metadata editor
    • Does not replace SVG editors, focuses on animations
    • Designed for basic animations (translations, rotations, scaling ...)

 

  • Purpose
    • To ease and fasten widget development
    • To lower the tech learning curve

Stateful SVG: Next Steps

Flow Dashboards

image/svg+xmlENGINEERING DEPARTMENT
  • Solution for devices monitoring and supervision
    • Self-service, accessible to non-developers
  • Scalable and Modular
    • Micro-service oriented, sustending heavy loads
    • Easy to extend and grew (ex: ssvg, RDA3 ...)
  • MALT compliant, and opensource oriented
    • Based on a major opensource project

Goals and Purpose

image/svg+xmlENGINEERING DEPARTMENT
  • Flow Project specification: HTML / PDF

 

  • Dataflow programming oriented

 

  • Deep CERN middlewares integration
    • Still open and extensible

Flow Project

image/svg+xmlENGINEERING DEPARTMENT
  • Strong opensource presence
    • Part of the JS Foundation (Apache 2.0 license)
    • Created by IBM (in 2013)
  • Deeply nested IOT and home-automation
    • Pre-installed on Raspbian
    • Available on BeagleBone, Android and Docker
    • Integrates major clouds: IBM, AWS, Azure ...
    • Compatible with most protocols: MQTT, WebSocket, HTTP, TCP, S7, WinCCOA ...

Node-RED

image/svg+xmlENGINEERING DEPARTMENT

Node-RED

image/svg+xmlENGINEERING DEPARTMENT

Demo !

image/svg+xmlENGINEERING DEPARTMENT
image/svg+xmlENGINEERING DEPARTMENT
  • Docker container: GitLab (early stage)
    • With pre-installed plugins
  • SSVG integration: GitLab (early stage)
    • Forking an existing opensource plugin
  • ​CMW integration: GitLab (pre-release)
    • ​Direct RDA3 Node.js integration
  • ​...

State of Art

Questions ?

image/svg+xmlENGINEERING DEPARTMENT