What do/did you find to be the most complicated parts of Gramps?

I have to agree with Doug please just import the existing Example Tree
(it is tiny) on first start of GRAMPS and maintain improve that tree as
and when necessary.
phil

I think we need a consensus on this.

The Example.tree is far from “small” and has a lot of wonky data in it. (For triggering problematic conditions and to demonstrate solutions/workarounds.)

Number of new objects imported:
    People: 2157
    Families: 762
    Sources: 4
    Events: 3432
    Media Objects: 7
    Places: 1294
    Repositories: 3
    Notes: 19
    Tags: 2
    Citations: 2854

Also the pre-installed database included in the install will be vulnerable. Easily deleted or changed. Before a suggestion appears to have 2 copies of the database (one as a SQLite fileset and a .gramps in the Examples), that creates more unproductive synchronization maintenance work. And before the suggestion that it could just be the .gramps file version and imported as part of the 1st run, that import of the Example.gramps is slooow and would add dialogs (a progress dialog and 2 modal dialogs: a fail/success report and Import Statistic) to the 1st run.

I know that this next will initially seem like arguing against myself. But bear with me…
The Example.gramps is only the “most-well-known” of several importable files bundled with Gramps. (There is a CSV, a GEDCOM, and 2 Gramps files) And data.gramps was recently selected for expanding the DNA examples because the other example file is already inappropriate. (Too many disconnected people and not a sufficiently broad/deep network of DNA related people to paint with DNA data samples. You cannot visualize the nodal network of Example.gramps. It would be giving up on the 3 lesser examples by making the main example.gramps (which is cited everywhere) into a brain-dead import.

Also, by slapping a patch over 1 problem for Examples, we are too likely to say to ourselves that Examples have received attention and we can ignore them again for awhile. And that would obscure the larger problems: Examples are buried in the install and not easily updated; relative paths for media for imports are broken (why does that constant name appear sometimes after import); the Gtk File Selector needs default bookmark and shortcut management features for reduce clicks in navigation. And we have tons of ‘changes’ for the example.gramps that seem to have no way to become included in the bundles.

Example.gramps visualization in yEd. From Graphviz Export - Wish for Feature - #14 by GeorgeWilmes :

And what is more important, the Example.gramps is not appropriate for a newbie exploring independently… it requires guided exploration. Default inclusion would create the opposite problem of what we are addressing: instead of a scarcity of tree data, it becomes overwhelming. Because there is so much ‘stuff’ stuffed in it.

A tiny twig can easily be FULLY explored… even by a casual guest. And 4 people is small enough to ‘adapt’ as a starting point for your family.

The sample (uploaded to More inviting entry point… provide 1 sample tree in addition to importables #2386 already had a small (tiny) Place hierarchy (with coordinates and citation/source/repository data) before I ever posted the suggestion.

Also, it is my opinion that this sample should not include anything beyond the basic data needed for a basic ‘wander’ through the Gramps interface. The example files (or their own data from another system) can be imported when the user get past the scope of this basic springboard.

But I agree that installing some fallback Map tiles would be a useful addition. Making the Geography views functional (enough … levels 0, 1 and 2 only?) for an off-network evaluation.

OK Brian I surrender I see your point of creating a small tree as long
it incorporates some form of usage of all the basics as shown in your list.

Would suggest forgetting DNA Segment Maps it is a small niche subject
unless and until Ancestry start producing them it is a dead duck, the
sheer numbers of DNA matches you can link into a tree are far too small
to be of any interest or benefit. GEDMATCH is good but is not linked to
trees and rarely produces a suitable number of results. MyHeritage
database is too small and is little better than GEDMATCH, although their
presentation of DNA results is far better than Ancestry.
phil

Ok, how about a “subset” of the example data?

Definitely worth discussing. This sample was tossed together pretty darned quickly. You’re so quick in developing solutions that I was afraid you would have advanced so far that we would be committed. So a viable option had to be ready before then.

It seems reasonable to include the dummy person that is used for playing with the Name display format. So he would be a nice add. (And already has his ‘twig’ as an old enhancement request #12203.)

There are real ‘sources’ for the Places instead of Events or People because the Privacy becomes a non-issue.

The parents have the Given names, birth/death months/years and places of Don Allingham’s grandparents… but not the surnames. Since Robert Allingham is already the face of Gramps.

The ‘children’ are Gramps and Gramps Web

The Windows AIO also has a data.gramps (in the same folder as example.gramps) file which looks like a database a user would create. I have no idea how fake the data is. It’s small, 60 people, 23 families.

data.gramps has already been proposed as the new home for DNA sample data. That will become the support file for Gramps DNA Data Model PR#2292 by @iand . So it might be considered unavailable too.

Or it might be a good target for the built-in Tree in the release after the DNA Data Model is released. Because promoting example data that pushes novice users toward a ‘bleeding edge’ feature is begging for trouble.

I agree that Ancestry providing segment info would be a game changer, but I have no expectations there.

I have over 50 DNA matches with segment info (GEDmatch + MyHeritage) and another 150 matches without segment info (Ancestry). Of these 200+ Associations, all but 10 are to known people in my tree. How many of these matches did I discover the relationship based on leveraging DNA data - probably over 80 (plus many many other people that came with that research). So autosomal DNA has been a very good research area for me.

You are correct that DNA matches are a small portion of my overall tree. But the insights from it are not insignificant.

Are you aware of the Gramps DNA Data Model proposal? If such a proposal is approved, then having DNA data in the examples seems like a needed thing.

I think of this as return on investment (my time).
On Ancestry Currently I have
29260 Matches
133 with Common Ancestors (0.45%)
of which
74 are incorrect but still a match
so taking us down to (0.2%)
I have another 70 or so confirmed DNA matches with Common Ancestors
proved by other means
and I have 6 for which I have a DNA Segment Map.

Y DNA is even worse did a test in 2022 got 3 matches at the 111 level
with no links into my tree currently found, 4 years later the figure is
still 3 at the 111 level.

So whilst I find Autosomal DNA interesting and good at confirming a
small number of individual lines, and I look forward to seeing the
outcome of your work, I am not sure whether it brings anything forward
for new users following a traditional tree building path.
phil

Ok, I think we have consensus on an example family tree:

  1. Use the small ./example/gramps/data.gramps
    • 60 people, 23 families, 125 events, 43 places, 4 sources, 3 citations, 2 repositories, 6 media objects, 7 notes, and 1 tag.
  2. The user will be asked at each Gramps startup if they want to import the example family tree
    1. only if the tree “Example Family Tree” doesn’t exist
    2. there will be a “ Don’t ask again” checkbox to never ask again
  3. The small family tree should be small, but also contain a variety of things to explore; we’ll maintain that (as we do) with new items. It may be worth it to add a FamilySearch real person FSID so as to demo it.
  4. The installation will include map tiles; the data will include DNA examples
    • 21 OSM PNG tiles (216 KB total) covering zoom levels 0–2

Sound good?

It sounds very good.

What about the install location of the ./example/ folder?

Can we include in this enhancement that the folder (with its 4 importable files and all those media files) should be somewhere in the Gramps User Directory location instead of buried in a (sometimes hidden) Application subfolder? (The subfolder could be in the gramps61 version folder or in the .gramps folder … depending of whether we find more value in saving storage than having versioning of example files.)

I’d be pushing my luck to ask for the import to resolve the Relative media file path more reliably in cross‐platform conditions.

So how about making 1 media object a “URL” rather than a local file path? (Probably for the Home Person.) That way, at least 1 thumbnail will be more than the red “x” document icon.

I’ve created a PR here: Prompt new users to import the Example Family Tree on startup by dsblank · Pull Request #2388 · gramps-project/gramps · GitHub

I’m not sure what the rest of your post is about. It seems like you are making assumptions.

Anyway, the PR will load the file from the different packages:

  • Windows AIO ✓ — The wheel’s share/doc/gramps/example/ is picked up by cx_Freeze and explicitly copied by the NSIS installer (File /r
    “..\share\doc”). The launcher sets GRAMPS_RESOURCES so the path resolves correctly.
  • Mac bundle ✓ — gramps_launcher.py sets GRAMPS_RESOURCES, and gramps.bundle explicitly includes
    ${prefix}/share/doc/gramps/example/gramps/*.
  • Wheel install (pip/deb/etc.) ✓ — pyproject.toml maps build/share → share in the wheel shared-data, and build_hook.py puts the
    example files there. ResourcePath navigates from the Python package path to find {prefix}/share.
  • Snap — Unknown (private Launchpad recipe). Gracefully handled: the if not os.path.isfile(_EXAMPLE_DATA): return guard means the
    prompt simply won’t appear if the file is absent.

Wouldn’t it be nice if there were a guided tour of gramps?

It should:

  1. appear in the user’s language
  2. be easily editable to add new items, and text
  3. appear on startup, with a dismissal, or from menu
  4. be robust (in case certain views aren’t shown, etc)

Take a tour:

Getting started, and status bar:

Navigate to views:

People view:

Add a person:

What else? Make a list :slight_smile: