-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gedcom-registries discussion #103
Comments
On the second item, I'm hesitant to use paths for versions for the following reasons:
On the other hand, we will need different files for different versions, for example the 8.0 EXID is scheduled to change in a backwards-incompatible way and 7.1 could add new substructures to 7.0 structures. Subdirectories might be the easiest way to make those files have unique names. I'd prefer to add some kind of versions flag inside the YAML itself, but have not settled on how I think that should be done. For example, we could do versions:
- "5.5.1"
- "7.0" or from-version: "5.3"
removed-from-version: "8.0" but that might not be ideal. For example, we could record changes in a single YAML file, so e.g. we could have EXID's file have something like substructures:
"https://gedcom.io/terms/v7/EXID-TYPE": "{0:1}"
changes:
- version: "8.0"
substructures:
"https://gedcom.io/terms/v7/EXID-TYPE": "{1:1}" |
Regarding version numbering... The use case is to support registering third-party extensions to motivate features meeting the "awaiting use" criteria, even if the extension was only for 5.5.1 so far because the app hasn't yet supported 7.0. For validation purposes there should be a way to match the GEDC.VERS value against some list or range in the yaml file. The 7.0 spec says:
So the same yaml file for 7.0.x should work in 7.0.y. |
Another point to discuss... YAML files are being generated off the spec today for the standard ones. However if we want them to have Luther asked:
They would appear in the directory for each relevant version.
Maybe, maybe not. First, we don't have an issue that I know of that would require restructuring the repo. Second, even if restructured, the repo could contain both the old and the new structure in parallel or even in different branches or repos. So I don't see that as a blocker. |
For third party extensions, getting them registered is a challenge. So what do we do if an application's extensions are registered for 7.0 and then it supports 7.1? By the rules of 7.0's SemVer then they should by default apply to 7.1 as well. But there might be things added that would result in some change like 7.0: "https://gedcom.io/terms/v7/EXID-TYPE": "{0:1}" Perhaps a minor release by default inherits the files from the previous one, and only deltas require their own file? |
Discussion May 2, 2024 in the GEDCOM Steering Committee meeting:
|
Example discussed 9 MAY 2024: We think we would recommend: For standards, the committee has stricter control and can guarantee the URIs would change in any minor or major change. The spec says that the structure type defines its (standard) substructures. |
For documented extensions, the GEDCOM version seems to be irrelevant as it could be used in any GEDCOM version that supports the superstructures/substructures referenced in the YAML file. |
The text was updated successfully, but these errors were encountered: