Schema versioning with errata

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Mon May 20 16:17:50 CEST 2019


Dear Giulia (as document coordinator), dear GWS (as stewards of
schema versioning),

Now that VOResource 1.1-Erratum-1
(https://wiki.ivoa.net/twiki/bin/view/IVOA/VOResource-1_1-Erratum-1)
as been accepted by the TCG[1] there is a change in the XML schema file,
and I suppose this is not going to be the last such case.  Hence, we
should ideally have a policy.

Here's what I've done and how I propose to go on:

(a) I changed the version attribute on the root of the schema file to
    "1.1+Erratum-1"
(b) I've commited the repaired schema file to Volute,
    http://volute.g-vo.org/svn/trunk/projects/registry/VOResource/VOResource-v1.1.xsd
    (the location of the original schema file)
(c) The document coordinator should now overwrite the document at
    http://ivoa.net/xml/VOResource/VOResource-v1.1.xsd with the new
    file
(d) The redirect at http://ivoa.net/xml/VOResource/v1.0 remains
    unchanged.


Here's my reasoning:

(a) is because people should be able to work out the "patchlevel" of
the schema.  When Erratum-3 is being applied, the version would
be 1.1+Erratum-1+Erratum-3.  Yes, that could potentially get long,
but since not many people will have too look at it, that's probably
acceptable.

In case we ever touch our version name rules to cover this, I'd say
we should say "1.2-<anything>" is a draft for 1.2, "1.2+<anything>"
is 1.2 with errata applied.  But I guess for now we can live with
having a loose understanding; I see no reasons why machines would
want to do comparisons here.

(b) is because the name should be constant in the doc repo in the
next point, and so the source name should be constant, too.  Also,
this way people can more easily follow changes in the VCS.

(c) is because I believe it is in the nature of an erratum that
there's no reason ever to use errataed-out files; a deprecated
version might still be in use somewhere, but for errata not only
should there be no reason to keep running whatever has been fixed,
the fixes should be small and simply fixable (they definitely are in
this case: no action required by document authors).

(d) is because we've overwritten the previous target of the redirect.

So -- would anyone object to going about like this?  An obvious
alternative, for instance, would be use something like the version
proposed in (a) as a file name, not overwrite the original 1.1, and
just change the redirect (I've argued above why *I* think we
shouldn't do that, but the argument isn't terribly strong).

One thing I don't particularly like about the schema is that there's
dashes in 1.2+Erratum-1.  *If* we ever define such versions as being
machine-readable, we might regret that because it would make parsing
harder.  From that perspective, 1.2+Erratum_1 would be preferable.
But our pages are called Erratum-1 (and there's underscores in the
page names), and so I don't like the underscore here.

So... Opinions?

If no one protests, Giulia, could you copy

https://volute.g-vo.org/svn/trunk/projects/registry/VOResource/VOResource-v1.1.xsd

to

http://ivoa.net/xml/VOResource/VOResource-v1.1.xsd  ?

Thanks,

         Markus


[1] I know it doesn't look like this at the moment, but I'm sure
that's going to change soon; so, for now take my word for it.


More information about the grid mailing list