Comment Subscribe
Another plugin, MT-Notifier, already provides a superset of this behaviour, but you have to pay for it and it doesn't, at time of writing, work on Movable Type 4; this plugin is MT4-only.
What's New
1.02: A number of requested fixes made. Unsubscribe link will now show up correctly, emails will be sent from the correct place, and notifications won't be sent of unapproved comments until they're approved. Upgrading to 1.02 is highly recommended.
1.01: A number of enhancements made by
Download
You can download a copy of version 1.02 here.
Installation
Unzip the file, and place the CommentSubscribe directory in your plugins directory. If possible, change the permissions on CommentSubscribe/commentsubscribe.cgi to execute for all users, read and write for owner (755). If you don't do this, the plugin will still work, but users will not be able to unsubscribe. Go to your control panel; it will prompt you to upgrade your database. Let it do this; it's just creating a table to accomodate subscriptions.
Now, add the following to your Comment Form template (in the 'Template Modules' section):
<div id="comment-form-subscribe">
<label for="comment-subscribe"><input type="checkbox" id="comment-subscribe" name="subscribe" checked />
Receive email notification of further comments.</label>
</div>
You can put it where you like; I put it just above the text area where the user enters their comments.
Behaviour
If a user subscribes to comments on a given entry, they will be notified every time there's a new comment for that entry. At any time, they'll be able to click on a link in the email they're sent to cancel their subscription. A user won't get notified when they themselves make a comment. Obviously, only users who supply an email address (whether commenting anonymously or through one of the login systems which provides an email address) will get notifications.
If you have any trouble, comments or suggestions, or even if you just like the plugin, please do comment. I plan to add more features soon, so would like to see what people would like made available.
8 TrackBacks
Listed below are links to blogs that reference this entry: Comment Subscribe.
TrackBack URL for this entry: http://myblog.rsynnott.com/new-mt-tb.cgi/1744
One of the features I miss a bit from Wordpress is the one which allows a commenter to subscribe to receive emails about future comments on the same article. The 'Notify me of future comments on this article' checkbox. So... Read More
I mentioned in one of my earlier posts some of the plugins and functions that a migration from Wordpress to MovableType would involve emulating. One of the functions that I've always considered important was the ability to allow people... Read More
Одна из самых востребованных функций любой блогинг-платформы — подписка на комментарии. Для Movable Type 3–й версии создан хороший плагин — MT-Notifier, который позволяет подписываться не только на комментарии, но и на весь блог, а та... Read More
My Movable Type plugin, Comment Subscribe, has been slightly updated, thanks to Arvind Satyanarayan, who made a number of changes and sent them to me.Also, it's currently the featured plugin on Movable Type's plugin directory, which is sort of cool. :)... Read More
So here's how it is. My weblog just updated from Movable Type 3.5 to Movable Type 4.0. If you check out the webpage, you will understand that the new version of Movable Type is... well... very new, and very different... Read More
I've just released a new version of Comment Subscribe (my user comment notification plugin for Movable Type). It fixes most of the issues reported with the first two, so please do upgrade if you're using an older one.You can get... Read More
Robert Synott has released an updated version of his comment subscribe plugin which rectifies a number of issues in the previous version(s).He strongly recommends that users upgrade - I just did and it's a lot saner !Great work Rob!... Read More
I have to admit, I experience a little moment of smugness every time I visit a Movable Type blog which is using my little email comment subscription plugin. Yes, the one which is in serious need of updating; I really... Read More

Wow, this is an awesome plugin. Don't forget to submit it to the Plugin Directory!
I've had no luck with the plugin directory, I'm afraid; it doesn't seem willing to let me register.
Rob
I installed it and seems to be working .. Now to see if anyone subscribes :)
If you're the one posting as "anonymous" by the way, there were issues with the plugin directory earlier today. They may have been resolved, but if not you can probably get someone to sort you out on the IRC channel - it worked for me :)
Michele
Hi Rob, drop me a line at arvind.2111 [at] gmail [dot] com and we'll try to work through the issues you're facing with the plugins directory. We were having some problems with the verification emails being sent out so that may be it!
Hi Rob -
Nicely done. Unfortunately I haven't had time to update MT-Notifier, though it will be coming when I get the time to do it. For those who don't know, MT-Notifier actually started life as a "subscribe to comments" plugin.
In any case, I'd also suggest a couple of things.
1 - When sending notifications, add a check to make sure you're not notifying if the comment is junk. This would be in your post_save callback, add something like "if ($obj->is_not_junk)" to the conditions (this worked in MT3, not sure if it does in MT4). Otherwise you're notifying when you receive junk comments, and subscribers may not be happy.
2 - Try and get rid of the CGI if possible. This previously wasn't doable, and Byrne logged a bug ID a while back to overcome some limitations (specifically that would not allow you to add modes that did not require passwords), so it may not be possible. But if you can do it in MT4, that will make it easier to install.
Otherwise, nice!
For some reason, the checkbox doesn't show up. The text "Receive email ..." does.
Also, the checkbox and the text for "Remember personal info?" shows up with no problem.
If you have any suggestion, that'd be appreciated. Thanks.
Sweet, about to try it out, thanks very much. If the functionality is not already there, an interface for viewing/editing existing subscriptions within MT would be great.
Ok sweet it works, but the email that is being sent out to subscribers gives an incomplete unsubscribe URL.. this is what was provided:
If you no longer wish to receive notifications, please click here:
/cgi-bin/mt/plugins/CommentSubscribe/commentsubscribe.cgi?action=unsub&id=1
(there was no domain URL in front..)
What happens is an email is not on record for the user? Should this plugin somehow modify the javascript to force the email field to be visible?
OpenID logins for example do not have an email address associated with them. :-(
Rob
I installed the new version, but the backend still shows version 1.0
Do I need to do something or is that an issue on your end?
Michele
Yep, I just noticed that the unsubscribe link is broken (in this version; it worked in 1). I'll release a fix for this and other little issues tomorrow.
I couldn't get past the upgrade now screen, received the following error
Can't locate object method "datasource" via package "CommentSubscribe::CommentSubscriptions" at lib/MT/Upgrade.pm line 1172.
I have MT 4.0 installed.
A new version of Comment Subscribe which fixes most reported issues is now available.
Don't know if this is an issue or lack of feature but if you reply back to a comment on MT4 control panel the email does not get trigger for people who subscribed to receive further comments.
I've run into a problem when I tested the unsubscribe feature it sent it to the wrong location. /1gm/plugins/... instead of the correct location /movabletype/plugins.
Any suggestions.
I'm still having the same problem, and it also seems to interfere somehow with registered users while signed in getting the following message:
------------------------------------------------------
Comment Submission Error
Your comment submission failed for the following
reasons:
Text entered was wrong. Try again.
Return to the original entry.
------------------------------------------------------
The comment submission error is unrelated but the unsubscribe feature is still providin the wrong url.
I wanted to see if I did something wrong during installation.
I am receiving the notification emails, but check out how it formatted the text:
From: The Dude
Test again
Thanks for the help!
Please disregard the above... it was due to the old EnhancedEntry plugin I had on the older MT 3.33 installation I upgraded from. After manually removing it, the text was formatted correctly.
this doesn't work for me.
I got the install prompt in the cPanel.
Added the text to the comment_form.m
Nothing. No text, no checkboxes.
?
Did you remember to rebuild after you'd made the template changes?
I found what I was doing wrong. Thanks for your help!
The "If you no longer wish to receive notifications, please click here:" link in the the email that goes to the subscriber was not working for me in 1.02.
I think there's a bug.
my $base = blog->site_url;#$app->config('CGIPath');
needs to be changed to read
my $base = blog->site_url . $app->config('CGIPath');
in order for the link to work correctly on my installation. It looks like the ";#" might have been a typographical mistake; later in the code appear the lines
# Fixed this to use CGIPath (as defined in mt-config.cgi) because in many cases blog_url != cgipath
unsub_link => $base . 'plugins/CommentSubscribe/commentsubscribe.cgi?action=unsub&id='.$addy->id
that seem to indicate $base was intended to be changed to read as shown above, with the concatenation operation ( . ).
This is a marvelous plug-in; thank you very much!
I am finding that the whole registration process used by default in MT 4.01 is just unacceptable for my users, who are members of the general public, many of whom are using blogs/MT for the first time and who undoubtedly will forget passwords from time to time.
The whole "password hint" jazz is so poorly thought through that I can't see enabling registration until the system is fixed.
The whole point of a "hint" is to let people enter a hint that they can get displayed by entering their username (or, better, their password) when they've forgotten their password, to help them remember what their password is ("the name of my first dog was:"). MT 4.01 doesn't use the concept of a hint but instead in effect is asking for an alternative password. But that so-called "hint" is just as likely to be forgotten as the password.
To "recover" a password (again, mis-named; it's the assignment of a new password, not the recovery of the existing password), MT asks the poor user to remember and ENTER the "hint" in order to get a new password assigned via email.
Ridiculous. That's not a "hint."
So I have disabled registration altogether until I can get under the hood and change that part of MT.
It seems to have been that way for a while:
http://www.sixapart.com/movabletype/docs/3.2/02_getting_started/recovering_a_forgotten_password.html
which makes it all the more incredible to me.
See also
http://forums.sixapart.com/index.php?showtopic=56773&hl=password+recovery
In fact, the idea of having a user enter his or her own "hint," even if the hint were shown to the user when going through the "lost my password" process, is dumb. Instead, if the idea is to provide some level of security over and above merely entering an email address in order to recover the password, then the user should have a set of drop-down pre-written hint questions to choose from when registering ("My mother's maiden name is," "My first pet's name was", etc.) and then MT should record the question chosen and the answer to that question. Later, when the user tries to recover his password, the user is shown the question that was chosen and is asked to enter its answer. If the answer matches, then the password on file is sent to the email address the user also enters.
By using this marvelous plug-in, I can give people the ability to be notified of subsequent comments without needing to be registered users (if he or she supplies an email address when posting the comment).
> unsub_link => $base . 'plugins/CommentSubscribe/commentsubscribe.cgi?action=unsub&id='.$addy->id
Actually, I would go so far as to say that even that may not be the best idea. Part of it depends on how you are calculating $base, of course, but then you are forcing people to put the plugin in "CommentSubscribe", and sometimes people don't.
Instead, you would be better off using the plugin envelope, which would make the line instead look something like this:
unsub_link => $base . $plugin->envelope . 'commentsubscribe.cgi?action=unsub&id='.$addy->id;
That way, wherever the plugin is, it will just work. You need to define $plugin, but you may have done that already.
I was having trouble with the unsubscribe link in 1.02. It was not giving the correct path. I changed this line:
my $base = $blog->site_url;#$app->config('CGIPath');
to:
my $base = $blog->site_url . $app->config('CGIPath');
and other than a double slash (//) after my site URL, it at least puts in the correct path to the unsubscribe link. I'm sure there's a better way, but this needs to be fixed correctly ASAP, especially since the docs say that it should be working correctly now with 1.02 anyway.