Based on my needs for mlm ( covered in http://drupal.org/node/106723 ), I'm submitting this patch for mlm.

PLEASE, PLEASE NOTE! As of this posting the developer was only working from HEAD in cvs and only recently created a cvs branch for 5-0. This patch applies to the prior version 1.9 of the mlm.module & mlm.inc, which is compatible with 4.7.X, and can be found in cvs. If you don't know how to get older versions of files from cvs then you can't apply this patch.

I've requested that the developer make a 4-7 branch in cvs so the original 4.7 module can be used. Here is a list of the fixes/changes I've made to the module - again, applied to revision 1.9.

1) Fixed the subscribe block so it shows the title of the mailing list when multiple lists are available and all are subscribed but one. Formerly, the title of the list did not show when only one list was presented within a Drupal block. Also gave the list name a new CSS class. (which needs to be done in other areas as well) (Line 228 in patch)

2) Added new admin MLM settings area using hook_settings() found at /admin/settings/mlm. (Line 145)
- New option for turning off email notification (needed because of web page notification feature)
(Lines 273 & 283)
- New option for web page (un)subscribe success confirmation by redirecting to node* (see note at bottom)
(Line 116 & 249)
- Addition of fields in settings area for confirmation pages
(Line 181 & 190)

3) Added support for backend specific admin settings and fixed critical anon subscribe issues.
- Created new function in ezmlm_idx (not ported to ezmlm.inc yet - because I don't use it and who would)
(Line 49)
- ezmlm_idx was updated to support better workflow for anonymous users. This includes using the default ezmlm method for list (un)subscribing. This is controlled for the mlm defined list types of 'announcement' and 'discussion' - presented as checkboxes in the mlm settings area.
(Line 18)

* While MLM supports bulk actions such as joining and leaving multiple lists at one time, you can really only show a confirmation page based on one or the other. The changes in this patch assume the last action performed and shows the corresponding page (as specified in the settings area). One feature that's anticipated is being able to access an array of action confirmation listings within the node which is shown. For example:

You've been unsubscribed from list X.
You've been subscribed to list Y.
You've been unsubscribed from list Z.

Of course, once a user is registered on the site they can always head to /mlm to view their list settings.

Enjoy! - and I hope the developer decides to include this patch. (Please include it..... and create that 4-7 branch if could.)

P.S. If you're wondering why I made these changes, the most critical was the desire to allow anon users to subscribe. Without opening the hole of allowing anyone to simply add an email address to a mailing list (which is what was possible). From a marketing standpoint, you always want people to opt-in to your mailing lists. This is a primary method of direct communication - and some users consider it a hassle to sign up to a site (although you can argue the double opt-in of the mailing list [at least ezmlm's] is the same thing - however, a user's email is always in their inbox staring at them until they delete or confirm).

The other enhancements also stem from a marketing perspective. I felt it was quite cold to simply take the user back to the list of email lists after they've performed an action of (un)subscribing. Many users expect to see some type of confirmation that something happened, and this is, yet again, an opportunity to perform some type of marketing reinforcement. You can put anything you want in your confirmation node, such as, "We're sorry you're leaving our list - did you consider such and such."

CommentFileSizeAuthor
mlm_new_settings.patch9.82 KBmattman

Comments

allie micka’s picture

Status: Needs review » Closed (won't fix)

Hi Mattman,

Big thanks for all of your work on this! I'm turning my attention to double-opt-in and other issues, and will certainly use this code for reference. As it is, I can't accept überpatches like this.

I agree with and appreciate your work on much of the functionality, but some areas, such as the settings areas, are too ezmlm-specific, when they could be generalized to avoid duplication. Unfortunately, with patches that contain lots of changes, we're generally forced to throw the baby out with the bathwater by not committing it as-is.

Until it's closed, I'm keeping your comments from http://drupal.org/node/106723 around. If you're still around, it would help if you could follow up as I roll out some of the upcoming changes.

Thanks a lot!

Allie