Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions enumeration-set/extension/enumset-Presence.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
%YAML 1.2
---
lang: en-US

type: enumeration set

uri: https://github.com/glamberson/gedcom-occurrences/enumset-Presence

enumeration values:
- "https://github.com/glamberson/gedcom-occurrences/enum-Present"
- "https://github.com/glamberson/gedcom-occurrences/enum-Absent"
- "https://github.com/glamberson/gedcom-occurrences/enum-Unknown"

contact: "https://github.com/glamberson/gedcom-occurrences"
...

@dthaler dthaler Jul 29, 2025

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Discussion during GEDCOM Steering Committee meeting,
We recommend also using the documentation: field defined at https://gedcom.io/terms/format

Suggested change
...
documentation:
- https://github.com/glamberson/gedcom-occurrences
...

19 changes: 19 additions & 0 deletions enumeration/extension/enum-Absent.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
%YAML 1.2
---
lang: en-US

type: enumeration

uri: https://github.com/glamberson/gedcom-occurrences/enum-Absent

extension tags: _ABSENT

@dthaler dthaler Jul 29, 2025

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We think this might be invalid syntax since it's supposed to be an array. so something like

Suggested change
extension tags: _ABSENT
extension tags:
- _ABSENT


specification:
- Absent
- Person was listed or referenced but not physically present

value of:
- https://github.com/glamberson/gedcom-occurrences/enumset-Presence

contact: https://github.com/glamberson/gedcom-occurrences
...
19 changes: 19 additions & 0 deletions enumeration/extension/enum-Present.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
%YAML 1.2
---
lang: en-US

type: enumeration

uri: https://github.com/glamberson/gedcom-occurrences/enum-Present

extension tags: _PRESENT

specification:
- Present
- Person was physically present at the occurrence

value of:
- https://github.com/glamberson/gedcom-occurrences/enumset-Presence

contact: https://github.com/glamberson/gedcom-occurrences
...
19 changes: 19 additions & 0 deletions enumeration/extension/enum-Unknown.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
%YAML 1.2
---
lang: en-US

type: enumeration

uri: https://github.com/glamberson/gedcom-occurrences/enum-Unknown

extension tags: _UNKNOWN

specification:
- Unknown
- Presence status cannot be determined from the source

value of:
- https://github.com/glamberson/gedcom-occurrences/enumset-Presence

contact: https://github.com/glamberson/gedcom-occurrences
...
1 change: 1 addition & 0 deletions gedcom-occurrences/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.2.2

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Remove this file from the pull request, doesn't need to be registered.

36 changes: 36 additions & 0 deletions structure/extension/_ATTR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_ATTR

extension tags:
- _ATTR

specification:
- Custom Attribute
- |
A custom attribute for an occurrence or participant. This allows
applications to add specific attributes that aren't covered by
standard GEDCOM structures, ensuring data preservation during
import/export cycles.

The attribute name is in the payload, and the value is in the
required _VALUE substructure.

label: Custom Attribute

payload: http://www.w3.org/2001/XMLSchema#string

substructures:
"https://gedcom.io/terms/v7/NOTE": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_VALUE": "{1:1}"
Comment on lines +7 to +29

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I don't see this structure documented in https://github.com/glamberson/gedcom-occurrences/blob/master/occurrence-extension.md and am having trouble understanding its purpose. I thought it might be a generic string↦string map, but the presence of the NOTE substructure threw me.

@tychonievich tychonievich Jul 29, 2025

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is it an effort to make a "generic extension" extension? Instead of registering a new _WIDGET <Text> extension you can just use _ATTR Widget and _VALUE <Text>?


superstructures:
"https://github.com/glamberson/gedcom-occurrences/_OCUR": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_OCREF": "{0:M}"

contact: https://github.com/glamberson/gedcom-occurrences
...
41 changes: 41 additions & 0 deletions structure/extension/_OCREF.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_OCREF

extension tags:
- _OCREF

specification:
- Occurrence Reference
- |
A reference from an individual or family to an occurrence record (_OCUR).
This structure contains all participant-specific data such as role, age,
and participation details.

In the container-only model (v0.2.0+), all participant data is stored
exclusively in _OCREF structures to avoid data duplication and synchronization
issues.

label: Occurrence Reference

payload: "@<https://github.com/glamberson/gedcom-occurrences/_OCUR>@"

substructures:
"https://gedcom.io/terms/v7/AGE": "{0:1}"
"https://gedcom.io/terms/v7/NOTE": "{0:M}"
"https://gedcom.io/terms/v7/ROLE": "{1:1}"
"https://gedcom.io/terms/v7/SNOTE": "{0:M}"
"https://gedcom.io/terms/v7/SOUR": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_ATTR": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_PRESENCE": "{0:1}"

superstructures:
"https://gedcom.io/terms/v7/record-FAM": "{0:M}"
"https://gedcom.io/terms/v7/record-INDI": "{0:M}"

contact: https://github.com/glamberson/gedcom-occurrences
...
51 changes: 51 additions & 0 deletions structure/extension/_OCUR.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_OCUR

extension tags:
- _OCUR

specification:
- Occurrence Record
- |
An _OCUR record represents an occurrence as an independent, first-class object
that can involve multiple participants with different roles. This allows
the same occurrence (such as a census, burial, or ceremony) to be referenced
by multiple people without duplication of occurrence data.

Unlike embedded events (EVEN) in INDI or FAM records, _OCUR records exist at
the top level and are referenced using _OCREF from participants.

This extension addresses the synchronization problems that occur when multiple
people participate in the same event, providing a clean separation between
event data (date, place, type) and participation data (role, age).

label: Occurrence

payload: null

substructures:
"https://gedcom.io/terms/v7/ADDR": "{0:1}"
"https://gedcom.io/terms/v7/AGNC": "{0:1}"
"https://gedcom.io/terms/v7/CAUS": "{0:1}"
"https://gedcom.io/terms/v7/CHAN": "{0:1}"
"https://gedcom.io/terms/v7/DATE": "{0:1}"
"https://gedcom.io/terms/v7/EXID": "{0:M}"
"https://gedcom.io/terms/v7/NOTE": "{0:M}"
"https://gedcom.io/terms/v7/OBJE": "{0:M}"
"https://gedcom.io/terms/v7/PLAC": "{0:1}"
"https://gedcom.io/terms/v7/RELI": "{0:1}"
"https://gedcom.io/terms/v7/SNOTE": "{0:M}"
"https://gedcom.io/terms/v7/SOUR": "{0:M}"
"https://gedcom.io/terms/v7/TYPE": "{1:1}"
"https://gedcom.io/terms/v7/UID": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_PART": "{0:M}"

superstructures: {}

contact: https://github.com/glamberson/gedcom-occurrences
...
35 changes: 35 additions & 0 deletions structure/extension/_PART.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_PART

extension tags:
- _PART

specification:
- Occurrence Participant
- |
A reference to an individual or family who participated in an occurrence.
This structure is used within _OCUR records to list all participants.
The actual participation details (role, age, etc.) are stored in the
participant's _OCREF structure, not here.

This design maintains a clean separation between occurrence data and
participant-specific data.

label: Participant Reference

payload: "@<https://gedcom.io/terms/v7/record-INDI>@ | @<https://gedcom.io/terms/v7/record-FAM>@"

substructures:
"https://gedcom.io/terms/v7/NOTE": "{0:M}"
"https://github.com/glamberson/gedcom-occurrences/_PRESENCE": "{0:1}"

superstructures:
"https://github.com/glamberson/gedcom-occurrences/_OCUR": "{0:M}"

contact: https://github.com/glamberson/gedcom-occurrences
...
34 changes: 34 additions & 0 deletions structure/extension/_PRESENCE.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_PRESENCE

extension tags:
- _PRESENCE

specification:
- Presence Status
- |
Indicates the presence status of a participant in an occurrence.
Used to explicitly note when someone was absent from an event they
were expected to attend, or when their presence is uncertain.

This is particularly useful for census records, family gatherings,
or other events where absence is notable.

label: Presence Status

payload: https://github.com/glamberson/gedcom-occurrences/enumset-Presence

substructures:
"https://gedcom.io/terms/v7/NOTE": "{0:M}"

superstructures:
"https://github.com/glamberson/gedcom-occurrences/_OCREF": "{0:1}"
"https://github.com/glamberson/gedcom-occurrences/_PART": "{0:1}"

contact: https://github.com/glamberson/gedcom-occurrences
...
29 changes: 29 additions & 0 deletions structure/extension/_VALUE.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
%YAML 1.2
---
lang: en-US

type: structure

uri: https://github.com/glamberson/gedcom-occurrences/_VALUE

extension tags:
- _VALUE

specification:
- Attribute Value
- |
The value for a custom attribute defined by _ATTR. This structure
contains the actual value of the attribute, while the attribute
name is stored in the _ATTR payload.

label: Value

payload: http://www.w3.org/2001/XMLSchema#string

substructures: {}

superstructures:
"https://github.com/glamberson/gedcom-occurrences/_ATTR": "{1:1}"

contact: https://github.com/glamberson/gedcom-occurrences
...
Loading