Legacy Remoting in Ventuz 4
Posted: 21 Oct 2014, 09:17
Hi everyone,
I have a Ventuz application that shall be ported from Ventuz 3 to Ventuz 4. Besides the pure presentation I'm also using a control software that feeds the presentation with data or triggers state changes. This software still runs with the very first version of .Net Remoting and uses the method VentuzSceneHelper.ActiveScene.SetProperties() to directly set properties that are externalized.
The presentation uses an externalized scene port to dynamically load a nested scene with properties that need to be controlled by the control software. Now that the externalization of scenes has been replaced by the scene data, I can't directly access formerly exposed properties of the nested scene (e.g. "/NestedScene/PropertyName") since this hierarchy is now interpreted as a Container named "NestedScene" with data channel "PropertyName" within my main scene.
My main scene on the other hand doesn't have these properties in the scene data and so changing these values doesn't have an effect on the nested scene.
One possible solution would be exposing all the parameters to be controlled to the scene port itself and binding them to the main scene's scene data (by creating a container in the scene data named "NestedScene" with all the properties underneath). So all the Calls could be resolved porperly. Unfortunately the scene has quite an amount of properties and exposing all fo them to the exact names is a significant source for mistakes on my side. Especially since I won't be able to test each and every functionality.
Does anyone know a simple way to easily restore the previous functionality to access properties of nested scenes directly? Changing both presentation and control software is not a problem as long as it won't involve too much reprogramming...
Some way to just get the scene data of the nested scene into the hosting scene?
Thanks for all your help!
I have a Ventuz application that shall be ported from Ventuz 3 to Ventuz 4. Besides the pure presentation I'm also using a control software that feeds the presentation with data or triggers state changes. This software still runs with the very first version of .Net Remoting and uses the method VentuzSceneHelper.ActiveScene.SetProperties() to directly set properties that are externalized.
The presentation uses an externalized scene port to dynamically load a nested scene with properties that need to be controlled by the control software. Now that the externalization of scenes has been replaced by the scene data, I can't directly access formerly exposed properties of the nested scene (e.g. "/NestedScene/PropertyName") since this hierarchy is now interpreted as a Container named "NestedScene" with data channel "PropertyName" within my main scene.
My main scene on the other hand doesn't have these properties in the scene data and so changing these values doesn't have an effect on the nested scene.
One possible solution would be exposing all the parameters to be controlled to the scene port itself and binding them to the main scene's scene data (by creating a container in the scene data named "NestedScene" with all the properties underneath). So all the Calls could be resolved porperly. Unfortunately the scene has quite an amount of properties and exposing all fo them to the exact names is a significant source for mistakes on my side. Especially since I won't be able to test each and every functionality.
Does anyone know a simple way to easily restore the previous functionality to access properties of nested scenes directly? Changing both presentation and control software is not a problem as long as it won't involve too much reprogramming...
Some way to just get the scene data of the nested scene into the hosting scene?
Thanks for all your help!