Schema Versioning

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Mon Jul 18 14:03:40 CEST 2016


Hi Grid,

Sorry to take this here, but since this is where the schema
versioning thing started, I thought I'd take this here.

This is about the sluggish RFC on

http://wiki.ivoa.net/twiki/bin/view/IVOA/XMLVersRFC

Well, trying to apply schema versioning I encountered problems.  I've
added a comment there (as "interested public", as it's not really
Registry business).  To perhaps muster a couple of additional brain
cells to come up with a good solution, I take the liberty of
repeating my comment there here:

One problem I see with the proposal is transitioning. Unfortunately,
most of our namespaces actually have a minor version in them.
Consider, for example

* http://www.ivoa.net/xml/VOSIAvailability/v1.0
* http://www.ivoa.net/xml/VOTable/v1.3
* http://www.ivoa.net/xml/SIA/v1.1

This is problematic if we intend to evolve the schemas to new
versions, because the namespace will insinuate something that is
patently untrue. For instance (and this is already happening) the
namespace of version 1.2 of the SIA registry extension will still be
http://www.ivoa.net/xml/SIA/v1.1.

In the future, this kind of thing is fairly easy to avoid: Only put
the major version into the namespace; I suppose we should use things
like http://www.ivoa.net/xml/SIA1, http://www.ivoa.net/xml/SIA2, and
so on (where this particular example stinks a bit because the
extension schema is maintained independently of the standard).

For the transition, this isn't suitable. We have the "broken"
namespaces.

I see a couple of escape routes.

(1) Comment that only legacy namespaces have minor versions in, and
    these minor versions are to be ignored in the VO. Only the major
    versions actually carry meaning.
(2) Say that, with these legacy namespaces, micro versions are to be
    used. That is, the next version of the SIA schema will declare its
    version as 1.1.1 (and after 1.1.2 and so on).

Both aren't exactly pretty, though I have to say that a naming policy
pretty similar to (2) didn't stop have from becoming a success...

Opinions?

         -- Markus


More information about the grid mailing list