What to expect (and test) with Gramps 6.0 beta

As noted, Gramps 6.0 comes with a host of changes all over the app—from the UI, help links, and items under the hood.

I’m especially interested in getting feedback on three items:

  1. Upgrading
  2. Any errors throughout reports or UI views
  3. Performance of your filters

(1) The upgrade path is a little bit unique from past upgrades. Because the system has to read in your old data (so-called “pickled” arrays, aka “blobs”) but then write out the new internal format (JSON data), we’ve created an abstraction that allows switching between converters (called “serializers”). Let us know (in the bug tracker) if anything goes wrong. It should be a fairly quick process.

(2) The internal format has always used throughout Gramps for efficiency. But now it is easier to code with now that it is JSON. But a lot of code was touched so we might have missed something. Especially in the UI where we don’t have as many code tests.

(3) Normal usage of Gramps probably won’t show much difference in speed. But you should see some differences when using filters. Most filters will run quite a bit faster as we rewrote the filter engine, getting rid of a lot of unnecessary processing.

But you should see a huge increase in speed in some filters due to an new addition called the “filter optimizer.” The optimizer can reduce the running time of some filters dramatically. Specifically, these rules:

“deep relationship path between”
“is ancestor of filter match”
“is ancestor of”
“is bookmarked”
“is child of filter match”
“is default person”
“is descendant family of filter match”
“is descendant family of”
“is descendant of filter match”
“is descendant of”
“is duplicated ancestor of”
“is less than nth generation ancestor of bookmarked”
“is less than nth generation ancestor of default person”
“is less than nth generation ancestor of”
“is less than nth generation descendant of”
“is more than nth generation ancestor of”
“is more than nth generation descendant of”
“is parent of filter match”
“is related with”
“is sibling of filter match”
“relationship path between bookmarks”
“relationship path between”

If you use any of these rules (or combinations) you should see a serious increase in speed. Let us know what you find.

Gramps 6.0 is the beginning of some additional changes, and we already have some lined up for Gramps 6.1. It should be even faster and more robust.

5 Likes

Then I would like to give feedback.

Regarding (1) It worked well and without any problems.

Regarding (2) I clicked through the individual menus and could not find any problems.

Regarding (3) I tried the first three filters. Everything has become much faster. The filter that I have used since then (is the ancestor of) is much faster. Since I am not very familiar with the filters, I have not tested the others.

I am on Win11 23H2

1 Like

What I would also like to say.
If I set a filter incorrectly, Gramps would freeze and I had to kill it with the task manager. There should be a way to interrupt the filter more gently.

1 Like

The Test run in the experimental FilterParams has a functional Cancel button. It was designed for 5.1 but the Registration will self-adapt when used with 6.0

Changing Custom Filters and their parameters requires a lot less drill-down with FilterParams too.

If the addon doesn’t work 6.0, perhaps @kku can make a new version?

1 Mar 2025 : FilterParams has been published in the curated Isotammi Project addon collection. A 6.0 version is included.

Let’s just add a Cancel button in Gramps.

Rather, let’s add a working Cancel button. Gramps has a lot of Cancel buttons but most just pop up a dialog saying that the process cannot be canceled.

1 Like

I just put in this addon which adds the cancel button in the regular filter:

However, this will not help if there is e.g. an infinite loop within a custom filter.

2 Likes

We can fix that :slight_smile: These types of issues are better handled in the core code.

2 Likes

Kari’s Filter+ improvements (a scrape parameters to new Custom Filter; timer feedback) were rolled into the core Filter gramplets for 6.0

He also discovered a few rules that were missing to do all that Filtering and added them.

FilterParams is superior to the core Edit → Filter Editor in all ways but one: it lacks the “clone” feature

That GitHub repository has the .py code in the filterprogress.gpr.py and no Registration

Now there is the Clone button: gramps/addons/FilterParams at master · kkujansuu/gramps · GitHub

1 Like

Yes, but it still works!

1 Like

It might be a dangerous precedent to have code that modifies Gramps behavior in a Registration

Although we’re waaaay off topic of what to beta test, but since we are talking about filters, I went ahead and added a work-in-progress PR for Gramps 6.1 to allow canceling running filters.

  1. First, there was no interface for the User class to make a progress bar that can be cancelled. So I added that.
  2. But then it didn’t work, because the mouse click hadn’t been processed yet. So I fixed that.
  3. But then, as @kku mentioned, you can’t stop a long (or infinite) looping filter. So I fixed that.

What I didn’t fix was having the system abort. It currently just stops in the middle of what it was doing and show you that. Will need some kind of high-level check to not show partial results. Unless partial results would be useful?

Anyway, let’s stay on topic of beta testing here :smile:

Partial results could be useful for debugging a custom filters. No matter what’s displayed – partial results, no results, or the entire database – it probably needs some highly visible warning.

1 Like

Is the import of gedcom 7 already usable?
Does this test file work? I get import errors.

No. I do not know of anyone sharing a Beta of a GEDCOM7 importer plugin. Or anyone who has even mentioned that they are working on it.

OK?
I thought gedcom 7 was already on start for Gramps 6.0.
My mistake. Hence the import errors… :cry:

For those who want to read the PR1794 about the Filter Optimizer

A post was split to a new topic: Errors building 6.0 beta2 from source