Exposing data
A service can expose data in a few different ways
its State ("whitebox" data)
non-State values (“whitebox” data)
via RPC calls ("blackbox" data)
State
Every service is allowed to have one State
A State is strictly per Show
A State is a JSON object
The global settings of a Show are on the State of the Store
All services can access and subscribe to the State of a service or request changes, but only the Service itself is allowed to actually modify its State
For portability and upgrading of Pixotope, every service needs to be able to handle old states it has reported itself
The Store keeps the memory of all states (its own and all service states) in .pxshow
files. This way you can switch between complete sets of states (Shows)
Data via RPC calls
This data is exposed and modified via RPC calls
This data is unrelated to a show
RPC calls are service specific