Plug-ins > Address Book Manipulator

More on Group Names


Bob Harlow:
In my address book, many people belong to more than one group.  I would like to pull all contacts into FileMaker, and have the field for "Group Name" be populated for each person with a return-delimited list of the groups they belong to.  Right now the sample scripts seem to pull in a new entry for each group someone belongs to, which results in duplication.  What am I doing wrong?

Here's another idea:

1)  Pull ALL Contacts, ignoring the fact that their groups aren't coming over.

2) For each group, make a copy of the demo file and pull the members of each group into the separate file.

3) Compare in FileMaker the group file to the master file and update the group name field in the master file with group name & <return> & new group name.  This would create a return-delimited list in the master file.  Do this for each group:   kind of a lot of trouble, but workable...


The following was left out of the demo supplied by PCI.....

A Group in Address Book is basically its own entity as is a Contact.  They are basically joined by a 'join table' in Address Book.  The schema can be replicated in FileMaker like this


The GCJOIN table would hold the membership.  It contains fields for the Group AddressBook ID (we will call it GABID) and Contact AddressBook ID (we will call it CABID).  Each record can be thought of as a 'group membership'...the CONTACT with the GGJOIN::CABID belongs to the GROUP with the CGJOIN::GABID.

With the above schema the proper practice would be to create a new GGJOIN record with the values returned by either PCAB_GetFirstMemberID, PCAB_GetNextMemberID when a Group record is active in the plug-in, or PCAB_GetFirstParentID, PCAB_GetNextParentID when a Contact record is active in the plug-in.

The demo that ships with the plug-in is meant only to demonsatrate the capabilities of the plug-in - it is not designed to replace any existing solution.

With the above schema you can add a calculated field to the CONTACT table the will list all the GROUPs to which it belongs.  Or even create a calc field in the GROUP table to list all the CONTACTs that are members of that GROUP.

If you would like help implementing the plug-in in your solution you can submit a RFQ to PCI and we will provide an esitmate of costs.



[0] Message Index

Go to full version