LabVIEW-DCAF / StandardEngine

The Standard Execution Engine plugin for DCAF.
http://forums.ni.com/t5/Distributed-Control-Automation/Standard-Engine-Documentation/gpm-p/3539201
7 stars 3 forks source link

Error 1108 when opening pcfg created in Jan 2017 release in previous version runtime #59

Closed pollockm closed 7 years ago

pollockm commented 7 years ago

Attempting to open a PCFG file created in the Jan 2017 release in previous release version runtime results in error 1108, standard engine configuration from string method blamed.

image

pollockm commented 7 years ago

Cause looks to be the typedef change referenced here: https://github.com/LabVIEW-DCAF/StandardEngine/commit/419961ce4179467dc5da340eae02fa04dc3e9022 . Basically, we added in the 'log' option for error actions. LabVIEW's lovely unflatten from xml primitive doesn't handle extra data very well.

pollockm commented 7 years ago

...I don't see a clean way around this problem without changing the DCAF config file format. JSON would let us compose the clusters from individual path elements, protecting from breakage due to unexpected additional data items. Alternative XML methods might work. Recommend we schedule this work for the 1.2 release as a major item.

Janky workaround: any new data added to a configuration needs to be represented (only in the to string and from string methods) as clusters where each cluster represents the config added in that version. Make an addition, you get to bump the version number and add a new typedef for that version number. All other typedefs must remain unchanged until the end of time.

pollockm commented 7 years ago

Attempting workaround. If it succeeds, I'll consider this issue closed for the purposes of the 1.1 release. We will continue to see issues like this until or unless we get a cleaner, consistent version migration strategy.

pollockm commented 7 years ago

Fixed in https://github.com/LabVIEW-DCAF/StandardEngine/commit/642bb47f8956cf18dbafed83d9299dd9b80eb749