Giter Site home page Giter Site logo

mq-protocols's People

Contributors

idanstark42 avatar poelstra avatar rikkertkoppes avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mq-protocols's Issues

Restructure message topics

Currently, most (all?) topics used by the FLL apps are using a colon as separator between a 'subsystem' of an app and a 'command/event', e.g. clock:arm.
Also, nodes are currently used for specifying an 'app' (e.g. overlay).

However, MHub's topic system (and especially the pattern matching for subscribing and e.g. permission management) is based on path-like topics, e.g. /some/topic, i.e. separated with slashes.
MHub nodes should also mostly be seen as 'virtual hosts', i.e. most components in a system would normally connect to the default node.

The proposal is to change the naming scheme of nodes and topics as used by all current FLL apps to be more consistent with MHub's underlying concepts.

This basically means changing the node name of each app to default, and changing the topic 'schema' to something like /app/subsystem/event, e.g. /overlay/clock/arm, /scoring/ranking/published/qualifying.

Advantages:

  • better pattern matching possibilities (for subscribe, but also for specifying more detailed publish and subscribe permissions)
  • easier to understand that topics can be a 'hierarchy' of events (like the ranking message, above)
  • the default node is already always available in the default MHub configuration, so for a simple setup it works out-of-the-box
  • easier to support 'multi-room' events (by using nodes for the 'rooms', e.g. pit area and practice area, which will have e.g. twitter streams and general announcements in common, but not scoring)
  • better compatibility with future features in MHub

Disadvantages:

  • need to change the nodes/topics in existing apps (displaySystem, fllscoring, twitterAdmin, more?)
  • may have to inform external parties of this change (I think this is only jpschewe's app right now)
  • need to update mq-protocols documentation
  • using old with new apps will break if we don't have backwards compatible messages

I suppose the work is manageable, and we could even have a simple MHub Relay transform to also forward specific new style messages to their old naming or vice-versa, if necessary.

Starting pause clock works different in clock file and display file

When pause the clock using the command prob (mhub-client -t clock:pause)
and later send a message to start the clock (mhub-client -t clock:start)

The clock file will reset its time
The overlay will continue counting down

(This does not happen if you use the overlay control window)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.