back to

Membership Management - How to Cope with Membership Relations


I understand that this may be out of scope for the intended purpose of phpList. Basically, I’ve been asked to create a newsletter that will be sent to a membership list; But the memberships are comprised of students and their parents/guardians. Easy enough- I created a new attribute of “Subscriber Type” that stores values “Student”, “Parent”, “Guardian”, “Volunteer”, and “Staff”. I think we will eventually use segmentation to send various types of newsletters based on the subscriber type.

However, I need some suggestions on how to best handle the relationship between two subscribers: In the database, we will have everyone’s email, but now we need to keep track of “Student” and, say, two other subscribers related to this student, his/her mother (has her own email) and his/her father (also with distinct email).

I suppose one way to handle this is to create the new attribute “Relationships” with a textarea and manually retype the names of the student’s parents (which are already registered in the database).

I wonder if there is a more efficient way to track the different relationships that may exist between two or more subscribers.

I can’t think of an obvious way to achieve this. @duncanc may have ideas.

One approach could be to add an attribute “related to” with the value being the subscriber ID of another subscriber. That would avoid duplication and outdated names, at least, but may not do what you want (depends how you can’t to use the relationship data). You could use a custom subscription up page to make it easy to identify subscribers newcomers are related to, then submit the data to phpList via Ajax (your script converts the name to subscriber ID). You could use the REST API for both the subscriber lookup, and the relationship lookup later when you want to access relationship data. You would need to be careful about data privacy on public subscribe pages if they allowed name or email lookup however.

Thanks Sam,

I added a general textarea attribute “Notes” to identify those subscribers that were categorized as being parents or guardians. Here we can put the names of other, related, subscribers- or anything else for that matter.

Again, I know this beyond the intended purpose of phpList, but I was thinking along the lines of what Drupal can do to display ‘views’ of data in a relational database.