Neriderc / GVExport

Repository for GVExport module for Webtrees
GNU General Public License v2.0
15 stars 6 forks source link

Keep all partners together in combined mode #455

Closed Neriderc closed 7 months ago

Neriderc commented 10 months ago

Hi @Neriderc, I've been using webtrees with GVExport v2.1.18.2 and I can't thank you enough for your effort on supporting it.

I've only been using all of this stuff only for one week and it seems working as intended.

Until I hit a family with multiple marriage. For my case, a husband with 2 wifes. It seems that in GVExport (with 'Combined' Diagram type), it will create 2 sets of node for the husband paired for each wife.

[Husband + 1st Wife + its Descendants] and [Husband + 2nd Wife + its Descendants] (marked purple and green in image respectively)

With a lot of individuals and families were added into the list, the visual produced seems odd for this family as it puts the [Husband + 1st Wife + its Descendants] and [Husband + 2nd Wife + its Descendants] really far away from each other. Which I think to compensate for the 'lines' for connecting the nodes. Here's the example:

1

I tried exporting the GEDCOM file from webtrees and open it on yEd. It turns out yEd visual out a straight connecting lines, and the husband node were only created once with 2 wifes are put closer/next to each his wifes. Here's the example:

2

3

So I wondering if GVExport can have such option? A straight connecting lines with no duplicate nodes when comes to multiple relationship? It looks doable on different software, so I'm guessing that it should possibly can work on GVExport too.

I may sound pedantic on this, but showing this graph to elderly people carries a lot of emotions for them. Having them to see their multiple partners were put farther away surely hits differently on them. Having me to explain to them that 'thats how the software tries to efficiently sort and fit the people in once place' is beyond my imagination for them to understand.

Sorry for the long post. I hope I can get your comment on this. I'm not really understand how does this stuff works. I hope you can spare me off.

Anyway thanks!

Originally posted by @aXymmetrx in https://github.com/Neriderc/GVExport/issues/232#issuecomment-1807277860

Neriderc commented 10 months ago

Thanks for the praise @aXymmetrx!

With regards to your idea, this is quite a big item so I have created this separate issue to hold it. The limiting factor in what we can display is always the Graphviz engine that underpins GVExport. We don't have a lot of control over where things are placed, and our attempts in the past to influence it have created more issues than they solve.

However, all hope is not lost (at least not yet). We have some degree of control if we decide to clump them together such as in the "Combined" display style.

This may not be the best way to display it. Each of the partners may have an entire family tree to show under them. Also, it's possible that both partners have themselves had other partners in the past, which makes things even more complex. However, I'm willing to explore this as an option.

I can't make any promises. This kind of thing has shown to be more complex than it appears in the past, and I'm pretty confident it won't be a perfect solution. However, I will have a go at trying to add the partners together and see if I can get something that works for most situations. I also can't promise a time frame for how long it will take, it will take as long as it takes, and I might not be successful :slightly_smiling_face:.

Neriderc commented 10 months ago

@aXymmetrx sooner than I expected I have something for you to test out.

It's only rough, I want to see if it's helping or not before committing more time to the UI side of things.

Could you test the version of the module in the branch "cluster-all-partners"?

If you're not sure how to do this, instructions are as follows:

Note that this new version has other unrelated changes not yet released, as it's based on the latest development version. Also, the changes only work in the Separated style, and are not yet configurable. I intend to make this an option if it suits its purpose.

This new version does two things. It adds a link between partners (which is invisible), and it asks Graphviz to prioritise that link over other links.

Frustratingly, when I test it on my family tree I largely find that couples are next to each other, but my wife and I always display far apart :laughing:

Neriderc commented 7 months ago

It has been 3 months and no word from @aXymmetrx, so I'm going to close this. It can be reopened if they show up again.