Experimental Person Profile View (CardView) Plugin

Just installed the latest changes (commit 95214d4) and the config window stayed smaller than the size of the overall Gramps window. :+1:

So there is a design issue in that I forgot some secondary objects, like event references, also contain secondary objects, like attributes, that have their own children. The refactored navigation code can not handle that extra layer and while I can make it do so I am undecided if I should.

So I am setting this aside for a while to attend to other things so when I revisit it I can evaluate things with fresh eyes and maybe a different perspective.

1 Like

Actually, I like the Person profile View from what I read here and wanted to install. However it does not work for me (grampsAIO64 5.1.4, Windwos 10 64). Actually it sems the plugin ist loaded correctly, but nothing happens in the people view. Any Ideas what I am doing wrong. Here is my screenshot.

In response to a posting in this thread, the Profile mode was re-categorized as a view mode of the Relationships view category. (It was originally an alternate People view mode.)

A hint… when you’ve installed an add-on and cannot find how to access it in the interface, reading the Gramps plugin registry file (which has a file extension of: .gpr.py) can provide some leads.

With the original Relationships mode, this ‘Profile’ & the Combined view mode; there are 3 identical icons in the toolbar.

Anybody know how to add a different toolbar icon for the Profile view mode?

It seems like if one is undefined, Gramps ought to use something different than the Category icon. Using the Category icon ALWAYS creates an ambiguity in unlabeled toolbar icons.

Perhaps something like the avatars here? When a member hasn’t uploaded an Avatar photo, Discourse uses a randomly colored simple circle with the initial letter of the name.

Thanks a lot to the hint, now it works fine
Thanks in particular to cdhorn providing this nice feature. I would like to see it as standard gramplet and thus keep up with recent improvements.

1 Like

A SVG icon needs to be created, added to the folder, and the line stock_icon = 'icon-name', added to profiles.gpr.py

Most of these type of icons should be the standard gramps-person icon Gramps-person
with something else superimposed on it to the side. What? is the question.

A quick stab at it I added the event icon but the view does much more than adding events.

profile-view

1 Like

Perversely, while the core (standard or built-in) plug-ins get the most focus as recommended workflows, they suffer the greatest penalty in retarded evolution of features.

Problems and feature requests for 3rd party add-on Plug-ins can submitted one day, be tweaked by the developer and released publicly the same day. @cdhorn has released multiple improvement in a single day with intensely interactive comment and and re-coding cycles. A tweak in response to one suggestion triggered huge responses… which lead to more improvements. This allowed accelerated evolution.

But built-ins have to wait the Release cycle for their updates to get into the wider community. Which creates a surge of responses. While these responses may have lead to more changes as patches, the broader community won’t see those changes for another year. So they assume the developer is disinterested.

Bug fix patches are collected into a maintenance release to go into broad release. (Naturally, technically adept users can apply patches manually. But that’s beyond the capacity of many users.)

Worse, as far as lead times are concerned, improvements & new features have to wait for for the next major release.

Also, the Wiki user guide for core plug-ins is mired down in only documenting what was originally with public releases.

My hope is that most plug-ins will spend their first year as 3rd party add-ons: where they (and the WHOLE community) can enjoy the greatest benefit of quick response to user feedback.

If, at some time in the future, Gramps evolves a functionality to directly supplant a core plug-in with a 3rd party add-on (with the Help button redirected to a revised wiki page) it wouldn’t be such a burden to be rolled into the core prematurely.

(It might be possibly to do this already, the Plugin Manager Enhanced entirely supplants the core/original Plug-in Manager. )

I’m of a mind to disagree. (Sorry) They are still Relationship layouts but laid out differently with different drill-downs. Using a People category icon would confuse more than clarify.

The Combined has many characteristics of the standard form but with a Tabbed interface as a defining characteristic. Maybe it be named more specifically as “Tabbed” instead of the more generic “Combined” with some tabs along the top of a Relationship icon.

This is a copyrighted image from IconFinder and is wrong for our purpose. But could inspire a variant of our icon:

And the “Profile” i think of as a “Profile Panel” layout. (Not quite as chopped up as the Windows 8 Tiled GUI but reminiscent.) Maybe the standard icon could be overlaid on a large format panel mosaic. A solid colors variant of a simpler form of this:

When I submitted my feature to add the Preferences and Plugin icons to the tool bar, @Nick-Hall was very particular about the icons following Tango icon guidelines.

The link to the guidelines is no longer working but the link to other Tango icons remains in the See Also of the Gramps Icon set wiki.

Icons should feel like a Gramps icon.

Found a new link to the Tango Desktop Project

I wasn’t saying a DIRECT copy of those objects. Just an abstraction inspired by them.
For instance both of the following Tango icons are similarly inspired by similar representations. They would have to be worked into Relationships variants with the extra tab or panel abstractions.

From Tango MIME types:
image
Wiki related
image

Yes, that’s right. The guidelines will help give new icons the right look and feel. Modifying existing icons or adding to them is one alternative.

I would really like a user with some artistic talent to volunteer to create some new icons.

This plugin looks good. I can see it replacing my own combined view and becoming part of core Gramps. I have been meaning to find time to review it.

Here’s a crude option:
gramps-relation-panel

In case any artistically-inclined & community-minded user wants to take on Nick’s challenge:

Used the Ancestors map view mode (3rd Party Add-on) for the Geography view as a reference:

The SVG icon file was in the same folder with the Add-on:
gramps\gramps51\plugins\GeoAncestor\geo-ancestor.svg

The stock_icon line used a relative path and omitted the file extension:
            stock_icon='geo-ancestor',

The Relationship Scalable Vector Graphics (SVG) icon for Gramps (5.1.4 version under 64bit Windows) is at the following location:
C:\Program Files\GrampsAIO64-5.1.4\share\gramps\images\hicolor\scalable\actions\gramps-relation.svg

The Tango SVG format icons are linked to preview images on the “Tango icons” wikimedia webpage

SVG files are editable with Inkscape, " a Free and open source vector graphics editor for GNU/Linux, Windows and MacOS X"

OK. Things are NOT going to be quite as simple as registering a stock_icon='gramps-relation-panel', in the .gpr.py Gramps Python registration file.

I found 2 lines in the Python plugin file that also have to be changed to reference whatever SVG name was registered for the stock_icon:

    def get_stock(self):
        """
        Return the name of the stock icon to use for the display.
        This assumes that this icon has already been registered with
        GNOME as a stock icon.
        """
        return "gramps-relation-panel"

    def get_viewtype_stock(self):
        """Type of view in category"""
        return "gramps-relation-panel"

But there must be something beyond that since my toolbar now has a ‘caution’ placeholder for that icon:
image
The same SVG could be subbed for the geo-ancestor.svg would display in that toolbar. (Although it looked like crap.)
image
These variants weren’t any better.
image
![image
)

Any ideas @Nick-Hall ?

According to the Readme, the minimum required Python version is 3.5 now. So I don’t see a reason not to use type hints.

The master branch is for Gramps 5.2 and uses Python 3.5, so after the next release addons can use type hints. Gramps 5.1 still uses Python 3.3

1 Like

I hope that you choose to keep your Combined View mode as an ongoing add-on. There are advantages to keeping it viable.

The learning curve on the Profile view mode threatens to be overwhelming. All that power means that it takes a serious exploration commitment to find all the Easter eggs.

The combined view mode is concise & compact. I think that many users will find it more intuitive and inviting.

1 Like

The latest tweak to the experimental “Profile” View mode [now LinkedView] add-on for Relationships category by @cdhorn has new & unique capabilities for Drag’n’Drop.

  • Dropping an Event onto a Person or Family opens the Reference Editor for the Shared Event so that you can choose a Role or Cancel the Drag’n’Drop insertion.

  • A Person Drag’n’Drop to an Event has valid sharing functionality.

The typical Gramps behavior is to just set the role to “Unknown” during sharing of Events… which is invalid in ALL cases. Fixing the Role required knowing that “Unknown” roles are an inherent problem & drilling down to fix it. (Although not in the purview of this addon, perhaps someday the core code Reference Editor will highlight Unknown in Red like an invalid date or complain about an Unknown Role on a commit like it complains about an Unknown gender when committing a Person Edit.)

Note that an Event copied from some areas of Gramps lists on the clipboard as a “ref” object rather than the main category. These “ref” objects include a non-unknown default Role when shared via Drag’n’Drop.

  • Drag’n’Drop of a Person to a Person creates an Association. This is the only way in Gramps to quickly create initial Associations. (The SyncAssociations tool is still periodically needed for harmonizing the symmetrical or complimentary [reciprocal] Association.)

  • [Pending] Drag’n’Drop of a Person to a Family asks confirmation of the “Birth” relationship to each Parent.

These functionalities need beta testers in all OSes.

WARNING! Please test this feature using the Example.gramps (or other sample data files) rather than your main Tree.

2 Likes

Added an option enabled by default so after adding an Association it reopens the Person Reference editor so you can add the reciprocal one in the other direction. The Associations grouping has also been updated to group the [Reciprocal] ones.

I have to add support for Event <> Family drops yet. I figure the drag and drop support is about 1/3 to 1/2 done now, at least for what I have on my list for this iteration. After that mostly testing and residual cleanup and then I will open a PR against the Addons Source repository and ask Paul to review it.

1 Like

Added an option enabled by default so after adding an Association it reopens the Person Reference editor so you can add the reciprocal one in the other direction. The Associations grouping has also been updated to group the [Reciprocal] ones.

Interesting approach to adding Associations when drag-drop a person.

  1. Where is the option to disable for reciprocal? I dont see it anywhere in Preferences.
  2. Is there a way to prepopulate the reciprocal with data? For instance, Notes and Citations (they are the only children of an Association) since they are likely common. SyncAssociation adds a reference to the reciprocal for both Notes and Citations. In this case, user would just need to set the Association Type.