Not everyone has such active commenters on their blog that a return after 10 minutes will reveal numerous responses. If your blog is anything like my blog, comments on an entry might take place every couple of hours, over a few days. Because of this, the Subscribe to Comments plugin by Jennifer at Scriptygoddess has been a lifesaver. When leaving a comment, users are given an option to subscribe to that entry’s comments, and will receive e-mail notifications of replies. The plugin was written soon after the release of WordPress 1.2 Mingus. Although the original work was Jennifer’s, several others, myself included, have contributed to the code, adding features and fixing bugs. Jennifer has become unable to maintain the code as of late, due to personal factors. I’ve sort of taken the code under my wing, and have been giving it a little TLC, cleaning it up, and adding features that people have suggested in the last year.
What follows is a breakdown of the changes I’ve implemented so far (subject to change):
- Rudimentary security
- Users can no longer just enter a random e-mail into the subscription manager and modify someone else’s subscriptions
- In order to modify subscriptions, users need to use a special link, given in notification e-mails, and printed in the comments form as long as they have their comment cookie
- Recognition of subscription status
- Unsubscribed users see the “subscribe to comments” checkbox, but subscribed users see a “Manage your subscriptions” link
- The author of the post is recognized by either login or comment cookie and is assumed to be subscribed to the entry (as they will receive notifications through WordPress)
- Vastly improved subscription manager
- Uses visual style of WordPress interface
- Can be optionally accessed via “Manage” menu in WordPress for level 8+ users
Javascript “are you sure?” prompt after users click the “block” button to block further notifications- E-mail verification of block requests
- Javascript “invert selection” link to check/uncheck subscriptions for mass deletion
- “Return to the page you were viewing” link that persists at the top of the page, so that users can easily return to the post they were reading once they are done modifying subscriptions
- Ability to let users change notification e-mail address
- In the subscription manager, users can request that their notification address be changed for all their subscriptions
- Special link is sent to the old address for verification
- Once clicked, their e-mail address will be changed instantly for all their comments
- Easy integration into comments form
- No modification of comments form needed for WP 1.5 (supported themes)
- For users who want custom placement of the checkbox/link to subscription manager, this can be done with one simple function call, placed anywhere in the comment form
- Subscription without leaving a comment
- By popular demand, you can now offer visitors the option of subscribing to comments on an entry without having to leave a comment themselves
- If the reader later decides to join the conversation, their subscription continues without them having to explicitly set it
Here are some teaser screenshots, with Flickr annotation: 1, 2, 3, 4, 5, 6.
I’ll be running the code here on my site, so feel free to check it out (please don’t leave gibberish or spam comments… try to find an entry that sparks your interest and leave a legitimate comment). Alternatively, send your gibberish test comments to this entry on my temporary WP 1.5.1 testbed.
I’m probably going to hold off releasing this code until after WordPress 1.5.1 is released. I’m not sure when that will be, but my guess would be 8 weeks, tops. Until then, I want you to give me all your ideas, criticisms, tweaks, improvements, and general thoughts on the plugin. Tell me what the current version does that annoys you, what features you wish it had and what changes would make it work better for you.
Update: The public alpha test has started!
Ajay says
Just testing the subscribe to comments plugin.
Can see quite a few good improvements above.
Do you have to wait for so long before you release it? 🙁
Sven says
Hi Mark, thank you for all the updating you’re doing to this great plug-in. The only clarification I need is will those who desire to modify their subscriptions have to be a WP user? I notice you stated that only users with an 8+ level will be able to do certain modification. I don’t allow users to create accounts at my site and I just want to know if that’ll still be available to non-subscribers of WP.
BTW, I LOVE your comments form. Do you have a link to the download to this?!
Ajay DSouza says
Tested it and I simply love the features you offer.
Can I be selfish and ask you to give the plugin to me so that I can do live testing on my blog 😉
Mark says
Sven, here is the breakdown of what users can do.
All users:
– delete their subscriptions
– block all notifications
– change their e-mail address
Level 8 WP users:
– access any random user’s account and do the three things that regular users can do
– unblock any random user
So basically if you are a level 8 WP user, you additionally have “god mode” whereby you can enter in an e-mail address and change someone else’s settings, as well as remove a block.
Mark says
Ajay, yeah, I might offer a limited beta test soon. 🙂 I’ll let you know.
And Sven, my comments form is a mess of custom code, and is the most frequently changed aspect of my site. I haven’t released the source code for it, but might someday design a theme that uses a similar form.
Robert says
Sounds great Mark!
eduardo says
Hey Mark,
I saw your link in Jennifer’s page, so i came by to take a look at the imprvments and offer some suugestions.
Recognition of status: very nice, that will undo some confusion (“haven’t i subscribed to this before?”)
Subscription manager: this will be very good. Perhaps there could be something like the search function that searches in posts and comments could allow to search in names, posts, comments and emails in the subscription manager, so the admin could find “user X subscribing to these commments”.
Ablility to change subscription email: much needed!
And last but not least, security: well, i would agree that double opt-in is a hassle to the user, as we talked on Jennifer’s page. Half of me still thinks so. But with the features of: sendind confirmation request for change of subscription email and allowing changes to subscription via a special link in email or cookie, i see double opt-in coming in the short-to-middle-term… But anyway, it may be better to leave it out until the need is felt.
Now for something completely different: i can’t help thinking, if we have subscribe to comments, how come we don’t have subscribe to posts themselves? I have installed a subscribe to posts function in my website using the php script Listmessenger while WP was still in version 0.72, so much i felt the need. This would be a hit as a plugin, i suppose, even more if it would allow html emails so the emails would be formated using the site’s theme. That’s the set up i have, but every time i post i have to manually send the email to subscribers, something that could be automatic. Subscriber’s would even chooso to which categories they would subscribe.
But his is another story!
I’d like to congratulate and thank you for your hard work on the subscribe to comments plugin. Thanks!
eduardo says
As i just commented and just subscribed to this, just saw the improvements to the user interface. Wow, very nice! I am amazed.
I have just one design thing to talk about. When a user goes to the subscriptions manager, he sees the WP admin section “look” – but as the blog author i would want him to keep seeing the manager with my blog’s look (for consistency, for example).
I am using version1.4.4 of the plugin embeded in my site’s look, check it out. Maybe the subscription manager could call the header, sidebar and footer as other user-accessible pages do, using that TEMPLATEPATH variable?
ColdForged says
I am commencing hacking into your installation via various nefarious schemes so as to get my hands on this version sooner. I apologize in advance for any inconvenience this may cause.
😉
Joen says
Very very nice! Looking forward to deploy this on my website.
There’s only one thing I still miss from the old Movable Type version that Scriptygoddess initially created. “Subscribe without commenting”. I remember emailing her about it, and the situation was not easily resolved, due to differences in how WP and MT handled comments.
Seeing as you’ve put lots of effort in to this, I’m going to ask you anyway: would it be possible to add such a feature? That is, the ability to subscribe to comments, without leaving one.
Mark says
Eduardo,
The main reason that the WP admin has access to the subscriptions at all is mainly for the purpose of manually undoing blocks. Obviously because of the nature of a block, we can’t let people undo their own blocks… we would need to send them an e-mail, and they said they don’t want e-mails, probably because someone is commenting using their e-mail address.
The security layer provided is very minimal. Basically, it ensures that random users can’t try guessing e-mail addresses at the Subscription Manager until they find an address and then delete them, or block their subscriptions. Any further security would require registering users with passwords and all that junk. That’s too complex for this purpose. E-mailing users to confirm change of e-mail is required, because it is such a big change. I’m toying with the idea of e-mailing confirmation for blocks as well, so we can be sure that the user in charge of that address requested it.
You only really need to access the subscription manager as a user if you want to delete a subscription… and that is usually done when the user receives a notification and decides they no longer care about the entry. So the link is right there in the e-mail, and it isn’t an inconvenience to click it. It is actually easier than visiting a URI and typing in their e-mail address.
That’s really outside the scope of this plugin, but yes, that functionality might be useful to some. Personally while I think subscribing to comment feeds is a hassle, using feeds for reading blog comment is the way to go.
While I can’t really enable this sort of integration automatically (every theme is different, so this isn’t a one-size-fits-all sort of thing), I can do some things to make it easier for users to modify the plugin to match their site’s look and feel. Thanks for the suggestion.
Coldforged,
Do your worst! 😈
Joen,
Here’s the problem:
The easiest way to store comment subscriptions is to store it as a value in the comment data. Because of that, in order to send notifications, there needs to be a comment with that comment “flag” set. In order for users to subscribe to an entry without commenting, this data would need to be stored elsewhere (as there is no comment to attach the subscription to). I think that the most logical place for this would be to attach it as metadata that is associated with the entry.
My personal feeling is that if people care about what other people say, they probably have an opinion of their own, and should leave a comment. However, enough people have requested this ability that I’m going to look into the matter and see if it can be implemented. Well, I know it can be… I just want to see how much trouble it is going to be. 😀
Unadulterated Arrogance says
Just seeing how good this commenting system is… this would be the ultimate commentor provided you had support for threaded views/replies as well to the same.
Regards,
Jinu Johnson
Michael Heilemann says
I’m very much interested in beta testing this sucker if need be. Let me know. Judging from the screenshots, it looks very promising.
Does it pick up the admin style from the WP admin CSS?
Mark says
Jinu,
I think that threaded comments can sometimes get out of hand… but if they are limited to one sublevel, they’re not too bad. I’ve considered it.
Michael,
That’d be great! I have a few other tweaks to make before I’m ready to unleash the code, but I have a short list of people interested in trying this out pre-release, and I’d love to have you be one of them. And yes, it does use the WP admin’s CSS, regardless of whether it is accessed in standalone mode (for site commenters) or via the WP interface (level 8 WP users and up).
I’m looking into making it easier for people to provide their own stylesheet for standalone mode so it can be integrated into their site.
Briney says
Very nice. like many others will be waiting for the final release.
seriocomic says
Very cool. Will be updating this as soon as it comes out. Nice work.
P.S. Your tab index for this comment form seems to be outa whack. It tabs from Email Address to the Gravatar tick box…FYI.
eduardo says
You see, all this talk of mine are just thoguhts – i find the plugin great already, and with the improvements you are making it should be awsome. I’m looking foward for the release.
markku says
This one takes the previous version to a significantly higher level of functionality. I would love to test this on my upcoming migration to wp-1.5, let us know if you have a beta or preview package ready. Nice work!
Mark says
Seriocomic, thanks for the tip. Seems I hardcoded a “2” tabindex in there by mistake.
I’ve implemented the “subscribe without commenting” feature (no small task, let me tell you!), internationalized 95% of the text (still working on rewording some of it), implemented e-mail verification for blocks requests, tweaked the interface to more closely mimic WordPress’s layout, and reorganized the interface.
I’m not quite ready to release this yet, but it’s possible that I’ll start limited beta testing by Saturday.
Ajay DSouza says
That is two whole days away :O
But, I will wait. Gonna love beta testing your plugin, though I don’t usually do it.
Mark says
Joen, Michael, thanks for the bugreports you e-mailed me. Are the links in your notification e-mails correct now?
Unadulterated Arrogance says
It would be nice if you could ‘reply’ and the post you were replying to earlier was already blockquote formatted into your reply along with the previous posters name/id
Michael Heilemann says
Yep, works now 🙂
Dave M. says
Will you be posting in the comments to this post when 2.0 is released? That would be nice since we are subscribed to it at this point. 🙂
Mark says
I certainly will, Dave.
Right now I’m doing a lot of polishing work. I’ve not really had non-English-speaking users in mind in the past when writing plugins, and I’d like to change that, so all the text will be internationalized. I’m also trying to make it really easy to integrate the Subscription Manager into a site’s layout, if the user should so desire. The default is going to have it just use the WP admin style, but by changing one variable, you can have it displayed using your theme’s header and footer files.
Go to my sandbox to see it integrated into the default Kubrick theme. All that requires is the changing of one variable, and optionally adding some CSS rules (I am going to offer the Kubrick rules I’ve cooked up when I release the plugin.)
Also on display at my sandbox is the “subscribe without commenting” feature that so many have been requesting. I accomplished this using WP’s post meta feature. I’ve not really had any experience with the post meta system before, and now that I have… I really like it. It is really easy to work with. As far as integrating both types of subscriptions, it is all done transparently. Lurkers who subscribe without commenting but later decide to join the conversation have the subscription switched over and attached to their comment(s) so that they are shown as being subscribed in the comments (that is, they don’t have to check the “subscribe” box when they join the conversation… the checkbox is hidden to them because they are already subscribed.)
Christopher says
This plugin looks great, can’t wait to see it released!! Mad Props and Great Work!
ColdForged says
I am redoubling my efforts at cracking your installation, Mark, following the addition of the custom style-sheets and “subscribe without commenting” features. I know, it’s awfully sweet of me to warn you of such things, but that’s me… give, give, give.
Suffice it to say I’m so in on beta, please.
Guillermo says
Hi, if you need more beta tester, i wish to try it.
Daisyhead says
This is awesome! Thanks so much for all of your hard work. I only wish it could be released sooner, than later. 😉
Mark says
Hey… I said it was possible, not likely. I’ve put in a lot more work on the plugin. I decided that I didn’t want to flood the global namespace with 20 odd functions, so I made it into a class. It’s pretty slick. Now I do simple stuff like
$sg_subscribe->add_block();
and it’ll attempt to add that person to the block list, but store an error if it is already blocked by doing something like$this->add_error('This e-mail address has already been blocked');
which is outputted with$sg_subscribe->show_errors();
when the page loads.Once I’ve completed the class transformation, I’ll send out a beta for you guys to test. I just have a lot on my plate right now with web design and coding projects (you know, the kind people pay you to do) as well as with school. So I’m not going to promise a deadline for beta testing… all I promise is that when I do get around to releasing it, it’s gonna rock. 😈
Mike says
Hey Mark, I found a small glitch in your subscribe to comments plugin. While leaving a comment, at least on your site, whenever you try to use any HTML code that indents or moves the cursor (such as a bullet point) the check box next to “Subscribe to comments” floats up into your live preview window. I don’t know if this is a Subscribe to comments problem or if it’s only because of your live preview, but I just thought I’d let you know. Also, what ever happened to your comment editing feature?
Mark says
Mike, Heh… strange. Looks like a CSS glitch (related to my site, not the plugin, though). I’m on my way out the door, but I’ll take a look at it when I get back. Comment editing feature went out the door with the upgrade to WordPress last year. I’ve considered looking into writing the code for it, for WordPress… it was a rather nifty trick.
eduardo says
Hey, the preview sohwing integration with the Kubrick theme is looking good! If you need someone to make you a MO file to check i18n count me in as a volunteer. I maintain the oficial portuguese-Brazil i18n of WP.
Mark says
Eduardo, I appreciate the offer, and I’m definitely going to take you up on it! This is honestly my first big project done with full i18n support, and although I think I’ve followed the standards, at least according to how WordPress itself is coded, it would be very reassuring to have official confirmation that I did everything correctly. I’ll include you in the upcoming beta, and you can try out an MO file then.
And on a note to everyone else, it looks like WP 1.5.1 is starting to near release. I’ve squashed about a half-dozen bugs myself over the last few days, and there is a concerted effort to really clean up a lot of the outstanding issues. So the official release of this plugin may be sooner rather than later!
eduardo says
It will be my pleasure to help. So what comes first, will you send me a PO file that i can translate when the beta comes out for testing?
Jens says
can’t wait to see this plugin being published – as many others… 😉 great job you are doing there! is there a plugin competition as well? seems you’d have a great chance to win the race 🙂
Jon says
Considering that it’s been about a week or so since you’ve mentioned this plugin, is there any chance you could give us some time as to when you’ll release it?
And I have the nightlies, if that counts… Pllleeeeaaaasssee…. 😀
Denis de Bernardy says
Mark: Some users tend to send patchers rather than bug reports. You might want to release an alpha version of the plugin.
Denis de Bernardy says
Mark said:
Did you try calling get_header(), get_footer() and get_sidebar() automatically?
Mark says
Public alpha is in the works. There are just a few tweaks I’d like to make first.
Denis, that’s essentially what is done by default when you turn off the ‘use_wordpress_style’ setting, but not every theme is the same, so it might look a little ‘off’ without some customization.
Mark says
The public alpha test is up!