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

AGE payload issues #420

Closed
dthaler opened this issue Jan 18, 2024 · 1 comment
Closed

AGE payload issues #420

dthaler opened this issue Jan 18, 2024 · 1 comment

Comments

@dthaler
Copy link
Collaborator

dthaler commented Jan 18, 2024

Are the following AGE payloads legal?

AGE 8w 30d
AGE 1y 400d
AGE 1y 30m
AGE 1m 40d

Section 2.4 says about dates:

The allowable days, months, years, and epochs are determined by the calendar. All known calendars restrict day to be between 1 and a month-specific maximum. The largest known maximum is 36, and most months in most calendars have a lower maximum.

But nothing says that AGE payloads have any similar restrictions, implying that all four examples are permitted, and are not even discouraged.

A closely related problem is that say someone has events in two different calendars, say both FRENCH_R and GREGORIAN, then their age in terms of months and extra days can be different in each calendar. The AGE tag has no calendar permitted in the payload. One might infer it from the DATE of the event, if there is one, but AGE is permitted in cases with no DATE. I would expect most applications to store it in GEDCOM exactly as it was given in the original record, but that is not interoperable if other programs use it to calculate the date but interpret it in the wrong calendar.

Some possible actions:

  1. We could possibly add a Note saying the uses up top are not recommended (I think we can't disallow them without a breaking change) and applications should use the simplest form. Rationale to NOT add such a note might be to allow recording ages as they literally appear in a record. But a Note that applications must be prepared to see them might be helpful.
  2. Recommend that when AGE is used, there should be a DATE with it, where a CAL payload can be used to disambiguate which calendar. Otherwise, some programs might calculate incorrect dates based on using a calendar other than the correct one for the event.
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Jan 18, 2024
Filed
FamilySearch/GEDCOM#420
while working on this.

Signed-off-by: Dave Thaler <[email protected]>
@dthaler
Copy link
Collaborator Author

dthaler commented Jan 18, 2024

Discussion in GEDCOM Steering Committee1/18/2024:

  • We have no way to store the calendar of an age
  • A DATE and AGE might both be in an original record and so don't necessarily match
  • Could be discussed in a FAQ
  • Having a Note in the spec is ok if wording is right, to promote more interoperability
  • Lines at top are ok to be in test files
  • May be ok to have a note in the spec saying it's ok to record as is

dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Feb 1, 2024
dthaler added a commit to FamilySearch/GEDCOM.io that referenced this issue Feb 1, 2024
* Add discussion of age and calendars into the Technical FAQ

Addresses part of FamilySearch/GEDCOM#420

Signed-off-by: Dave Thaler <[email protected]>

* Update _pages/techfaqs.md

* Update _pages/techfaqs.md

---------

Signed-off-by: Dave Thaler <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>
dthaler added a commit to FamilySearch/GEDCOM.io that referenced this issue Feb 1, 2024
Addresses part of FamilySearch/GEDCOM#420

Signed-off-by: Dave Thaler <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>
@dthaler dthaler closed this as completed Feb 8, 2024
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Mar 7, 2024
Filed
FamilySearch/GEDCOM#420
while working on this.

Signed-off-by: Dave Thaler <[email protected]>
dthaler added a commit to FamilySearch/GEDCOM.io that referenced this issue Mar 7, 2024
* Add more 7.0 sample files

Copy 8 files from https://github.com/gedcom7code/test-files/tree/main/7
that exercise parts of GEDCOM 7.0 that aren't in other sample files.

Combined atsign.ged into the esiting escapes.ged.

Some files not copied include:
* char*.ged only make sense once there are corresponding 5.5.1 samples in the repository, since all 7.0 files
  are UTF-8 with a BOM.
* date-dual.ged likewise only makes sense as a 7.0 derivative of a 5.5.1 sample.
* enum-ext.ged likewise looked like it only made sense along with a 5.5.1 sample.
* obsolete.ged and tiny.ged are the same as the existing minimal70.ged.

Addresses part of issue #132

Signed-off-by: Dave Thaler <[email protected]>

* Update age-all.ged per PR feedback

Filed
FamilySearch/GEDCOM#420
while working on this.

Signed-off-by: Dave Thaler <[email protected]>

* Update testfiles/gedcom70/escapes.ged

Co-authored-by: Luther Tychonievich <[email protected]>

* Update testfiles/gedcom70/lang-all.ged

Co-authored-by: Luther Tychonievich <[email protected]>

* Update testfiles/gedcom70/lang-all.ged

Co-authored-by: Luther Tychonievich <[email protected]>

* PR feedback

Signed-off-by: Dave Thaler <[email protected]>

* Remove lines without @

Signed-off-by: Dave Thaler <[email protected]>

* PR feedback

Signed-off-by: Dave Thaler <[email protected]>

* Update age.ged

Signed-off-by: Dave Thaler <[email protected]>

* Update escapes.ged

Signed-off-by: Dave Thaler <[email protected]>

* Remove files that still have open issues on them

Signed-off-by: Dave Thaler <[email protected]>

* Rename lang-all.ged to lang.ged

Signed-off-by: Dave Thaler <[email protected]>

---------

Signed-off-by: Dave Thaler <[email protected]>
Co-authored-by: Dave Thaler <[email protected]>
Co-authored-by: Luther Tychonievich <[email protected]>
dthaler pushed a commit to dthaler/GEDCOM.io that referenced this issue Mar 21, 2024
Filed
FamilySearch/GEDCOM#420
while working on this.

Signed-off-by: Dave Thaler <[email protected]>
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

No branches or pull requests

1 participant