Closed (duplicate)
Project:
PHPlist Integration Module
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
25 May 2010 at 16:06 UTC
Updated:
9 Feb 2011 at 17:21 UTC
I wonder if it is possible to automatically add users of a particular role to a list when I syncronise the roles? At the moment I feel like I have tried every combination of buttons to no avail.
It would be great if they could be automatically assigned and then have the option of opt/out. Is this possible / am I being dense?
Thank you, and it appears a wonderful module to a great OS tool... many thanks to all involved with this!
Chris :)
Comments
Comment #1
paulbeaney commentedHi Chris,
Thanks for your interest in this module. I'm afraid what you're asking isn't currently possible. The only thing you do with roles is determine which lists users can see in "My Newsletters". I'll convert this to a feature request, although I can't promise when it would become reality!
Regards,
- Paul
Comment #2
paulbeaney commentedHi again,
Actually, this feature has already been requested: #628668: Add / Remove user from list based on role. One potential problem springs to mind though - do we want to auto-assign people to lists *every* time a sync is run, or just the first time. The reason for this is that if we do it every time, we risk re-signing-up people who may have opted out of a given list, and this would be a huge no-no (both in terms of etiquette and legality in many countries). Any suggestions?
- Paul
Comment #3
chrispeat commentedWithout figuring out how the module works entirely it would be difficult to say... but from my perspective it would be best if the sync signed up roles to lists and then when a user signed up they were assigned to a list automatically. That is how I imagined the module would work when I installed it... although I was amazed at all the other wonderful extra features!
I guess this would mean adding a section to the sync code and a section to hook into a new user but from the face of it would seem quite easy to achieve... I think most of the code must already be in the module?
Anyway, I love PHPList and im becoming very good friends with Drupal so this final key would be what I would consider an excellent match!
Well done to all those involved in the module, and more so, thank you!
Comment #4
SchwebDesign commentedYes, this would be very much appreciated functionality for me as well. I would be happy to donate $$ if this can be accomplished.
Comment #5
paulbeaney commentedOk, maybe time to re-visit this idea. I still stand by what I said about not touching subscriptions when using the Sychronise link in admin, simply there is no way of knowing if any Drupal users have changed their subscriptions from the default settings. The sole exception here might be the very first time the Synchronise link is used after installing the module.
Setting the "auto-signup to 1st newsletter" has an implicit role-based scope. If you set the available lists to each role to be different, the 1st newsletter is, by definition, different for each role and you can thus do (basic) management of role-based auto-signup. I guess the ideal would be an extra checkbox for each list/role so that any arbitrary list can be nominated as an auto-signup one. Does this sound sensible? (Am I explaining myself clearly enough even??)
Regards,
- Paul
Comment #6
SchwebDesign commentedThanks for the great response! You mentioned: "there is no way of knowing if any Drupal users have changed their subscriptions from the default settings"... wouldn't it be possible to look up a user's subscription status for a list(s) they have access too (based on role list access) by looking up the shared email address between the Drupal and PHPlist databases, then the PHPlist user's ID, then which list ID's that user is subscribed to? I'm sure you know the in's-and-out's of how this works better than I... but it's just a thought.
I see what you're saying and i agree. You did a great job clearly explaining the possible config if it's the first-time use of the Synchronize link and I personally believe it sounds sensible...
Another option could be to create an additional Synchronize Now link, possible worded as such: "Global Role Synchronization Reset" with warning text and action confirmation noting that it may resubscribe users who have unsubscribed.
Comment #7
paulbeaney commentedHi,
This functionality is now well under way. In the D6-DEV version which I will publish shortly, the possibility will be there to have multiple auto-subscribe lists per role, and to apply them on mass to all users when doing a sync. There will be an additional option to remove any existing subscriptions first (useful if, for example, you change which the available lists are to different roles - someone could be left subscribed to a list to which they should no longer have access).
This change also requires some updates to ensure that users are auto-unsubscribed from denied lists (if necessary) when their roles change (using hook_user())
Watch this space...
Regards,
- Paul
Comment #8
paulbeaney commentedDuplicate of #628668: Add / Remove user from list based on role