Web based family history software

Question GEDCOM 7 extension tags: Documentation of webtrees tags on the webtrees website

  • Jefferson49
  • Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
9 months 1 week ago #1 by Jefferson49
Since my custom module DownloadGedcomWithURL also includes a beta version for a webtrees GEDCOM 7 export, I also recognized the new GEDCOM 7 export for extensions using the SCHMA/TAG structure. 

Regarding the webtrees custom tags _WT_USER, I inlcuded the following preliminary GEDCOM 7 export structure:
Code:
1 SCHMA 2 TAG _WT_USER https://www.webtrees.net/

At the moment,  www.webtrees.net/ is just a placeholder for some future URI, which might describe the cutom tag.

The GEDCOM 7 specification for extensions recommends the following:
"It is recommended that the URIs used for documented extension tags be URLs that can be used to access documentation for the meaning of the tag."

I am now wondering if webtrees shall provide such a documentation for the meaning of the tag. For example, webtrees could provide a description at  www.webtrees.net/custom_tags and link it to the Documentation menu on the website.

 

On the other hand, the GEDCOM 7 specification also allows to use "undocumented extension tags". Therefore, it would also be correct GEDCOM 7 if webtrees custom tags are simply used and NOT documented in the SCHMA structure.

What does the webtrees community think about this? Any opinions?

Please Log in or Create an account to join the conversation.

  • Jefferson49
  • Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
9 months 1 week ago #2 by Jefferson49
Just found another sentence in the GEDCOM 7 specification, with a further recommendation:
"It is recommended that documented extension tags be used instead of undocumented extension tags wherever possible.".

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #3 by Sir Peter
As far as I know the webtrees custom tag _WT_USER is a subtag of the webtrees custom tag _TODO. So both should be documented, maybe like this:
Code:
1 SCHMA 2 TAG _TODO https://www.webtrees.net/custom_tags#_TODO 2 TAG _WT_USER https://www.webtrees.net/custom_tags#_WT_USER

Nevertheless misinterpretation can happen when importing a GEDCOM file from another application that includes _TODO tags with a slightly different usage, but without proper documentation. For examples see wiki.genealogy.net/GEDCOM/_Nutzerdef-Tag . Or in situations where the other application does provide proper documentation, but more _TODO's have been added later in webtrees so that you might have 2 different kinds of _TODO's. How does webtrees handle this today with GEDCOM 5.5.1 and how will it handle this with GEDCOM 7? Does this require a conversion on import or on export? Would something like this still be GEDCOM 7 compliant?
Code:
1 SCHMA 2 TAG _TODO https://www.webtrees.net/custom_tags#_TODO 2 TAG _WT_USER https://www.webtrees.net/custom_tags#_WT_USER 2 TAG _TODO https://www.other_application.net/other_custom_tags#_TODO

A solution could be converting the webtrees _TODO tag to _WT_TODO so that this would work:
Code:
1 SCHMA 2 TAG _WT_TODO https://www.webtrees.net/custom_tags#_WT_TODO 2 TAG _WT_USER https://www.webtrees.net/custom_tags#_WT_USER 2 TAG _TODO https://www.other_application.net/other_custom_tags#_TODO

Sorry for opening a can of worms...

Peter

Please Log in or Create an account to join the conversation.

  • Jefferson49
  • Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
9 months 1 week ago - 9 months 1 week ago #4 by Jefferson49
> As far as I know the webtrees custom tag _WT_USER is a subtag of the webtrees custom tag _TODO

webtrees does have _WT_USER under the CHAN tag. In Gedcom.php , I found the following entries:
    line 951:             'FAM:CHAN'         => '_WT_USER', '0:1',
    line  973:             'INDI:CHAN'        => '_WT_USER', '0:1',
    line  998:             'NOTE:CHAN'        => '_WT_USER', '0:1',
    line 1001:             'OBJE:CHAN'        => '_WT_USER', '0:1',
    line 1004:             'REPO:CHAN'        => '_WT_USER', '0:1',
    line 1006:             'SOUR:CHAN'        => '_WT_USER', '0:1',
    line 1008:             'SUBM:CHAN'        => '_WT_USER', '0:1',

The  ResearchTaskModule  introdues _WT_USER as sub tag to _TODO:
    line  67:             'FAM:_TODO:_WT_USER'  => new webtreesUser(I18N::translate('User')),
    line  71:             'INDI:_TODO:_WT_USER' => new webtreesUser(I18N::translate('User')),
Last edit: 9 months 1 week ago by Jefferson49. Reason: Substituted "several tags" by "CHAN tag"

Please Log in or Create an account to join the conversation.

  • Jefferson49
  • Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
9 months 1 week ago - 9 months 1 week ago #5 by Jefferson49

Nevertheless misinterpretation can happen when importing a GEDCOM file from another application that includes _TODO tags with a slightly different usage, but without proper documentation. For examples see wiki.genealogy.net/GEDCOM/_Nutzerdef-Tag . Or in situations where the other application does provide proper documentation, but more _TODO's have been added later in webtrees so that you might have 2 different kinds of _TODO's. How does webtrees handle this today with GEDCOM 5.5.1 and how will it handle this with GEDCOM 7? Does this require a conversion on import or on export? Would something like this still be GEDCOM 7 compliant?

I agree that this will probably be very challenging. On the first view, the new SCHMA structure in GEDCOM 7 seems to be very promising. On the second view, I see the same challenges like you.

Maybe, on importing/merging, webtrees could identify the potential schemas and provide a list to the user to choose from.

Another option might be to find a mechanism to link the schemas to the webtrees modules, which define custom tags (i.e. implementing the CustomTagInterface). There are already a lot of custom tag collections available in  /app/CustomTags . Maybe, each module, which implements the CustomTagInterface, would need to implement a getSchemaURI function.

A strict approach might be to export only schemas for webtrees custom tags; or for clearly definied tags like GEDCOM-L. In fact, only limited information is available about foreign custom tags and it would be kind of guessing to add schemas to them. Maybe, this would fit best to the current webtrees strategy to move away from custom tags.
Last edit: 9 months 1 week ago by Jefferson49. Reason: Minor correction

Please Log in or Create an account to join the conversation.

More
9 months 1 week ago #6 by Sir Peter
This is a general challenge for all genealogy applications that create custom tags and/or import GEDCOM files with custom tags created by other applications. It is not related to GEDCOM 7. While many other applications throw an error and/or ignore foreign custom tags webtrees does a pretty good job in devouring all kinds of custom tags.
I bet webtrees imports a foreign _TODO custom tag even if its subtags don't align with webtrees's _TODO definition. These issues will later show up under Control Panel > YOUR_TREE > Check for Errors. Additionally webtrees will show these errors on the respective object's page if under Control Panel > YOUR_TREE > Preferences > General the selection for GEDCOM Errors has been set to show.
There's no copyright on custom tags and every application can create custom tags with the same name. The risk of duplicate custom tags could be reduced by using a prefix, e. g. _WT_TODO instead of _TODO. I guess that would be a minor change and require a simple data fix or using regex for a one-time conversion.

Peter

Please Log in or Create an account to join the conversation.

Powered by Kunena Forum