Offline clientside-requested instant playlist switch?


At the moment I have a Xibo 1.6 on Linux. There I have the case that I need, besides an customer managed Ad-Playlist over our server, some static pictures (eg. conter closed) which gets activated by pressing a button (and BTW, the WLAN is very unstable, so it have to work offline (stable, reliable, fast)). I do this with a python script which detects the button presses via GPIOs, closes the Xibo client and changes the wallpaper.

Now we test the Xibo 1.8 on Windows and want to use it in the future. I don’t really like my actual system where the Xibo client gets closed.

So I want to know if there is a Xibo solution for that!? Maybe different Playlists (Ad, Static Picture 1, …) which are always cached and a possibility to told Xibo clientside (offline!) to switch to a specific one (fast, <3sec) via API/Script/GPIO…

I you need more info for an appropriate answer feel free to ask :)!

Player will download schedule/content 2 days into the future (by default) it will then play that content even if it has no access to the CMS, however, if it does not have access to the CMS, then any changes you make to the schedule/content for that display will not have any impact.

Player would need to reconnect to the CMS to download your changes.

So you can use XMR to trigger a layout change action at the Player in response to your button push.

The Player can be pre-assigned the content as Peter says, so that it’s all downloaded. All that needs to reach the Player from the CMS is the XMR message telling it to change layouts. Typical time for an XMR message to be actioned is inside the limit you’ve specified, assuming no collection needs to be done as part of that.

So can I send that XMR message to switch (fully cached) layouts locally within that player hardware from a (python) script to the client app without the need for a network to reach the CMS!?

You first sentence and the overall “massage mood :)” suggests yes (if my first question was clear to you) but the sentence “All that needs to reach the Player from the CMS is …” say no… now I’m confused.

No you can’t. XMR is a connection from the Player to the CMS, that allows the CMS to send a message back to the Player to tell it to do something “now”.

The Player will need to be able to make that connection to the CMS, and the calling app will need to send its message to the CMS. The CMS then handles authentication and encryption, before sending that message to the Player to be actioned.

It can’t be done with the Player completely offline, but the messages involved here are very tiny, so will likely work where you have relatively slow connections in place (since the layouts are already pre-downloaded, it’s literally a message saying “switch to x now”).

Thanks. Sad but good explanation.

One more (crazy) idea that I can think of to make this happen (besides a man-in-the-middle attack):

Lets say I install a CMS on every Player. Than I sync the remote CMSs with my main one per Dropbox. Is it possible to alter config files and playlist payload from the filesystem level instead of the web frontend? And if so which folders/files should i sync?