New FamilyTreeView Addon

Hello everyone,

Since about the middle of 2022, I have been working on and off on a navigable tree visualization of ancestors, descendants, and other relatives . I was trying to create a view that looked more organized/consistent than the Graph View, and that easily displays basic information about people and families without changing the active person and without tempting the user to open the editing window as the easiest option (at least in my usage habit).

The result is the FamilyTreeView addon which provides the following noteworthy features:

  • Tree visualization of ancestors, descendants, and other relatives of the active person
  • Info box pop-up with basic information on a person / family
  • Side panel with detailed information on a person / families including a timeline
  • Name abbreviation algorithm to fit long names into the fix-sized boxes
  • Badges for customizable display of interesting / important information (examples included, new / custom badges can be registered)
  • Intuitive zoom centered at mouse pointer position
  • Mini map for orientation

Iā€™m sharing this in the hope that this addon is useful for others, too. You can find it on Github. I also created a Github workflow based on @DavidMStraubā€™s workflow that provides builds/packages of the FamilyTreeView which can be added to Grampsā€™ Addon Manager. You can read more in the installation section on Github.

Iā€™ve tested this addon with the example database as well as with my personal database. I have also experimented with some edge cases. It seems to work but this addon should not be considered stable yet. Please back up your data before using this addon.

Although there is a long list of TODOs, ideas and known issues, I would appreciate it if other users would give me feedback about bugs, suggestions for improvement, or let me know which items on the TODO list I should prioritize. Besides that, Iā€™m especially interested in feedback on the following:

  • issues caused by e.g. different operating systems, different screen sizes, different languages
  • special cases / combinations in the database which might cause strange visualization of the tree, the timeline etc.
  • order of rules and the algorithm in general for name abbreviation, as well as abbreviation of names in non-latin alphabets

Since this is my first Gramps addon, Iā€™m also looking for feedback from other developers on the Gramps integration/interface. In particular, Iā€™m not sure if the current implementation of registering new badges from other Gramps addons is the best solution. Iā€™m also looking for a way to reuse Graph Viewā€™s SearchBar without copying the source file.

Best regards,
ztlxltl

17 Likes

Very nice! And while I really like the right sidebar content and display, it would be much more potent as the default gramplet for this new Charts view mode.

Not only would that free up space for the chart, but it would make that sidebar usable for other viewmodes.

I need to try it as is though. Maybe thereā€™s a Gramplet that you like to use at the same time? (You could undock that gramplet. But it can become inconvenient for users to manage a bunch of floating dialogs.)

2 Likes

Might you add a Configuation option to make it follow the Active Family as an alternative to the Active Person?

Gramps has very few Family category navigation items. This seems well-suited to help that.

2 Likes

Wow! Amazing, and a lot of work in this view. Thanks for sharing!

3 Likes

Thank you for your positive and constructive feedback!

You are definitely right. I think I tried that in the past, but I canā€™t remember why I discarded it. Iā€™ll give it another try.

I donā€™t have enough knowledge about how the interaction between different addons ideally works (see my question about the badge registration). Maybe Iā€™ll need assistance with that. But I donā€™t think I will approach this in the near future.

I can take a look into navigation based on families instead of persons. I have a feeling that this will require some major changes to some parts of the code.

Perhap just minimal Active Family navigation instead?

So if you click the Marriage date box (Nice rendering option there! The rounded bottom corners complement the top rounds on the Person boxes.), then maybe the Active Family in the Families category navigates to that Family but does not switch category?

That would add value to the Families category by reducing its current navigation unfriendliness. And would let any undocked Families category gramplets update appropriatelywhile in your view

1 Like

That should be possible. Iā€™ll take a look.

1 Like

Congratulations. I particularly like that children are listed in birth order (or at least by how the user lists them).

Some early observations.

The children (and subsequent generations) only show the first marriages and their children. My nephew has been married more than once with children born in subsequent marriages. These additional families are not shown. My mother was missing one of her great-grandsons. I would not include any additional marriages for the in-law spouses.

The ability to change the active person did not seem to be working. 5.2.3 on Win10 if it matters.

1 Like

I just pushed a new version with an option to show a set active button for families. You have to

  • update the addon (re-download / pull / update in Addon Manager, depending on how you got the addon),
  • In FTVā€™s config, in the Interaction tab, check the last checkbox.

A new button should be visible in the info box pop-up and in the panel.

Hope it helps!

1 Like

Thank you for the family enhancement!

1 Like

Thanks for the positive feedback.

This is what I meant by ā€œorganized/consistentā€ in my motivation. Unlike Graph View, the father (1st spouse) is always left and the mother (2nd spouse) is always right in FamilyTreeView. I couldnā€™t find the reason why this is not the case in Graph View (and it drove me crazy).

This is on my TODO list. I want to implement this as one of the ā€œexpandersā€ so you can expand/collapse other families (and ancestors, descendants, siblings, etc.). Maybe there will be an option which expanders (e.g. other families) are expanded by default.

Thatā€™s strange. I tested on a Win10 machine with Gramps AIO64-5.2.0-r1-6167151 and it works. How do you change the active person? (I tried with the set active button as well as with selecting a different person in the People list.)

1 Like

First time using the addon manager. I did add the URL and select All Statuses. What am I doing wrong? I get this message in the console:

WARNING: utils.py: line 231: Failed to open addon metadata for en https://raw.githubusercontent.com/ztlxltl/FamilyTreeView/dist-test/gramps52/listings/addons-en.json: HTTP Error 404: Not Found

That is the typical message when trying to access the rawgithubusercontent.com subdomain with a browser. But there does not seem to be a public and browsable dist-test/gramps52 subfolder under https://github.com/ztlxltl/FamilyTreeView either. It might be private.

https://raw.githubusercontent.com/ztlxltl/FamilyTreeView/dist/gramps52

I canā€™t find this addon in the Addon manager (AIO 5.2.3 on Win 11)

Thereā€™s something wonky here. The folder is hidden after extracting from the GitHub Zip download.

I can find it by searching for the name but not by browsing with the File Manager.

Make a backup folks!

It is brand new and this is the first day it has been available to test. It is a manual install from @ztlxltl github site

GitHub - ztlxltl/FamilyTreeView: A third-party addon for Gramps providing a navigable tree representation of ancestors, descendants and other related persons.

1 Like

Sorry everyone, I had used the old testing branch in the README. Please replace dist-test by dist in the link. (I fixed the link in the README.)

@DaveSch the above will explain why I couldnā€™t find it.

I think Iā€™ll wait a while before I try again.

Could you resolve the problem by replace dist-test by dist in the link?

Itā€™s not private, itā€™s a separate branch: ztlxltl/FamilyTreeView at dist

You should be able to find it using dist instead of dist-test

Yes, manual download should work always.


This is the first time, I try to provide a ā€œProjectā€ for Addon Manager. Iā€™m sorry the start didnā€™t run smoothly!

Yes, that let me install them, but after restarting Gramps I have this:

WARNING: _manager.py: line 329: Plugin error (from ā€˜family_tree_viewā€™): Namespace Rsvg not available