Subject: [Asdf] Versions, Dates, Features, Token holders

From: Carsten Bormann <[email-masked]>
Date: Mon, 19 Apr 2021 18:06:22 +0200

Today at the OneDM meeting we had a look at the info block qualities.

We have:

* title (just some human-readable text)
* version
* copyright (legal)
* license (legal)

Today in the OneDM playground, the version quality simply contains a date string (ISO 3339 style, "2021-04-19”).

Beyond the date information, we now seem to discuss pressing a lot of other information into the version quality:

— semver (1.2.3, major/minor/patch), 
— token holder (who is expected to be evolving that spec)
— date (what exactly is the date this is about?)
— feature tags (which features are addressed by this model)

Instead of coming up with a complicated regexp to jam all this information into a single version string, we are probably better off with just having separate qualities in the info block.

What we came up with in today’s OneDM meeting:

— put the semver information into the “version” quality.  To make this comparable lexicographically, we simply use two-digit numbers (01.02.03).
— add a “date” quality that can hold an RFC 3339 full-date or date-time for the point in time when this model was created/finalized etc., so we have covered this.  (This might turn into multiple qualities if we find that different dates are relevant to a single model.)
— add an “token-holder” quality, which in OneDM usage would be an (identifier-like) ecosystem name up to the time when a model is picked up by OneDM.
— add feature tags, which is an (unordered) array of (identifier-like) text strings that can be used to find out whether a model addresses a particular feature or not.

Info block qualities are a defined extension point in SDF 1.1, so this should not get us into trouble.

(Identifier-like means that the text string is not a sentence, but something like [a-z][-a-z0-9.]* .)

Comments welcome; I’d like to spend a little time discussing this on Wednesday’s ASDF interim.

Grüße, Carsten

---

From: Carsten Bormann <[email-masked]>
Date: Mon, 19 Apr 2021 18:10:10 +0200

On 2021-04-19, at 18:06, Carsten Bormann <[email-masked]> wrote:
> ISO 3339 style

RFC 3339 style, of course (or ISO 8601 style, if you prefer to say that, but that denomination points to a kitchen sink).

Grüße, Carsten

---

From: Ari Keränen <[email-masked]>
Date: Fri, 30 Apr 2021 12:21:36 +0000

On 19.4.2021, 19.06, "ASDF" <[email-masked]> wrote:
[...]
> — add a “date” quality that can hold an RFC 3339 full-date or date-time for the point in time when this model was created/finalized etc., so we have covered this.  (This might turn into multiple qu…
 
On the topic of "different uses of date" there are at least these:
* When was the model created/updated (the "obvious use")
* When was the tool that generates the model last updated (this is how our IPSO-SDF conversion tool currently uses the version/date field)
* When was the model published (e.g., to some public repository, like OneDM playground). This is likely to be same / close to the two above. I wonder if the differences in semantics are meaningful.
 
The "tool date" has been quite useful during tool and spec development when new features and bugs are introduced rapidly. This is probably less of an issue when spec and tools are more stable. One option here would be to have optional "tool info" quality that could contain relevant information about the tooling used. 

Cheers,
Ari