Addon version 0.1.0, status BETA, source release series Gramps 6.1.
This is a separate beta package alongside the stable Gramps 6.0 exporter. It has its own folder, registration ID, module names and menu label. It does not replace or modify the 6.0 package.
6.1 and rejects the 6.0 and 5.x release series.Close Gramps and extract the complete GrampsV61ToV5ExportBeta folder into the Gramps 6.1 user plugin directory. Include the locale and po folders.
Default Windows location:
%APPDATA%\gramps\gramps61\plugins\GrampsV61ToV5ExportBeta
With GRAMPSHOME:
<GRAMPSHOME>\gramps\gramps61\plugins\GrampsV61ToV5ExportBeta
Keep the existing stable GrampsV6ToV5Export folder in the Gramps 6.0 plugin directory. The two packages have different IDs and names; their version gates select the appropriate source series. Neither depends on the other.
Restart Gramps 6.1 and open the test family tree.
.json filename and complete the assistant..report.md report and import into a new, separate test family tree in the selected target version.The exporter writes the entire open tree to temporary Gramps61_export.jsonl, converts it, and removes the temporary file. The permanent output is one JSON object per line, with a .json extension for the receiving JSON Import addon, plus one English report. The interface is Danish or English according to Gramps' language setting. Family-tree text retains its original language.
All ten primary record categories are exported: Note, Event, Person, Family, Repository, Place, Source, Citation, Media and Tag. Private records are included; there are no person filters. Media references are exported, but the media files themselves are not copied. The open database is read, not modified.
Person.familysearch_sync is removed from each top-level Person record because the receiving Gramps 5.x classes cannot represent FamilySearchSync. FamilySearch synchronization state is deliberately omitted. This is not a lossless copy. The report counts how many fields were removed.
Every top-level gramps_id is compared before and after conversion, including long IDs and leading zeroes. A mismatch stops conversion before output is written. Handles and references are preserved by the existing conversion rules and checked in local regression fixtures. Ordinary user text is not translated or renumbered.
The compatibility conversion actively handles these eleven Gramps type classes:
| Type class | Gramps 5.1 | Gramps 5.2 |
|---|---|---|
EventRoleType |
Standard values -1, 1–9 stay numeric; 10–18 become custom text. |
Standard values -1, 1–10 stay numeric; 11–18 become custom text. |
EventType |
Standard values -1, 1–44 stay numeric; 45 (Stillbirth) becomes custom text. |
Standard values -1, 1–45 stay numeric. |
NameType |
Standard values -1, 1–3 stay numeric. |
Same. |
NameOriginType |
Standard values -1, 1–12 stay numeric, including value 1 with an empty standard name. |
Same. |
PlaceType |
Standard values -1, 1–20 stay numeric. |
Same. |
FamilyRelType |
Standard values 0–3 stay numeric; CUSTOM is 4. |
Same. |
ChildRefType |
Standard values 0–6 stay numeric; CUSTOM is 7. |
Same. |
NoteType |
Standard values -1, 1–26 stay numeric; 27 (Analysis) becomes custom text. |
Standard values -1, 1–27 stay numeric. |
UrlType |
Standard values -1, 1–4 stay numeric. |
Same. |
RepositoryType |
Standard values -1, 1–9 stay numeric. |
Same. |
SourceMediaType |
Standard values -1, 1–13 stay numeric. |
Same. |
For these classes:
value; the string field is removed so the receiving Gramps version can localize the type itself.0 except for FamilyRelType (4) and ChildRefType (7).| Type class | Handling and test coverage |
|---|---|
AttributeType |
Passed through unchanged. In earlier Gramps 6.0 testing, the custom attribute Sammenflettet Gramps-ID imported successfully into both target versions. Other attribute types have no additional compatibility conversion. |
SrcAttributeType |
Passed through unchanged; not covered by the original test-data audit. |
StyledTextTagType |
Passed through unchanged. This is a styled-text formatting type and is not normalized as one of the eleven genealogical type classes. It was not covered by the original audit. |
MarkerType |
Passed through unchanged. This legacy type was not covered by the original audit. |
Passing a class through unchanged does not establish compatibility for every possible value or data form. Other fields and classes are also passed through unchanged, except for Person.familysearch_sync removal and the Gramps 5.1 date adjustments below.
| V6 date modifier | Gramps 5.1 output | Gramps 5.2 output |
|---|---|---|
7 — From |
2 — After |
7 — From, unchanged |
8 — To |
1 — Before |
8 — To, unchanged |
The Gramps 5.1 adjustment is an approximation, because that release series does not support From/To. The 5.1 report records the affected dates and their original values. Other date modifiers are not changed by this conversion.
The type-conversion functions, supported-value tables, FamilySearch field removal and Gramps-ID verification are preserved from the two supplied scripts:
Gramps61_JSON_to_51_beta.pyGramps61_JSON_to_52_beta.pyThe package adds the export assistant, Danish translation, English reports, documentation and independent registration. The eleven type classes and date rules match the previously tested Gramps 6.0 compatibility core. That earlier testing does not establish native Gramps 6.1 compatibility.
See TEST_STATUS.md for the checks performed and the remaining native acceptance test. Rare or custom data forms may still reveal problems.
The converter preserves the tested Gramps data structures and performs compatibility adjustments required by Gramps 5.1/5.2. Because Gramps databases may contain custom and rarely used data types, an exact 1:1 conversion of every possible database cannot be guaranteed.
Existing output and report files are refused, even if the export assistant offers to overwrite them. Choose a new filename. A write failure can leave a partial output file. Reports may contain original place names, custom types and date text from the input; English report wording does not translate that data.
| File | Purpose |
|---|---|
GrampsV61ToV5ExportBeta.gpr.py |
Beta 0.1.0 registration, unique ID, Gramps 6.1 gate. |
GrampsV61ToV5ExportBeta.py |
Export-assistant interface and automatic JSONL export. |
converter_bridge.py |
Selects the 5.1 or 5.2 converter from this package. |
V61_to_V51_0_1_0.py |
Gramps 5.1 conversion and English report. |
V61_to_V52_0_1_0.py |
Gramps 5.2 conversion and English report. |
locale/da/LC_MESSAGES/addon.mo |
Compiled Danish interface translation. |
po/da.po |
Danish translation source. |
README.md |
Installation, behavior, coverage and limits. |
RELEASE_NOTES.md |
Beta release notes. |
TEST_STATUS.md |
Local evidence and native acceptance checklist. |
Standalone conversion:
python V61_to_V51_0_1_0.py INPUT.jsonl OUTPUT.json
python V61_to_V52_0_1_0.py INPUT.jsonl OUTPUT.json
GNU General Public License v2 or later, like Gramps.
https://myown-project.dk/