Add Types to the SyncAssociation Gramplet

From Gramps
Revision as of 05:54, 24 October 2020 by Bamaustin (talk | contribs) (See also)
Jump to: navigation, search

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

Not for the casual user

The list of Association Types was not designed to be changed via the interface. (It was intended for a specific Association and does not have any interface.) But 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 relationship 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 Hack

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)

Once the new Associations Types have tested and work as expected, submit an enhancement request.

See also