Thanks for all your help Jeff, this worked great for Tuesday and will make life much easier in November when the ballot will most likely be much longer.
Original Message:
Sent: 05-27-2026 21:13
From: Jeff Mayer
Subject: %relid% or datalinq key update for crawl scene group secondary scenes
That makes sense, as the child scene doesn't have a take item ID associated with it, so its %relid% value can't be calculated.
Try this instead...when using %relid% in the Datalinq Key, the child scene will calculate the equivalent value by getting the parent scene's Take ID and subtracting the parent scene's group's Take ID and setting it's Datalinq Key as the difference. If something other than %relid% is used in the Datalinq Key, the script will still pass that value to the child scene's Key.
'declare variablesdim keys,parentkeys as xpDatalinqKeysdim key,parentkey as xpDatalinqKeydim parent as xpScenedim takeitem as xpTakeItemdim group as xpTakeItemGroup'get parent scene's take id and group idself.GetParent(parent)parent.GetTakeItem(takeitem)takeitem.GetGroup(group)'get 'line' datalinq key from parent sceneparent.GetDatalinqKeys(parentkeys)parentkeys.GetKeyByName("line",parentkey)'get 'line' datalinq key from child sceneself.GetDatalinqKeys(keys)keys.GetKeyByName("line",key)'if datalinq key is set to %relid%'set child scene's 'line' datalinq key value to match the parent scene's equivalent relidif parentkey.AsString = "%relid%"key.AsString = cstr(takeitem.ID - group.ID)'if not using %relid%'set child scene's 'line' datalinq key value to match the parent scene'selse key.AsString = parentkey.AsStringend if
------------------------------
Jeff Mayer
Ross Video
------------------------------
Original Message:
Sent: 05-27-2026 18:27
From: Tom Loftus
Subject: %relid% or datalinq key update for crawl scene group secondary scenes
Thanks Jeff, that works!
By any chance, is there a way to get the %relid% value to pass to the child? If I manually enter the value for the line Datalinq key, it all works great. However, if I use %relid% as the parent scene key, the child scene does not seem to pick up the value from the parent.
If not, no worries. I can manually enter the key for each page.
Thanks again for the information and code!
------------------------------
Tom Loftus
Operations Supervisor
SFGovTV City and County of San Francisco
San Francisco United States
------------------------------
Original Message:
Sent: 05-27-2026 10:48
From: Jeff Mayer
Subject: %relid% or datalinq key update for crawl scene group secondary scenes
The only way to set the datalinq key of your child scene to match that of the static parent in a Scene Group is with scripting.
Not sure how familiar you are with scripting, but here one you can place on each of your child scenes. It gets the value of the "line" datalinq key in the parent scene, and sets the same datalinq key in the child scene to match. The name of the datalinq key is case sensitive, so make sure the datalinq key in both your parent and child scenes is all lower case like you wrote it above.
This script goes on the OnOnline event of each of the child scenes in your crawl. Let us know if this works for you.
'declare variablesdim keys,parentkeys as xpDatalinqKeysdim key,parentkey as xpDatalinqKeydim parent as xpScene'get 'line' datalinq key from parent sceneself.GetParent(parent)parent.GetDatalinqKeys(parentkeys)parentkeys.GetKeyByName("line",parentkey)'get 'line' datalinq key from child sceneself.GetDatalinqKeys(keys)keys.GetKeyByName("line",key)'set child scene's 'line' datalinq key value to match the parent scene'skey.AsString = parentkey.AsString
------------------------------
Jeff Mayer
Ross Video