Add Tag Extension structures#174
Conversation
This adds structures for the GEDCOM Tag Extension, which enables preservation of organizational tags commonly used in genealogy software. Extension repository: https://github.com/glamberson/gedcom-tags Structures added: - _TAG: Tag record type for defining reusable organizational markers - _TAG (ref): Substructure for applying tags to records - _COLOR: Optional color specification (6-digit hex) - _ATTR: Generic vendor attribute mechanism - _VALUE: Value for generic attributes
|
FamilySearch/GEDCOM.io#283 recently added prerelease to the YAML schema. |
- Move structure files to structure/extension/ subdirectory - Add extension-tags.yaml manifest file - Add 'extension tags:' field to all structure files - Update URIs to point to GitHub extension repository - Update contact email to lamberson@yahoo.com
|
Thank you for pointing out the prerelease field! We do not need
We're committed to maintaining backward compatibility going forward. Any future enhancements will follow semantic versioning principles. Also, I've just pushed fixes for the YAML validation errors - moving files to the proper structure/extension/ subdirectory and adding the extension manifest file. |
|
Fixed YAML validation errors - added missing newlines at the end of all YAML files. Also tagged v0.2.2. |
tychonievich
left a comment
There was a problem hiding this comment.
YAML validation fix: each YAML file must end with a newline character.
- Remove extension-tags.yaml (registries don't register extensions as a whole) - Remove 'standard tag' field from all YAML files (only use 'extension tags') - Fix duplicate URI: _TAG_ref now uses its own URI - Fix pointer payload format to use '@<URI>@' syntax Addresses feedback from Dave Thaler and Luther Tychonievich
|
Thank you @dthaler and @tychonievich for the thorough review! I've pushed fixes addressing all the issues: Fixed:
All YAML files already ended with newlines thanks to Luther's earlier fix. The extension should now be fully compliant with GEDCOM 7 specifications. Please let me know if there are any other issues to address! |
Assuming you follow semver.org for version numbering, shouldn't this be version 1.x then instead of version 0.x? https://semver.org/#spec-item-4 says:
|
- Remove 'standard tag' fields from all YAML files - Convert extension tags to array syntax - Add blank line before closing '...' - Fix _TAG_ref.yaml URI to be unique (_TAG_ref instead of _TAG) - Fix _TAG_ref.yaml payload format to proper pointer syntax - Remove extension-tags.yaml file (not needed per review)
|
@dthaler @tychonievich I've addressed all review feedback in commit f94bc01:
Ready for re-review. |
Hi Dave, I'm just going through everything to see if I need to do anything. Regarding this issue, I admit I don't follow these rules (and frankly not that many people do). Versions, however, for me at least, have everything to do with what I do internally in dealing with something. They don't necessarily reflect a one-to-one progression from one published/released version to another. Frankly all of these feel like alpha versions to me because I am not familiar with the requirements to get it right. What I have learned before in such situations is that if I try to adhere to a uniform versioning system that people outside are familiara with, I'll mess it up. So I'd rather leave well enough alone for now, conceding you're right but I'm just trying to get by here. |
- Removed fix_pr174_issues.py (helper script not needed in PR) - Reset registry_tools/GEDCOM.io submodule to match upstream main branch
|
OK I reset this to upstream and got rid of that file that should've never been there. This should be ready to go (I hope). |
|
|
||
| This allows software to extend tags with specific functionality | ||
| without requiring changes to the base specification. | ||
|
|
There was a problem hiding this comment.
Recommend adding
documentation:
- https://github.com/glamberson/gedcom-tags
To YAML files in this PR.
| "https://gedcom.io/terms/v7/ASSO": "{0:M}" | ||
|
|
||
| contact: "lamberson@yahoo.com" | ||
|
|
There was a problem hiding this comment.
if this is in use by gramps as you said:
Actively tested with GRAMPS implementation
Then add used by as well to these YAML files.
| --- | ||
| lang: en-US | ||
|
|
||
| type: record |
There was a problem hiding this comment.
| type: record | |
| type: structure |
Summary
This PR adds structures for the GEDCOM Tag Extension, which enables preservation of organizational tags commonly used in genealogy software.
Extension Overview
Structures Added
_TAG- Tag record type for defining reusable organizational markers_TAG(ref) - Substructure for applying tags to records_COLOR- Optional color specification (6-digit hex)_ATTR- Generic vendor attribute mechanism_VALUE- Value for generic attributesKey Features
Use Case
Modern genealogy software universally implements tagging/categorization systems, but these are lost during GEDCOM export. This extension preserves:
Documentation
Full specification and examples available at: https://github.com/glamberson/gedcom-tags
Testing
Example GEDCOM files demonstrating usage are included in the repository: