Graphics

 View Only
  • 1.  Dynamic Datalinq

    Posted 05-06-2020 15:49

    Hello all,

    I have a quite difficult challenge that awaits me.

    Last year I have built an XPression-project for a 24h music channel where XPression is used (among other things) to generate all of the lower thirds during the clips on the channel.

    In order to be able to build all of the logic and the rules I have used Visual Logic to link to the JSON-feed and to determine which Scene Directors to play.

    Everything is working fine, but now they want to add a backup-system as a failover.

    On XPression-level this means that I need to link to a different JSON-feed.

    So I have three options, either I duplicate the current scene and manually adjust all of the Datalinqs in the Visual Logic, but that means that when I need to make an adjustment to the layout, I have to make the adjustments on both scenes.

    So it would be easier if there was a way to make the Datalinq dynamic but inside the Datalinq-block. So instead. By using a Datalinq Key or something that I could use to select which Datalinq Source I use. Is there any possibility like this?

     

    The last option would be to use two datalinq blocks in Visual Logic, one for the MAIN data and one for the BACKUP data and use an Input Selector to determine which data to use but that would make the Visual Logic quite slow, but if I have to, I will do it that way.

    Best regards,

    Kenneth

     



  • 2.  RE: Dynamic Datalinq

    Posted 05-08-2020 13:16

    RSS/HTTP datalinq sources have a dynamic refresh option based on a datalinq key. But I imagine you would still need build  some visual logic trees to drive that.

    I'm no systems architect or backend engineer, but I would think that while using Xpression to solve this is a novel approach, you'd want to explore your redundancy options upstream at the data source level itself.


    #XPression


  • 3.  RE: Dynamic Datalinq

    Posted 05-08-2020 20:44

    The datalinqs in XPression are only referring to Datalinq Server Sources by Name, so that's the easy way I get around making my datalinqs a little more dynamic sometimes.

    You can either change the Source of the feed, so a different file or URL.

    Or you can have another feed already set up, and it's a bit obtuse, but you can just rename the Primary Source to something different, then change the Backup Source's name to the Primary Source's original name. Then all your datalinqs will refer to the Backup feed instead.

    A way to handle that a little more elegantly (especially if your sources are always the same) is to Save and Load Configurations. You can just have Primary and Backup .dsc files and Load which one you need at any time.

    These do require someone to manually make the changes when necessary, but that would still be the case if you tried doing it within XPression or with Visual Logic.


    #XPression


  • 4.  RE: Dynamic Datalinq

    Posted 05-08-2020 21:52

    Thank you Martin and Mike for your replies.

    @Martin, thank you for your suggestion but when I look at the Datalinq Manager in the RSS/HTP-option I see the following message "The URL may contain %macroname% macros but cannot include %table% or %datalinqkeys%"

    So it would seem to me that I can't use datalinqkeys. Unless there's something I've missed?

    In terms of redundancy, my client has two separated playout servers that are running simultaneously but they only have one Ross Carbonite and one XPression in the Master Control Room. So I can't control the dataflows before the XPression, other than creating a separate application to treat the data-flows, but I'm trying to avoid adding another possible point of failure.

     

    @Mike, the manual switch is not really an option. The failover happens automatically, so the goal is that the datasource switches automatically. The failover can use RossTalk to send commands to XPression. So I need to use that workflow but in an automated way. But for now I think I have to create double Datalinqs in the Visual Logic.

    Thanks,

    Kenneth


    #XPression


  • 5.  RE: Dynamic Datalinq

    Posted 05-08-2020 22:11

    You can use %table% and %datalinqkeys% if the Mode of the RSS Source is set at Dynamic URL instead of Static URL.


    #XPression


  • 6.  RE: Dynamic Datalinq

    Posted 05-13-2020 10:36

    Thank  youfor thesuggestion @Mike, I had never paid attention to that Dynamic URL before.

    I have been playing around with it, but unfortunately I can't get it to work using a local file. 

    It would seem that it only accepts URL's and not local files.

    I have tried using file:///C:/Test/MAIN/playout.json, 127.0.0.1/Test/MAIN/playout.json, and all variations, using double slashes, backslashes etc.. but unfortunately nothing works.

    But thank you for pointing this out to me.

    Best regards,

    Kenneth


    #XPression


  • 7.  RE: Dynamic Datalinq

    Posted 05-13-2020 15:57

    Yeah that might make sense. Datalinq has a specific JSON and XML source for local files. So the dynamic URL wouldn't help unless you had two different servers to ping (like a staging and a production server or something). I've never used a local file before in the RSS/HTTP source, just the hardcoded ones.

    You might be able to cook something up with visual logic where if a field returns an empty, it would switch the the source of the datalinq via an input selector. HOWEVER, I've encountered issues when it comes to using a datalinq originated piece of data to inform another datalinq action.

    That is likely something that ultimately might have to be done via scripting. One thing that we actually have for an automated playlist is using a dummy scene with an event script within it. Then we have 2 timed groups in our sequencer. Basically what happens is our dummy scene has a 60 frame looping scene director which runs an event script on frame 60. We use it to check the system clock because we want one playlist to play within certain hours and another outside of those hours.


    #XPression


  • 8.  RE: Dynamic Datalinq

    Posted 10-25-2020 18:49

    Hello all,

     

    Just in case somebody stumbles upon this while searching for a solution for the same issue as I had.

    I have found a workaround which allows me to use the dynamic url functionality with local files.

    I have activated the IIS-server and added both the main and the backup folders where my files are located as a webfolder. This way, I can actually use them as a "webfolder" eventhough they are on the local drive.


    #XPression