Vision 2021 Exportable "Readable" Display Format not readable

The Offline Display Files added with PI Vision2021 are encoded in some manner and not directly readable. Is there any documentation available as to how the file is encoded? It would be extremely useful and powerful and open a huge number of use-cases if that information were available.

 

Parents
  • The PDIX file is a zip file. If you rename it to use a zip extension, you can open it in Windows Explorer or another program that supports zip files. FYI, this is the same approach Microsoft uses for its Office documents (docx, xlsx, pptx, etc.).

  • Oh wow. This is brilliant:

    {
        "Symbols": [
            {
                "DataSources": [
                    "af:\\\\hidden"
                ],
                "Name": "Symbol1",
                "SymbolType": "value",
                "Configuration": {
                    "Top": 635,
                    "Left": 618,
                    "DataShape": "Value",
                    "Height": 56.5,
                    "Fill": "rgba(255,255,255,0)",
                    "Stroke": "rgba(119,136,153,1)",
                    "ValueStroke": "rgba(255,255,255,1)",
                    "ShowTime": true,
                    "IndicatorFillUp": "white",
                    "IndicatorFillDown": "white",
                    "IndicatorFillNeutral": "gray",
                    "ShowDifferential": true,
                    "DifferentialType": "percent",
                    "ShowIndicator": false,
                    "ShowValue": true,
                    "ShowTarget": true,
                    "ShowLabel": true,
                    "ShowUOM": true,
                    "TextAlignment": "left",
                    "FontSize": null,
                    "UseIntegerFontSize": false
                }
            }
        ],
        "AttachmentIds": [],
        "RequestId": null,
        "StartTime": "2021-06-01T11:52:07Z",
        "EndTime": "2021-07-02T10:52:07Z",
        "LegacyDisplay": null,
        "EventFramePath": null,
        "Id": 7,
        "Name": "gauge",
        "Path": null,
        "Owner": "hidden",
        "ReadOnly": false,
        "Revision": 6,
        "DisplayProperties": {
            "Calculations": []
        },
        "ProductVersion": "3.6"
    }

    I think you guys can't imagine what kind of a game changer this is.

     

    I'm serious, this is better than Christmas.

  • I know the Events Table has changed and I'm pretty sure the Asset Comparison Table did as well. But we do support upgrading, so the older formats should still work and be upgraded as needed.

  • ​ Looking at the content posted above, I only see the "ProductVersion" at the end differing from json representations of displays in PI Vision 2019 and 2020 (as seen when sniffing the data sent back and forth through Chrome's F12 -> Network). Do you know if there are any major differences in 2021 json compared to 2020?

     

    ​ I can understand why you are exited, just be prepared to verify any solutions upon every new PI Vision version, if you decide to do something. I have a display parser running at one of my customer's sites, where we process displays using Collections, and create static symbols instead. Because of the inherent functionality of collections loading their content after or during the loading of the display, our customer experienced fairly high loading times. By having a service updating a display copy with static populated symbols on a time schedule, we could cut the loading time in half, while still having the luxury of the display populating itself using the collections and their search criteria.

  • I was thinking more in line of the syntax of the json representation for an entire display, as posted above. But it's good news for my case, as we didn't modify Events Tables or Asset Comparison Tables using code.

     

    I guess I'll just have to play around with it a bit, to get a feel for what's working and what's not. Just having the json available in a file that can be imported takes away most of the hassle I experienced when POST'ing changes to displays before calling the SaveDisplay method.

Reply
  • I was thinking more in line of the syntax of the json representation for an entire display, as posted above. But it's good news for my case, as we didn't modify Events Tables or Asset Comparison Tables using code.

     

    I guess I'll just have to play around with it a bit, to get a feel for what's working and what's not. Just having the json available in a file that can be imported takes away most of the hassle I experienced when POST'ing changes to displays before calling the SaveDisplay method.

Children
No Data