rcv
rcv copied to clipboard
Handling versions in config files, test files, and CDF output
ResultsWriter.generateCdfJson() has a line that says outputJson.put("Version", "1.0.0"). Can we verify that this is a CDF / NIST format version, and not the version of our app?
If the former is true, I recommend that we change the entry("Application", line to include the version number of our tabulator there, in addition to the change I made in PR #326.
In that case, though, TabulatorTests.compareJsons() will give us trouble as the versions change. Well also run into the same problem once we start including the version number in the config files, per our discussion in #43.
We need a way to parameterize version number in there (or have the line ignored) when doing the comparison for tests.
If this is just about CDF versioning, I don't think it's relevant to the current certification work, right?
That part isn't, but the whole idea of adding version to config files makes this still relevant (see second two paragraphs).
Yeah, confirmed this is the cdf file format version. We really shouldn't spend time on cdf support, certainly not for this release. As for unit tests breaking when versions change, that's true. Shouldn't be hard to fix when the time comes.
Future application versions can decide how to handle this.
Related to my original comment here, but distinct: now that the version is in our config files, this requires us to update every test each time we increment the version, which is a pain (since the CLI is blocked if application version doesn't match config version).
I propose that we create a CLI parameter to migrate the config files to the application version. It would essentially replicate what opening the file and then saving it in the GUI would do, but faster.
Also wondering: what if someone loads a newer config in an older version of the tabulator? We'll have to think about how to deal with that situation too eventually.
I believe everything in this issue is addressed now (given #426), except for one last point from above:
Also wondering: what if someone loads a newer config in an older version of the tabulator? We'll have to think about how to deal with that situation too eventually.