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:
Upgrading
Any errors throughout reports or UI views
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.
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.
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.
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.
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.
First, there was no interface for the User class to make a progress bar that can be cancelled. So I added that.
But then it didn’t work, because the mouse click hadn’t been processed yet. So I fixed that.
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?
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.