Hi James,
This model is not ideal if several different PC's are editing the same XML. Users would not be notified of changes made by other users unless they reread the file. You can obtain this functionality a different way if you are up for a little extra configuration.
The idea is to have one External XML Data Source Panel as the server. The server panels XML file will be accessed remotely through JSON by the client panels. Each client panel would be created as a Blank Self-Contained Data Source Panel (XPression) template and will have access to its own internal parameters, as well as the parameters in the servers XML file. Changes made by clients are immediately saved to the servers XML file.
SERVER
To create server panel:
- File > New CustomPanel File
- Provide filename and use Template: External XML Data Source Panel Click Finish
- Enter PanelBuilder Edit Mode
- Double click on empty canvas to bring up Edit Component <abs> window
- Make sure the root abs tag is selected in the tree view and then click the source tab
- Add the attribute 'jsonport="9876"' to the root abs tag where 9876 is an unused port
- Apply and Close
CLIENT
Setup data source and create custom panel:
- File > New > TCP/IP DashBoard Connect or openGear Device
- Enter the IP Address where the server DashBoard resides
- Provide a Display Name
- Select JSON protocol
- Enter the port provided in the creation of server panel
- Click Finish
- File > New CustomPanel File
- Provide filename and use Template: Blank Self-Contained Data Source Panel (XPression)
- Enter PanelBuilder Edit Mode
- Double click on empty canvas to bring up Edit Component <abs> window
- Underneath "Insert Tag" at the top left corner, click the "Device" button
- On the Context Attributes tab, select the checkbox next to openGear or XPression DataLinq
- On the Select Device for Context window, select the child of the device we created in the "Access data from server panel" section and click OK
- Apply and Close
After these steps are completed, you should be able to access server parameters from the client machines. This gives one central location where all users can obtain their parameters and provides the benefit of keeping these parameters in sync across all users.
Please let me know if you have any questions.
Thanks,
#DashBoard