Skip to content
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

Test file of extensions #89

Merged
merged 10 commits into from
Apr 11, 2024
Merged

Test file of extensions #89

merged 10 commits into from
Apr 11, 2024

Conversation

tychonievich
Copy link
Collaborator

The specific extension-related content is described in HEAD.NOTE. Note that not all of these cases are explicitly identified in the spec; notably, it includes

  • extension tags aliasing standard tags
  • relocated standard enumeration values, to parallel relocated standard structures
  • relocated standard structure as a record, possibly at odds with this part from the spec (emphasis added) "These are called relocated standard structures and can only appear with superstructures that are not documented as a superstructure of that structure type in this specification"

Related to #87 -- if we like this file, we can use it to fill out maximal70.ged

Related to #87 -- if we like this, we can merge it with maximal70.ged
@tychonievich
Copy link
Collaborator Author

On the aliasing tags (i.e. using _USER to mean SUBM, _JOUR to mean COMP, and so on): I think these violate the spirit of the extension versus standard section of the specification, but I couldn't find any specific prohibition against them there. If we decide they are in violation of that, we should update that section to be explicit about that and remove them from this example file. One reason not to prohibit them, and thus to leave them in the example file, is the expectation that version 7.1 might make standard something that some 7.0 files include using extensions; if we fully ban aliasing that will violate the "every 7.0 file is a valid 7.1 file" principle.

@albertemmerich
Copy link
Collaborator

  1. Yes, aliasing tags violate the spirit of extension versus standard section.
  2. If we think the actual standard version does not explicitly prohibit aliasing tags, we cannot prohibit them in 7.x: In that case files which we think to be valid under actual spec 7.0 would be invalid after update.
  3. There are very popular violations of this kind in the wild. See FTM and their _MREL and _FREL describing the kind of relation of a child to its father and mother, used in FAM records as subtags of tag CHIL. Standard requires to use PEDI in INDI record, and not any tag in FAM record. At import FTM converts adopted children as presented by PEDI in INDI records to biological children creating wrong _FREL and _MREL payloads. So this aliasing tags are cause of severe data transfer problems. Seeing this it would be very desirable to forbid these tags. However I think this is too late for 7.x.
  4. I see another problem what "aliasing" really means - is it allowed to use an extension if you have a very small deviation in the definition? Saying the extension tag is very similar but not identical to a standard tag? If we want to find a definition what is forbidden and what is allowed I think we have to do some work - it isn't easy at all!
    Summary: I think we are not ready to ban aliasing tags.

tychonievich and others added 2 commits August 3, 2023 14:42
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Copy link
Collaborator

@dthaler dthaler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per meeting discussion, please also add to maximal70.ged

tychonievich and others added 3 commits August 3, 2023 14:52
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
@tychonievich tychonievich marked this pull request as ready for review August 3, 2023 19:53
@tychonievich
Copy link
Collaborator Author

To do:

  • add to maximal.ged (changing identifiers to avoid collisions)
  • link from tools page

Copy link
Collaborator Author

@tychonievich tychonievich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove the illegal relocated record

testfiles/gedcom70/extensions.ged Outdated Show resolved Hide resolved
testfiles/gedcom70/extensions.ged Outdated Show resolved Hide resolved
testfiles/gedcom70/extensions.ged Outdated Show resolved Hide resolved
dthaler and others added 3 commits April 11, 2024 13:12
Co-authored-by: Luther Tychonievich <tychonievich@gmail.com>
Co-authored-by: Luther Tychonievich <tychonievich@gmail.com>
Co-authored-by: Luther Tychonievich <tychonievich@gmail.com>
@dthaler
Copy link
Collaborator

dthaler commented Apr 11, 2024

Agreed in GEDCOM Steering Committee meeting April 11, 2024.
Separate issues will be filed for the todos:

  1. add to maximal.ged (changing identifiers to avoid collisions)
  2. link from tools page

@dthaler dthaler merged commit 0fc7182 into main Apr 11, 2024
@dthaler dthaler deleted the example-extensions branch April 11, 2024 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants