Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/FamilySearch/Gedcom


https://github.com/FamilySearch/Gedcom

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# FamilySearch GEDCOM

The official FamilySearch GEDCOM specification for exchanging genealogical data.

This repository is for the collaborative development of the FamilySearch GEDCOM specification.
If you are looking for the specification itself, see .

If you are looking for FamilySearch's GEDCOM 5.5.1 Java parser, which previously had this same repository name, see

## Repository structure

- [`changelog.md`](changelog.md) is a running log of major changes made to the specification.
- [`exid-types.json`](exid-types.json) is a JSON file containing registered EXID-TYPE values.
- [`specification/`](specification/) contains the FamilySearch GEDCOM specification:
- `specification/gedcom-`number`-`title`.md` files are the source documents used to define the FamilySearch GEDCOM specification. It is written in pandoc-flavor markdown and is intended to be more easily written than read. It is split into several files (ordered by the integer in their names) to facilitate comparing files.
- In a local check-out, this is also where the build scripts place rendered files `gedcom.html` and `gedcom.pdf`; see [releases](releases/latest) for a pre-rendered copy of these.
- [`specification/terms/`](specification/terms/)
- YAML files to be served in the namespace, augmenting those automatically extracted from the specification itself by [`build/uri-def.py`](build/uri-def.py).
- [`build/`](build/) contains files needed to render the specification
- See [`build/README.md`](build/) for more
- [`extracted-files/`](extracted-files/) contains digested information automatically extracted from the specification. All files in this directory are automatically generated by scripts in the [`build/`](build/) directory.
- [`extracted-files/grammar.abnf`](extracted-files/grammar.abnf) contains all the character-level ABNF for parsing lines and datatypes.
- [`extracted-files/grammar.gedstruct`](extracted-files/grammar.gedstruct) contains a custom structure organization metasyntax.
- various `.tsv` files to assist automated validation of files, including:
- [`extracted-files/cardinalities.tsv`](extracted-files/cardinalities.tsv) with columns "superstructure type ID, substructure type ID, cardinality marker"
- [`extracted-files/enumerations.tsv`](extracted-files/enumerations.tsv) with columns "superstructure type ID, enumeration string, enumeration ID"
- [`extracted-files/payloads.tsv`](extracted-files/payloads.tsv) with columns "structure type ID, payload type"
- [`extracted-files/substructures.tsv`](extracted-files/substructures.tsv) with columns "structure type ID, substructure tag, substructure type ID"
- [`extracted-files/tags/`](extracted-files/tags/) contains summary information for each -based URI defined in the specification.
- [`version-detection/`](version-detection/) contains the FamilySearch GEDCOM version detection specification:
- `version-detection/version-detection.md` describes how to detect the GEDCOM version of a file.

## Branches

- `main` contains the current release.
Patch versions are generally pushed directly to `main` upon approval.

- `v7.1` contains a working draft of the next minor release. Changes from `main` have been discussed and approved by the working group supervising the next minor release, meaning they are (a) minor, not major, changes, as described in [A Guide to Version Numbers](https://gedcom.io/specifications/FamilySearchGEDCOMv7.html#a-guide-to-version-numbers) and (b) have been judged as meeting all three of the following criteria for inclusion:

- **Valuable**: they are present in historical records and are either defining aspects of a person's life or otherwise important for informing research or creating life summaries
- **Absent**: they are meaningfully distinct from, and not merely a more detailed subtype of, existing structure types
- **Used**: multiple family history applications with active user bases either use it now or have expressed a desire to add it as soon as it is available in the standard

Until v7.1 is released, this branch may be changed at any time without notice.

- `sandbox` contains candidate text for various possible changes that might or might not be included in future releases, often because they have not yet been demonstrated to meet the "used" criteria.

- All other branches are for conversation drafts, potentially to be incorporated into one of the above branches or to be deleted.