0

Write protect Simple file networking location?



I'm hoping someone is able to help me. I have ~15 Brightsign HD1010 units in a hotel/conference environment. They're working well, however we do have an issue. Once I set them all up to poll a local web server, they update fine. I then handed the project over to operational staff, who seem to continually make a mistake when publishing new schedules. Since all the players have unique content, they retrieve the content from different addresses. The staff tend to forget to update this address, resulting in players polling the wrong URLs and not being able to update. This is quite frustrating. Is there a way to force the player to always poll one URL? Can I write protect a file on the SD card? Is there any other simple way around this that isn't occurring to me? Cheers! Mark.

4 comments

  • 0
    Avatar
    dholth


    A complex way might be to change the way base$ and nextURL are looked up by defining your own autorun.brs ...
  • 0
    Avatar
    RokuLyndon


    Yes, a custom autorun could be made so that there's a value substituted for the base url based on either a unit name or a unit serial number.
  • 0
    Avatar
    Pan Pacific Perth IT


    Ok, that sounds feasible, I'll give that a crack.

    Thanks for the suggestion.
  • 0
    Avatar
    RokuLyndon


    I thought someone had asked me about this before. Now, the following is untested, but this might giving you a starting position. In the brightauthor 2.2 autorun.brs script, there are two places where the URL is called. THe following is an example based on changing the URL used based on the IP address of the unit calling in. Any criteria that you can retrieve can be used. You could use the rodeviceinfo object to retrieve the unit's serial number, for example.

    Ok, so in the autorun.brs file, these are two areas where the urls are setup. I've added an ' before the lines to comment them out. At the bottom are lines of code that would replace each section. I haven't tested them but that's how they should work.

    So, right above these two lines, we could check for the IP address.

    And, these two again at 7287:
    'base$ = m.currentSync.LookupMetadata("client", "base")
    'nextURL = m.GetURL(base$, m.currentSync.LookupMetadata("client", "next"))


    These two lines: starting at line 7483
    'base$ = m.currentSync.LookupMetadata("client", "base")
    'nextURL = m.GetURL(base$, m.currentSync.LookupMetadata("client", "next"))


    --------------------------------------------------

    'this assumes they're running 3.5 firmware, to get the IP info from a script.
    'you don't need the match the whole IP if a subnet is enough

    mynetsettings = nc.GetCurrentConfig()
    myIPaddress$ = mynetsettings.ip4_address

    if instr(myipaddress$, "56.24.175.") then
    nextURL=http://192.168.1.106:9000/folder1/current-sync.xml

    else if instr(myipaddress$, "56.67.102.") then
    nextURL=http://192.168.1.106:9000/folder2/current-sync.xml

    else if instr(myipaddress$, "56.33.119.") then
    nextURL=http://192.168.1.106:9000/folder3/current-sync.xml

    else
    base$ = m.currentSync.LookupMetadata("client", "base")
    nextURL = m.GetURL(base$, m.currentSync.LookupMetadata("client", "next"))

    endif


    -----------before the second set of lines we would do it this way 7483-------------

    nc = CreateObject("roNetworkConfiguration", 0)
    if type(nc) = "roNetworkConfiguration" then

    mynetsettings = nc.GetCurrentConfig()
    myIPaddress$ = mynetsettings.ip4_address

    if instr(myipaddress$, "56.24.175.") then
    nextURL=http://192.168.1.106:9000/folder1/current-sync.xml

    else if instr(myipaddress$, "56.67.102.") then
    nextURL=http://192.168.1.106:9000/folder2/current-sync.xml

    else if instr(myipaddress$, "56.33.119.") then
    nextURL=http://192.168.1.106:9000/folder3/current-sync.xml

    else
    base$ = m.currentSync.LookupMetadata("client", "base")
    nextURL = m.GetURL(base$, m.currentSync.LookupMetadata("client", "next"))

    endif

    endif
    nc = 0

Please sign in to leave a comment.