Addon:SyncAssociation

From Gramps
Jump to: navigation, search
Gramps-notes.png

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.
An Addons Offline Manual is available for review.

The Sync Associations Tool addon is designed to add a reciprocal Association if it is missing. For instance, if you create a GodFather association between A and B, this tool will create the matching Godchild association between B and A.

Usage

The Sync Associations tool is run from the menu Tools > Family Tree Processing > Sync Associations.... It will scan and modify your family tree with no interaction nor feedback of the changes being made. (Although the Persons receiving a reciprocal association will have a freshened Modify Date.) So be certain to make a backup beforehand... in case the result is not what you expected.

This tool is designed to create reciprocal Associations that are implied by explicit Associations records. Any Sources or Notes referenced by the original Association will be cross-referenced to the new reciprocal relationship Association.

Table of supported Associations

The following Associations imply a reciprocal relationship:

Association name Reciprocal association name
Godparent Godchild
Landlord Tenant
DNA DNA

See below to Add Types to the Sync Association Gramplet


Example

Create a new Family Tree and import the Example.gramps file.

Addon-SyncAssociation-Godfather-example1.png

View the Person Association information for example person, Fernandez El Fernandez, Avis III. He is the Godfather of Garner von Zielinski, Lewis Anderson Sr.

Addon-SyncAssociation-FinalGodchild-example1.png

Now view the person referenced in the Godfather association, Garner von Zielinski, Lewis Anderson Sr. Note that he is the Godfather of Garner, Anderson but does not have an association with his Godfather.

Addon-SyncAssociation-InitialGodchild-example1.png

After running the Sync Associations tool, a window describing the actions taken will appear. The possible actions are

  • <N> Reciprocal associations created
  • All reciprocal associations exist, none created
  • No existing associations, so no reciprocal ones needed

Now view the person again. The Godchild association has been added. If there were Notes or Citations on the initial Association, they would also be referenced.

Add Types to the Sync Association Tool

How do I add a new relationship Type to the Sync Associations tool?

Gnome-important.png
Not for the casual user

The list of Association Types was not designed to be changed via the interface. (It was created for a specific Association and grew organically. The list of associations does not have any interface.)

You can manually change the Gramplet code as a temporary hack. Unfortunately, the next time that Gramplet is updated, any temporary hacks will be wiped out.

To add more ‘official’ reciprocal relationships will take time. The quickest turnaround would be for users to manually change the Association Types in the system and, once they have verified the the Types as functioning, then submit the patched line of associations as an Enhancement Request.

What variations of Syncs can be added?

Associations can be symmetrical or reciprocal. That is to say, the relationship is described the same way from either side (co-workers) or inverse/mirror of one another (guardian and ward)

As an example, perhaps you want to log the Association of a Namesake to their Eponym. The Junior-Senior namesake relationships are implied via the Name Suffix and loosely refined via the Family relationship. But namesakes that skip a generation (or are honoring a famous person/thing) are more easily tracked via Associations. It sure would be nice for there to be less work to set the Reciprocal Association.

When considering Associations, note that they do not have a datespan. So logged Associations should probably be limited to those that are expected to be lifelong.

The modification

If you go to line 57 of syncAssociations.py you will see:

ASSOC_LOOKUP = {
"cM": "cM",
"DNA": "DNA",
"Godfather": "Godchild",
"Godmother": "Godchild",
"Landlord": "Tenant"
}

You need to add lines with a similar format (quoted string then colon then quoted string then comma)

Tango-Dialog-information.png
Once the new Associations Types have been tested and work as expected,

submit an feature request to included it in the addon.


Issues

See also

Discourse discussion: Share your patches for the SyncAssociations add-on