Closed astrofrog closed 4 years ago
There was already a versioning strategy for dealing with the incompatibilities of TimeLine tours when WWT 5.0 was released, we can continue to use a similar strategy in the future. We should talk about this before we move this PR thru.
Well saying the tour file was created for a newer version of WWT and can't be read is all well and good. However just saying that alone isn't enough, as you can't be sure what newer version it starts to be compatible with.
It also needs to show a minimum compatible WWT version number for the file format based on the versioning if possible, possibly pointing them to an article with information about the minimum required version for a particular file format. If not then just display the version of the file format used and direct them to an article with information, on file format compatibility with WWT versions. Also if appropriate like the about dialogue also display the currently installed and running version number.
So as a result people can do research for what version is required, unless the minimum required is listed on a sharing platform or feature for the tours.
I'm going to close this since I think this requires further discussion, and I won't have any time to work on this in the near future.
In the context of the discussion in https://github.com/WorldWideTelescope/wwt-web-client/pull/237 and https://github.com/WorldWideTelescope/wwt-web-client/pull/238 I thought it would be worthwhile investigating how we could start to version tour files today.
The solution I settled on is two-fold:
FormatVersion
XML attribute that is an integer starting at 1 (0 means pre-versioning)ID
attribute toId
on theTour
element. In fact, theTourStop
element usesId
notID
so this actually improves consistency (though that wasn't really the goal here).If I try loading a Version 1 file (after this PR) in the current stable release of WWT, I get:
If I update the version to 2 and try loading it in to the version of WWT in this PR I get:
While I agree that the error message for the old versions of WWT won't be very informative, there simply isn't a way to make it raise a nicer error as far as I can tell, but at least with this PR we can fix this for future.
We'll need to make sure we document properly changes/additions from one format version to the next, and keep the web client and desktop client functionality in sync.
If others think this is a good idea, I can set up a similar PR for the web client.