Facility Control

 View Only
  • 1.  Dashboard Panel save itself?

    Posted 11-20-2019 15:30

    Hi,

     

    I have a dashboard panel that saves some data inside its self. Is there a way to get the panel to trigger saving its own grid file, or to get dashboard to save the grid file at the end of of running a function?

     

    Many Thanks

    James



  • 2.  RE: Dashboard Panel save itself?

    Posted 11-21-2019 21:04

    Hi James,

    Currently we are unable to trigger DashBoard panels to save.

    Does this data need to be stored inside the panel or would you consider loading from an external file?

    Thanks,


    #DashBoard


  • 3.  RE: Dashboard Panel save itself?

    Posted 11-25-2019 15:26

    Hi Dave,

     

    The Data doesn't have to be saved inside the panel, I just built it like that as that's what I know how to do. I think it could be safely stored in an xml or json in the same folder if required. Making the save data always be up to date, and not allowing the user the option to forget to save the panel are the requirements. I can share the grid file with you so you can see what's going on if that would help.

     

    Cheers

    James


    #DashBoard


  • 4.  RE: Dashboard Panel save itself?

    Posted 11-25-2019 18:30

    Good Morning,

    It sounds like you would benefit from saving the parameters in an external file. Parameter changes are saved to the file immediately and do not put your panel in an unsaved state. This eliminates the worry of users not saving the panel. The latest configuration is always loaded when the panel initializes.

    Here is how to create an external XML data source panel:

    1. File > New CustomPanel File

    2. Enter a filename and select External XML Data Source Panel from the template list

    3. Click Finish button

    This creates a [yourfilename].xml file in the same directory which will contain all of your parameters. Configuring the panel should be no different than what you have done in the past with internal data sources.

    Please let me know if you have any questions.

     


    #DashBoard


  • 5.  RE: Dashboard Panel save itself?

    Posted 11-26-2019 15:19

    Hi Dave,

    Thank you, that was a lot simpler than I expected. I made a test xml file, copied the headers, then dumped the params section into it, and pointed the original panel at the xml. Appears to work nicely now. I shall have to investigate doing it on some other panels I've written.

     

    Is there a way of getting dashboard to monitor the xml, so that I can have the grid open on multiple PC's, and have them all stay up to date?

     

    Cheers

    James


    #DashBoard


  • 6.  RE: Dashboard Panel save itself?

    Posted 11-27-2019 20:07

    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:

    1. File > New CustomPanel File
    2. Provide filename and use Template: External XML Data Source Panel Click Finish
    3. Enter PanelBuilder Edit Mode
    4. Double click on empty canvas to bring up Edit Component <abs> window
    5. Make sure the root abs tag is selected in the tree view and then click the source tab
    6. Add the attribute 'jsonport="9876"' to the root abs tag where 9876 is an unused port
    7. Apply and Close

     

    CLIENT
    Setup data source and create custom panel:

    1. File > New > TCP/IP DashBoard Connect or openGear Device
    2. Enter the IP Address where the server DashBoard resides
    3. Provide a Display Name
    4. Select JSON protocol
    5. Enter the port provided in the creation of server panel
    6. Click Finish
    7. File > New CustomPanel File
    8. Provide filename and use Template: Blank Self-Contained Data Source Panel (XPression)
    9. Enter PanelBuilder Edit Mode
    10. Double click on empty canvas to bring up Edit Component <abs> window
    11. Underneath "Insert Tag" at the top left corner, click the "Device" button
    12. On the Context Attributes tab, select the checkbox next to openGear or XPression DataLinq
    13. 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
    14. 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


  • 7.  RE: Dashboard Panel save itself?

    Posted 12-12-2019 10:45

    Hi Dave,

     

    Thank you for sending this over. I think for straight forwardness I'm going to need to end up with 1 'MASTER' server panel, that provides data for many different grid files, so that I only have to keep one server tab open.

    I think the fun part will be going through all the grid files and making the oid's globally unique so that this doesn't cause a problem. Other than that this seems straight forward.

     

    Many Thanks

    James

     


    #DashBoard