New FamilyTreeView Addon (Thread 2)

I think we’re talking different things.

The Configure Charts window itself is not ‘scrollable’ so there is less use of the scroll wheel.

However, it has scrollable subpanels on the Appearance, Boxes, Names tabs. And scrollable gadgets on :

Appearance:
  • most of the controls
Interaction:
  • most of the controls
Boxes:
  • Boxes definition
  • The width of each person box in the tree
Names:
  • Default name format for the tree
  • Display ALL CAPS name parts in the tree as

And since the scrollbar is a “disappearing” one on the subpanels, users are going to try rolling over the interface while scrolling … simply to see if there are more options that are offscreen.

Just FYI: The filtering covers 100% of my needs. Thank you again!

2 Likes

I would like to provide an update on the improvements made over the past two weeks (as of v0.1.151):

  • To improve the clarity and findability of the available configurations, I moved some configurations to dedicated pages of the config window.

  • There are new configurations on the Names page that enable custom emphasis of call names (e.g. underlining) and primary surnames:


    In the screenshot, the SURNAME, Given Suffix name format (defined in the Gramps preferences) is used. The selected formatting/emphasis options turn the SURNAME into PETITE CAPS, underline the call name (or the first given name if no call name is specified) and emphasize the primary surname with bold formatting (in the last dropdown menu, you can also choose to emphasize the primary prefix as well). The result of this configuration is shown as a preview with an example name at the bottom of the screenshot.
    This feature was inspired by this forum topic posted by @GerhardP. Although it doesn’t enable this feature throughout Gramps, you can now underline the call name in FTV.

  • There have been multiple questions about missing expanders in certain situations (e.g. here by @hamkg, here by @stuck, and most recently, in this reddit thread.
    I implemented a “…” icon with a tooltip to inform the user that this is not a bug and to provide a hint on how to show the people he/she wants to expand:

  • There are now multiple options for dashed lines representing non-birth relationships (see issue #57 by @amikot). Four different options for dashed connection lines are available at the bottom of the “Appearance” config page:

    • No dashed connections
    • Dashed if at least one parent is non-birth
    • Dashed only if both parents is non-birth
    • Dashed on each side based on each parent

    The “Dashed on each side based on each parent” option might be the most interesting. When applied to a tree with the following child relationships, they appear as shown in the screenshot below:

    • Both parents have a birth relationship
    • Only father has a birth relationship
    • Only mother has a birth relationship
    • No parent has a birth relationship

  • Images of families are now displayed in the info box and the panel, requested by @csam, see my comment for more context and example images.

  • You can now add the first person to an empty database using FTV.

  • Several minor bug fixes and improvements.

Please let me know your feedback and report any bugs that I may have overlooked.

4 Likes

The new name formatting options are awesome! Impressed by the improvements.

3 Likes

A small status update about the latest FTV enhancements (as of v0.1.154).
As always, be sure to back up your data before using FTV.

  • New “Presentation mode” (requested by @emyoulation here):
    Thanks to Gramps’ proxy database feature, I was able to reuse the well-tested options used in reports to hide private data, data about living people, etc. The proxy databases act as a middleman that restrict access to certain data. This meant that I only had to implement the config user interface, as well as handling of special cases unique to an interactive view, compared to a report.
    Please note that this feature only allows you to read from the database. Additionally, hidden data is not available in other parts of Gramps. This prevents data from being revealed through a Gramplet, the status bar, or by accidentally switching to a different view.

  • There are several reasons why a tree cannot be generated. Most of these reasons are relevant when a user first starts using Gramps or creates a new tree. In those cases, the FTV canvas is no longer empty. I added short messages and buttons to guide the user through the next steps.
    Since FTV is a third-party addon that requires a few installation steps, these messages serve more as proof of concept than as actual help for new users. Nevertheless, I encountered empty canvases a few times during testing and I think these small interfaces reduce confusion and improve the user experience.





    The last case happens rarely. In most cases, the tree is build for the active person (or as a fallback for the home person). If presentation mode prevents building the tree for those, the user has to select a person for whom the tree should be displayed

  • Minor bug fixes and improvements, such as resolving issue #58.

4 Likes

I would really like to see FTV not as an addon, but as a core component of Gramps v6.1

Thanks @ztlxltl

1 Like

FTV has a prerequisite of GooCanvas. But the installation instructions note that it does not require Graphviz like the GraphView addon.

If FTV is added to the core, perhaps @ztlxltl can advise how GraphView can be reworked to only have the 1 prerequisite? It would make sense to include both view in 6.1 instead of just 1.

Then work toward all the block diagram view being able to leverage the same more-sophisticated aesthetic.

1 Like

For those macOS users not following updates on the Gramps bug tracker:

The crash originally reported by @csam here has been fixed in FTV v0.1.155. @csam and @GaryGriffin have both confirmed here that the fix works and prevents the crash.

1 Like

If FTV were a core component, the update frequency would be with Gramps releases. As an addon, it can be updated as desired.

3 Likes

And currently those updates are coming 3-4 times a week. Until updates get to be once every 4 to 6 months, I cannot see it even being considered for a core Gramps install.

2 Likes

@emyoulation
I definitely don’t want FTV to replace Graph View. Graph View is advantageous for displaying relationships in a space-efficient manner, especially for complex networks of relationships. It’s very unlikely that FTV will be able to come close to generally representing complex relationships between multiple people. Some special cases may be implemented, but a solution that works for every case would require Graphviz (or a similar layout engine program).

As I understand it, Graphviz is used to efficiently position the nodes (people and families) and connect them. FTV uses a specially developed logic/rule set to place people and families. That’s why it doesn’t require Graphviz.
Both addons use GooCanvas to visualize the people and families in positions calculated by Graphviz (Graph View) or the custom logic (FTV). I decided to use GooCanvas because of its zooming feature. Without zooming, there is no fundamental benefit to using GooCanvas, if I recall my original decision-making process correctly (panning/scrolling are customarily implemented).

This could be possible, at least to some extent. However, I’m unsure what Graphviz needs as input. For example, does it need to know the size and shape of the nodes and their content, in addition to the relationships between the nodes? If Graphviz needs these details to generate a compact graph representation of the tree, then potential limits to the complexity that Graphviz accepts could become relevant.

I’m definitely open to improving other views as well. However, I would advocate that the current visualization of other views be available as an option for those who find it fits better into their workflow.


@csam
FTV is published under the GPLv2, so the core devs are free to include the current version (or any other version). I still have a few features on my list that I want to implement and (as others have mentioned) updating won’t be that easy once it’s merged into Gramps core. Therefore, I would prefer to continue developing it in a separate repository until it is mature enough for this step.

1 Like

How to activate FamilyTreeView? I installed its project in Gramps 6.0.0 . Now I can select only FTV Panel from gramplets but not see the main FTV. I have checked Person and Relations catecories.

Did you verify the prerequisite GooCanvas is installed and is loading?

Look under the Charts category. Gramps-pedigree

2 Likes

This seems like an ideal opportunity for the Plugin Registration to be enhanced to have “supersede” feature.

The Plugin Manager Enhanced addon supersedes the core plugin but can bee “hidden” to allow the original to be used again.

Perhaps all plugins should have this capability? If a higher version is installed with the same plugin regisration ID, should it not supersede the lower version?

Currently, I fork the registration of built-in plugins (Gramplets and Reports typically) and adapt that to have a unique addon registration when wanting to try to evolve them. But that means having near duplicates that can be chosen from the interface.

I’m not confident which registrartion attributes and filenames have to be unique. So I make them all unique. That is a bit kludgy.

It would be much cleaner to only have to change the version. Then the evolved version could fold the fork back into the core with less tweaking. And the future forks are easier too.

1 Like

DaveSch, you saved my day. Found FTV in Charts. Simple.

A lot of functionalities. Anyhow I dream of better support for good source citations, finding hollow reliabilities easily by filtering and in visual way. Not to burden ztlxtl also with this. He has done tremendous good work with FTV.

SORRY did not notice! TTV has badges of numbers of citations and events without them. Good start.

1 Like

I just released version v0.1.157 of FTV, which includes the following changes:

  • The content of boxes is now defined in a separate window. Changes are only saved and the tree is only rebuilt when the window is closed using the OK button (requested by @DaveSch here). This helps to customize the settings without having to wait for the tree to rebuild after each modification. Also the options for person and family boxes are no longer squeezed under one another, but available in tow tabs. With this, there is now much more room, so you can now see all the available options much better.

    The “Boxes” page is almost empty now. However, I’m working on adding more options to FTV that will be available on this page in the future.
  • A few bug fixes and improvements to handling special database cases and rebuilding the tree immediately.

As always, please report any new bugs that may have been introduced. Also, please let me know your feedback and ideas.

2 Likes

@PeterPower
You may also be interested in developing custom badges or using filters to create badges that highlight what you are looking for (see here).
If you have any ideas for potential new features, I would be happy to discuss them.

In version 0.1.159, I added an interesting feature that some of you may find interesting:

  • You can now specify rules to select a picture. This allows you to add other images to the FTV chart, such as people’s signatures or the coat of arms of a people or families. Here is an example using parts of the blurry “birth record” image from the Gramps example tree as signatures. This is just an example and it would look much better with high-quality scans:


    The image settings in the content profile are defined as you can see below. The important part here is the “Only use images with a tag that… exactly matches: signature” option. Since I added a new “signature” tag to the image, FTV uses that image here.

    Unfortunately, I had to use tags that are attached to images (media objects). I would love to use tags attached to media references (or something like media reference types), but this is not currently supported by Gramps. Besides citations, attributes and notes, the only information stored with media references are the rectangle and the privacy flag. I decided against using attributes or notes as criteria because this would add more complexity due to the key-value pair of attributes and the different purpose of notes.

    @emyoulation Are you aware of any efforts or discussions to add tags to media references (or secondary objects in general) or any other ideas for adding functionality to distinguish media references for a given person or family? This would make this feature much more streamlined.

    @Urchello This new feature should also allow you to achieve what you described here. You need to add a tag to the images, add the images to the corresponding people, create a new content profile (or modify an existing one) that includes an image item with the “Only use images with a tag that…” option set to the tag you added to the images.

  • Image resolution and grayscale filter can be chosen individually for each image content item.

  • The item parameters don’t reload after every modification in the content profile editor.

As always, please let me know what you think!

3 Likes

I do not grasp the reason why Attributes are less appropriate than Tags for this use.

I consider Tags to be for temporary descriminating markers. And Attributes for permanent ones.

Have you considered the possibility of a “Hashtag”-like attribute? Where a single named attribute could have a CSV list of categorizing/grouping qualifiers?

1 Like