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

Thanks, @dsblank. As I mentioned to Nick, I’m not a code architect or a developer, so I can’t provide a formal technical specification or professional UI mockups.

However, what I can do is provide my ‘user-logic’ and my “simple real world approach”. I can try to help with:

  • Workflow integration: Describing my ideal workflow between Zotero, Obsidian, and Gramps (and other tools using CSL).
  • Current vs. Ideal: Explaining how I handle the bridge between Zotero and Gramps today, compared to how I would like it to work in an ideal layered system.
  • Tool-agnostic logic: Even though I use Zotero, the logic I’m describing would be much the same for users of Citavi, JabRef, or similar research tools.

When a GitHub discussion becomes available for this specific topic, I will certainly participate there with my thoughts. I can also try to gather relevant Discourse threads regarding repositories, sources, and citations and provide them as links, so developers don’t have to browse through hundreds of posts to find the core arguments.

Note on translation: This response was drafted in Norwegian and refined with the assistance of Google AI. The final content has been reviewed and approved by me.

I’m running Gramps 6.0 on macOS, and it has been like this at least since version 5.2

It is worth re-watching the review by an experienced genalogy software user (Ed Thompson, aka @ed4becky ) on the YouTube episode :

It is less painful to watch at 2x speed. (You’ll spend less time telling the screen: “… no. no! NO! That is the hard way to…” )

Or you can read the summary posting. It itemizes the major places where he has obvious difficulties. And each item has hotlinks to skip to that section of the Review.

Here is what I stumbled into when starting using Gramps. (my English is limited, so bear with me)
Most are uncritical.

  1. The ‘birth/death/wedding etc’ event which behavior is hardcoded and acts different then custom events. Being unable to make a custom wedding event for church weddings, leaves me resorting to ‘alternative wedding’ and then making clear what kind of alternative it was.
  2. The ideosyncratic behavior of date boundaries (from - to - after - between etc)
  3. The quicksearch for lists (placenames etc etc) where the text-object of applied search covers the OK button, so I have to click the window to make the hint go away before I can click the OK button.
  4. no preview for (first page of) pdf files
  5. a quicker way to go from active person in person category to family category where the active person is filtered so only their families show.
  6. Some list windows scroll-bars jump when clicking an item in the list. Most do not.
  7. I had trouble understanding the differences between the hardcoded ‘adress’ menu and creating a ‘residence’ event.

==

So numbers 1, 2, 3 and 5. I have learned to work with them. But when beginning these presented to most difficulties. (Dates still do, and an ‘Alternative wedding’ still feels like needing explanation)
Got used to the others though.

CSL vs Evidence Explained citations

I worked on a proof of concept to integrate CSL output of citations into Gramps see under GEPS_018.

I discovered that EE was a bit of a crock, because Elizabeth Shown Mills had designed entirely new citation formats, ignoring perfectly acceptable existing formats.

For example, ESM254 is a simple format for a ‘Census database: Online’. This is really just a website reference. ESM has decided to design her own format for this citation, instead of using the existing formats in any of the many CSL styles.

The point is you should take the data items she wants to record, and map them on to CSL variables (e.g. container_author). Then you can use any of the CSL styles to actually output the citation.

What she has done instead is to invent her own variables (e.g.WEBSITE CREATOR-OWNER), and also invent her own particular style.

Suppose you want to write an article about your great-grandfather for a particular journal or magazine. They will have their own house CSL style, and you will want your references in that style. Then you have a conflict between the normal references in their style and the EE refernces in her style.

For my prototype, I decided to ignore ESM’s format, while retaining her names for her variables (presumably these are the attributes that Nick mentions), and map her names onto CSL variables for constructing the output. For example this mapping.

amap = {
‘type’ : ‘chapter’,
‘author’ : ‘%(COMPILER)s’,
‘title’ : ‘%(TITLE)s’,
‘edition’ : ‘%(TYPE)s’,
‘container_author’ : ‘%(WEBSITE_CREATOR/OWNER)s’,
‘container_title’ : ‘%(WEBSITE)s’,
‘url’ : ‘%(URL_(DIGITAL_LOCATION))s’,
‘locator’ : ‘%(ITEM_OF_INTEREST)s; %(CREDIT_LINE)s’,
‘accessed’ : ‘%(DATE_ACCESSED)s’,
‘page’ : ‘1-7’
}

Making filters that combines other filters in a flexible way. Making something like “F1 AND (F2 OR F3) AND NOT F4” (where F* are existing filters) seems like something that could be done in a single filter. But instead you have to chain multiple filters to get the combination for AND/OR/NOT you want. Then it becomes messy and you realize you didn’t choose good describing names for some filters. So you rename them. And then realize that the filter name was actually used as a key so the filters that are using the renamed filters stopped working and needs to be updated.

Good idea! Let’s see what could be done like this.

We may be better to store CSL variables and map the ESM variables at an earlier stage. Most variables can be strings or integers, although CSL-JSON supports names and dates.

e.g.

"author": [
     {
             "family": "King",
             "given": "Martin Luther",
             "suffix":"Jr., Ph.D.",
             "dropping-particle":"Rev."
     }
]

and

"accessed": {
     "date-parts": [[ 2005, 4, 12 ]]
},
"issued": {
     "date-parts": [[ 2000, 3, 15 ], [2000, 3, 17]]
}

Perhaps it is time to open a separate discussion for this.

Another thing about Elizabeth Shown Mills’ Evidence Explained is that it is actually not open source. It is copyrighted and, in practice, a proprietary style.

  • EE cannot be redistributed
  • it cannot be copied
  • it cannot be implemented verbatim
  • and it remains a commercial standard owned by a single individual

Given this, I should also retract my earlier comment suggesting that creating a full EE CSL or Gramps template would be an enormous contribution — since EE cannot legally be redistributed, copied, or implemented verbatim, such a template would not be possible without violating copyright.

My bad for not thinking that one through in my first comment.

I’m going to move some of these ideas over to the new discussion area for talking about the technical details.

Here is this one: Simplified Entry Dialogs · gramps-project/gramps · Discussion #2277 · GitHub

Discussions will be technical in nature, but all are welcomed to participate. Of course this topic is about annoyances, so you can follow along to see the proposed user interface and participate.

There are a variety of minor tweaks that would make Gramps more friendly. Things that (probably) do not require significant code. Where do they fit in this discussion?

Dashboard

  1. replace the TopSurnames default dashboard gramplets
  2. Three column layout instead of 2 column. (With an empty center column to whet curiosity about why it is empty and invite a place to add a gramplet.)

Geography:

  1. Rename view modes so that more than 3 labeled ones will fit on the Toolbar. (Probably needs consensus about verbiage.) Possible options:

    • Personal tracks All known places for one Person
    • Family tracks All known places for one Family
    • Descendant tracks Every residence or move for person and their descendants
    • Family proximity Would these two families been able to meet?
    • Personal proximity Would they been able to meet?
    • Plottable All known Places—coordinate-ready for plotting
    • Event places All places related to Event Place
  2. During install, add a Gramps User Directory maps/fallback set of custom map tiles (for levels 1-4 only, approx. 2mb) and set the (existing but underdocumented) custom tiles provider to use them.
    This would eliminate the Internet connection dependence for the initial content in the view. And we could evolve the tiles to have ‘hints’ about making a Place with Coordinates and an Event.

  3. swap in the new (more meanful) map pins by @bjpcorp
          image

Charts

  1. either: hide the Category’s empty sidebar and bottombar by default; or, add a default gramplet for each (maybe “Pedigree”, “Relatives” for the sidebar. And “What’s Next?” for bottombar)

Navigator sidebar

  1. select a primary sidebar and demote the other 2 built-ins to being addon “sidebar” plugins. This eliminates the (overly large) mode selector by default.
    • Category current default
    • Drop-down
      (my preferred. It requires the least screen width while having fully labeled view modes in the menus. Good for both power users and newbies)
    • Expander

Feedback

  1. reword the Error Processing Arguments error message about a locked database on the post-crash restart.

More intuitive file locations during install

  1. install the sample data in user writable space instead of write-protected core directories. (Including the gramps/example/csv, gramps/example/gedcom, gramps/example/gramps data/tips.xml) to a example folder in the USER_PLUGINS folder. (Allows revising these files with the Addon Manager.)
  2. set an application-specific Gtk File Chooser Shortcut button to the examples folder path. (addresses #11623)
  3. The use of the USER_CSS directory is unclear. Add a dummy gramps_user.css (or whatever filename will be the topmost CSS layer above data/gramps.css) to that folder during installation.

Nice, specific ideas!

Yes, a dashboard refresh would be welcomed, especially if the new named multi-dashboard PR is merged (and there is time between when it is merged and release—I wish there was time between merging a PR and its release for more testing, refinements, and customizations like this)

I spent some time on making the shortcut toolbar better for all views in the Simplified Interface PR. Because not everyone is going to like any change, this is all behind a config setting.

[I think a built-in Gramps definition of terms and concepts would be great. But I see that isn’t the suggestion.]

Yes, built-in maps and better pins! I’d like to spend some time working on a KML interface too.

Yes, we should re-visit every Category and either add good gramplets, or remove bar.

I also did some work on this too in Simplified Interface PR. I added another option that is even more narrow.

Yes, a small fix. Do you want to handle that one?

And maybe expose the folder names/locations to the user in a better way.

That is one of the things that @cdhorn mentioned when he was building a statistical analysis Dashboard CardView. He could not find the way to initiate a new view with the sidebar and bottombar disabled nor simply hidden by default.

I’ll certainly search for the dialog and submit a PR. I am just concerned that it might be a generic dialog rather than a single purpose. And that I will not be able to recognize that.

It looks like that section is used for any invalid CLI parameter passing.
what do you think of Cannot process as requested ? PR #2281

I’ll take a look to see what is need to add that functionality.

A long press on the plus button brings up this menu, and a single press displays the current behavior.

I asked a similar question a long time ago.

It concerned whether the menu shortcuts in the main interface should remain available even when you’re in an editor. Currently, if you’re editing a person and want to create another, you have to click in the interface to be able to use Shift-Alt-P.

Speaking of Cardview, something that would be nice to have using the regular Gramps is its Tags view. It’s particularly useful for searching for or modifying something.

I use the regular Gramps view to sort or edit tags, and the Cardview to find where a tag is applied.

When Graph View with Show Tags option is selected, give an option to display tag text, tag color, or tag text inside the colored box. I find it difficult to keep track using color alone when looking at the chart. While a tag color key would be nice, putting the tag text into each person’s box would be the best solution.

In principle would be a good idea feel it would take up to much screen
space particularly when having multiple tags could it be done by
message box appearing when hovering mouse over tag
phil