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

Update GedcomExtensions plugin to unblock GEDCOM exports with patronymic names #630

Merged

Conversation

bryndin
Copy link
Contributor

@bryndin bryndin commented Jan 3, 2025

Fix for "0013546: Gramps produces unusable GEDCOM when patronymic names are used"
https://gramps-project.org/bugs/view.php?id=13546

This adds options

  1. Don't change Gramps export
  2. Export Patronymic after given name, instead of adding it to the list of surnames
  3. Ignore Patronymic names on export

Testing

Sample person
image

  1. Don't change Gramps export
0 HEAD
1 SOUR Gramps
2 VERS AIO64-5.2.3-r1-aa03f5a
2 NAME Gramps
1 DATE 2 JAN 2025
2 TIME 22:00:48
1 SUBM @SUBM@
1 FILE C:\Users\x\Downloads\test_noop.ged2
1 COPR Copyright (c) 2025 .
1 GEDC
2 VERS 5.5.1
2 FORM LINEAGE-LINKED
1 CHAR UTF-8
1 LANG English
0 @SUBM@ SUBM
1 NAME
0 @I0000@ INDI
1 NAME Fyodor /Dostoevsky Mikhailovich/
2 TYPE birth
2 GIVN Fyodor
2 SURN Dostoevsky, Mikhailovich
1 SEX M
1 CHAN
2 DATE 2 JAN 2025
3 TIME 21:57:36
0 TRLR
  1. Export Patronymic after given name, instead of adding it to the list of surnames
0 HEAD
1 SOUR Gramps
2 VERS AIO64-5.2.3-r1-aa03f5a
2 NAME Gramps
1 DATE 2 JAN 2025
2 TIME 22:01:10
1 SUBM @SUBM@
1 FILE C:\Users\x\Downloads\test_add_to_given_name.ged2
1 COPR Copyright (c) 2025 .
1 GEDC
2 VERS 5.5.1
2 FORM LINEAGE-LINKED
1 CHAR UTF-8
1 LANG English
0 @SUBM@ SUBM
1 NAME
0 @I0000@ INDI
1 NAME Fyodor Mikhailovich /Dostoevsky/
2 TYPE birth
2 GIVN Fyodor Mikhailovich
2 SURN Dostoevsky
1 SEX M
1 CHAN
2 DATE 2 JAN 2025
3 TIME 21:57:36
0 TRLR
  1. Ignore Patronymic names on export
0 HEAD
1 SOUR Gramps
2 VERS AIO64-5.2.3-r1-aa03f5a
2 NAME Gramps
1 DATE 2 JAN 2025
2 TIME 22:01:27
1 SUBM @SUBM@
1 FILE C:\Users\x\Downloads\test_ignore_patronymic.ged2
1 COPR Copyright (c) 2025 .
1 GEDC
2 VERS 5.5.1
2 FORM LINEAGE-LINKED
1 CHAR UTF-8
1 LANG English
0 @SUBM@ SUBM
1 NAME
0 @I0000@ INDI
1 NAME Fyodor /Dostoevsky/
2 TYPE birth
2 GIVN Fyodor
2 SURN Dostoevsky
1 SEX M
1 CHAN
2 DATE 2 JAN 2025
3 TIME 21:57:36
0 TRLR

Background from the bug

Ex-USSR / Eastern European / Russian Empire / etc uses patronymic names (derived from the father's name) between the given and last names.

Example: Фёдор Михайлович Достоевский (Fyodor Mikhailovich Dostoevsky)

In Gramps the patronymic name goes into the surnames list marked as "patronymic". Gramps handles it properly by switching the "name format" in Preferences.

So for the example above:

Given: Фёдор
Surname (inherited, primary): Достоевский
Surname (patronymic): Михайлович

Exporting the DB to GEDCOM to be imported into Geni, FamilySearch, etc, produces a broken file that injects patronymic names as last names during the import. Gramps export doesn't obey the "Name format:" setting in Preferences.

1 NAME Фёдор /Достоевский Михайлович/
2 TYPE birth
2 GIVN Фёдор
2 SURN Достоевский, Михайлович
1 SEX M

GEDCOM specs don't cover patronymic names, but there are options:

1. Gramps allows to configure of how patronymic names are exported.
3. Gramps follows the "Name format:" setting in Preferences.
5. Patronymic names are ignored at export: `GIVN Фёдор`, `SURN Достоевский`
6. Patronymic names are added to the given name: `GIVN Фёдор Михайлович`, `SURN Достоевский`

@bryndin
Copy link
Contributor Author

bryndin commented Jan 3, 2025

Updated UI screenshot
image

@@ -31,7 +31,7 @@
name = _("Export GEDCOM Extensions (GED2)"),
name_accell = _("GEDCOM Extensions (GED2)"),
description = _("Extensions to the common GEDCOM format."),
version = '1.0.34',
version = '1.1.0',

This comment was marked as resolved.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

👍 will remove

@bryndin bryndin force-pushed the maintenance/gramps52 branch from d69d57e to 2c68221 Compare January 6, 2025 08:16
@bryndin
Copy link
Contributor Author

bryndin commented Jan 6, 2025

@giotodibondone I've rebased it and dropped the GedcomExtensions/GedcomExtensions.gpr.py changing commit.

@bryndin
Copy link
Contributor Author

bryndin commented Jan 6, 2025

Unrelated to this change

GEDCOM export has another quirk. It joins all surnames into one space-separated string, making it impossible to distinguish "inherited" (maiden) and "taken" (after marriage) surnames. Importing GEDCOME to, e.g. Geni, stuffs them into one field.
Furthermore, for some people, the "inherited" name is missing (not known) and thus the "taken" surname is incorrectly placed as the "inherited" one, messing up records.

Should I open a new bug for it? I'm going to fix it anyways to unblock my uploads, and I can create another pull request too.

@GaryGriffin GaryGriffin merged commit 8efd293 into gramps-project:maintenance/gramps52 Jan 11, 2025
@daleathan
Copy link
Contributor

daleathan commented Jan 11, 2025

Thanks for this GEDCOM extension 😎

Should I open a new bug for it? I'm going to fix it anyways to unblock my uploads, and I can create another pull request too.

Yes that would be great. ( or is it this bug report 13547 Non-English names exported via GEDCOM aren't properly handled by major Gen services you already have open? )

@daleathan
Copy link
Contributor

daleathan commented Jan 11, 2025

Documentation updated a little, and screenshots redone.

@bryndin
Copy link
Contributor Author

bryndin commented Jan 12, 2025

Thanks for this GEDCOM extension 😎

Should I open a new bug for it? I'm going to fix it anyways to unblock my uploads, and I can create another pull request too.

Yes that would be great. ( or is it this bug report 13547 Non-English names exported via GEDCOM aren't properly handled by major Gen services you already have open? )

No, that's a different one. GEDCOM 5.x doesn't well support multi-language, so there isn't an easy solution. To get myself going, I had to hack a library based on Geni API.

Back to my comment

GEDCOM export has another quirk. It joins all surnames into one space-separated string, making it impossible to distinguish "inherited" (maiden) and "taken" (after marriage) surnames. Importing GEDCOME to, e.g. Geni, stuffs them into one field. Furthermore, for some people, the "inherited" name is missing (not known) and thus the "taken" surname is incorrectly placed as the "inherited" one, messing up records.

After digging deeper, I got somewhat lost. There are 2 (suggested by the docs) ways to record "maiden" names:

  • via origin: "taken" surname added to the Type: "Birth name" (this stacks surnames in one line in 1 GEDCOM record)
  • via adding an alternative name of type "Married name" (this creates a separate record for the "maiden name" in GEDCOM)

why there are two competing ways resulting in different GEDCOM I haven't figured out yet.
And I just hacked another GEDCOM extension to unblock me with Geni import. I'm not creating a pull request for it, because I'm not sure it is THE correct way of doing it in Gramps.

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

Successfully merging this pull request may close these issues.

4 participants