[drupal-devel] Is anybody doing any major work on subscriptions module?
Hi all, I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts. Here is what I've done so far: You can now subscribe to nodes, users and categories (was nodes, blogs(?) and categories). The /subscriptions screen where all of the nodes and all of the terms for the entire site were listed in one gigantic table is gone. In its place is a screen with three tabs; categories, users, content. The categories tab lets you subscribe using normal select boxes. Content and users tabs only show you your subscriptions and offer you the chance to unsubscribe. I don't think it is a good idea to use these screens as a means for subscribing to nodes and users. Each node has the links (un)subscribe content, (un)subscribe user. Users can decide whether they want immediate notification or digest notification at an admin specified interval. What I hope to finish tomorrow is the digest mailing, the admin screen, and placing a lind (un)subscribe user on each user's page. I will introduce hook_cron to handle digest mailing and probably a second table to store the digest mails between crons. The original subscriptions table is unaltered and a smooth upgrade will be possible. cheers, Robert
This is much needed. I think you can pretty much call this module 'abandoned'. So please proceed with improving it. I will need to do some work in the next few days to offer group subscription in organic groups module. the sooner you can share your new code, the better. i will add a tab and hopefully be able to integrate with your 'my subscriptions' listings and so on. would be sweet if i could offer digests using your code as well. -moshe Robert Douglass wrote:
Hi all,
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Here is what I've done so far:
You can now subscribe to nodes, users and categories (was nodes, blogs(?) and categories).
The /subscriptions screen where all of the nodes and all of the terms for the entire site were listed in one gigantic table is gone. In its place is a screen with three tabs; categories, users, content. The categories tab lets you subscribe using normal select boxes. Content and users tabs only show you your subscriptions and offer you the chance to unsubscribe. I don't think it is a good idea to use these screens as a means for subscribing to nodes and users.
Each node has the links (un)subscribe content, (un)subscribe user.
Users can decide whether they want immediate notification or digest notification at an admin specified interval.
What I hope to finish tomorrow is the digest mailing, the admin screen, and placing a lind (un)subscribe user on each user's page.
I will introduce hook_cron to handle digest mailing and probably a second table to store the digest mails between crons.
The original subscriptions table is unaltered and a smooth upgrade will be possible.
cheers,
Robert
Excellent - I'll put it in my sandbox tomorrow after I've gotten through all the basic functionality. Moshe Weitzman wrote:
i will add a tab and hopefully be able to integrate with your 'my subscriptions' listings and so on. would be sweet if i could offer digests using your code as well.
-moshe
Hi Robert, A nice (hopefully easy) extra feature that I would really appreciate is the ability to subscribe to aggregated/intersected categories. At the moment you can view nodes that appear in any one of a list of taxonomy terms (e.g. taxonomy/term/1+2+3), or you can view nodes which exist in every single one of a list taxonomy terms e.g. taxonomy/term/1,2,3). If we could subscribe to those sorts of combinations as well, that would be fantastic! Thanks for your work on this module, it's one I personally find very useful in a corporate environment. To illustrate my request, at the moment my users can subscribe to all entries for "Meetings", AND/OR all entries for "My project", but they have no way yet of subscribing to meetings ONLY for a specific project. Regards, Mark On 29 Mar 2005, at 23:06, Robert Douglass wrote:
Excellent - I'll put it in my sandbox tomorrow after I've gotten through all the basic functionality.
Moshe Weitzman wrote:
i will add a tab and hopefully be able to integrate with your 'my subscriptions' listings and so on. would be sweet if i could offer digests using your code as well. -moshe
On 30 Mar 2005, at 00:41, Mark Leicester wrote:
Thanks for your work on this module, it's one I personally find very useful in a corporate environment. To illustrate my request, at the moment my users can subscribe to all entries for "Meetings", AND/OR all entries for "My project", but they have no way yet of subscribing to meetings ONLY for a specific project.
This is not limited to categories. One might wish to subscribe to all posts from user 'Moshe' in the 'News and announcement' forum. -- Dries Buytaert :: http://www.buytaert.net/
Robert Douglass said:
Hi all,
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Here is what I've done so far:
You can now subscribe to nodes, users and categories (was nodes, blogs(?) and categories).
I had previously thought about integrating notify.module with subscriptions.module. The only real difference is that notify.module allows you to subscribe to the entire site, rather than just a specific node/user/category. Any plans for something simiilar? Notify.module is pretty much abandoned at this point, too. -- Tim Altman
I've committed the new subscriptions module to my sandbox (robertdouglass) along with a small upgrade script which converts all 'blog' subscriptions to 'user' subscriptions. Thank you all for your comments and suggestions. I've implemented the feature set which I described in my first mail (minus the link on the user page) and screenshots can be seen here: http://www.webs4.com/image/tid/6 I'll leave the module in my sandbox for a week or so but hope that after everyone has had the chance to review it we can agree to replace the existing module with this version. At that point, if dziemecki and TDobes are agreeable, I'd like to become the maintainer of the module. I marked several things with //TODO: in the code so people can quickly see the places that need immediate attention in the future. Looking forward to your feedback, Robert
nice screenshots. i think digest users really want one email combining all their subscribed posts. i hope that is feasible. I don't think it is even necessary to explain to he email user under which subscription a given node was added to the email. we would also need to remove duplicate nodes (e.g. a node is posted to one of my subscribed categories by a subscribed user). -moshe On Apr 2, 2005, at 2:52 PM, Robert Douglass wrote:
I've committed the new subscriptions module to my sandbox (robertdouglass) along with a small upgrade script which converts all 'blog' subscriptions to 'user' subscriptions.
Thank you all for your comments and suggestions. I've implemented the feature set which I described in my first mail (minus the link on the user page) and screenshots can be seen here: http://www.webs4.com/image/tid/6
I'll leave the module in my sandbox for a week or so but hope that after everyone has had the chance to review it we can agree to replace the existing module with this version. At that point, if dziemecki and TDobes are agreeable, I'd like to become the maintainer of the module.
I marked several things with //TODO: in the code so people can quickly see the places that need immediate attention in the future.
Looking forward to your feedback,
Robert
This should be the way the module behaves now. Testing is needed. We're rolling the module onto the NowPublic.com production site which has proved a good testing grounds so far. I believe the user also doesn't get notified of every single subscribed category that the updated post hits and I would like to fix this. -Robert
i think digest users really want one email combining all their subscribed posts. i hope that is feasible. I don't think it is even necessary to explain to he email user under which subscription a given node was added to the email. we would also need to remove duplicate nodes (e.g. a node is posted to one of my subscribed categories by a subscribed user).
-moshe
did a quick code review - what is this mailqueue.module? please share. - there are some crufty variable names. this might be a good time to remove them, and look for briefer ways to do stuff. this module feels wordy still (it always did) (e.g. $uzer, $taxa) - if you use 'destination' instead of 'return', this code becomes unneeded (in HEAD): if (isset($_GET['return'])) { drupal_goto($_GET['return']); } - subscriptions_page() is very long. consider breaking it up into its own pages with menu callbacks - a longer term goal might be to add the right API so that modules implement their own subscriptions. I would implement groups subscriptions, and likely more will arise. But I think this could clarify the code a lot today because the code for taxo, content, and user subscriptions is intermingled in a unclean way (it always has been). i'd like to see functions which individually listen on nodeapi() and add themselves to the queue if needed. subscription.module would then take care of processing the queue. -moshe On Apr 2, 2005, at 2:52 PM, Robert Douglass wrote:
I've committed the new subscriptions module to my sandbox (robertdouglass) along with a small upgrade script which converts all 'blog' subscriptions to 'user' subscriptions.
Thank you all for your comments and suggestions. I've implemented the feature set which I described in my first mail (minus the link on the user page) and screenshots can be seen here: http://www.webs4.com/image/tid/6
I'll leave the module in my sandbox for a week or so but hope that after everyone has had the chance to review it we can agree to replace the existing module with this version. At that point, if dziemecki and TDobes are agreeable, I'd like to become the maintainer of the module.
I marked several things with //TODO: in the code so people can quickly see the places that need immediate attention in the future.
Looking forward to your feedback,
Robert
Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Dan Ziemecki (dan@ziemecki.com) is the module's creator. He and I have been maintaining it and attempting to make improvements in our spare time. I do not have any major changes pending for it right now. I have CC'ed him on this message so he can let you know whether he has any changes in the works.
Here is what I've done so far:
You can now subscribe to nodes, users and categories (was nodes, blogs(?) and categories).
Some people might miss the blog-only subscriptions. (i.e. For large sites which have many sections other than blogs, a user-based subscription may not be a reasonable substitute.) I don't use them myself, though... so I won't complain too loudly.
The /subscriptions screen where all of the nodes and all of the terms for the entire site were listed in one gigantic table is gone. In its place is a screen with three tabs; categories, users, content. The categories tab lets you subscribe using normal select boxes. Content and users tabs only show you your subscriptions and offer you the chance to unsubscribe. I don't think it is a good idea to use these screens as a means for subscribing to nodes and users.
This page needed some attention, so I'm glad to hear you worked on it. Splitting it up into three tabs seems like a good start. I'm interested to see the results.
Each node has the links (un)subscribe content, (un)subscribe user.
I dislike the idea of having two links there. I know that's how we deal with blog posts right now and that was on my todo list of things to fix. Putting too many links on each node may end up overwhelming the user. (i.e. Would someone who just learned that they can even "login" to a site know which link to click if they want to get updates?) I think we should go for a simple "subscribe" link which subscribes to the content then provides options to switch that subscription to the user, blog, or taxonomy term if desired.
Users can decide whether they want immediate notification or digest notification at an admin specified interval.
Have you looked at issue #14516? Can we employ some of the same code you've already written to deal with it?
[...]
It's good to hear that you're working on this and I look forward to trying out your version of the module and/or patches. Thanks for working on this! Tom
On 29 Mar 2005, at 22:46, Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Hi Robert, good to meet you in Antwerp, hope you enjoyed the photos I sent to NowPublic. I've been working on an email newsletter module for a couple of months, which packages content from a site and sends it out as an email to subscribers. It's at an almost-alpha stage right now, with all features working, but requiring more testing, optimisation and UI improvements. I'm wondering how much overlap there will be with the subscriptions module as you have updated it... Perhaps some of the functions of my module could be made more general and hooks provided to other modules. There's a feature list of the module here: http://www.cortextcommunications.com/development/newsletter/features and a development forum here: http://www.cortextcommunications.com/forum/47 Download here: http://cvs.drupal.org/viewcvs/contributions/sandbox/megagrunt/modules/ enewsletter/ I'm tied up with work for a couple of days, so won't have a chance to install and try out your updated subscriptions module until the weekend, but I'm looking forward to it. Best regards, Robert Castelo [MegaGrunt]
Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Excellent, it would be great if it integrated with the spam module a bit, and didn't notify you if the reply was marked as spam. Simon
On Wed, 30 Mar 2005 02:04:16 +0200, Simon Lindsay <simon@dirtbike.ws> wrote:
Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Excellent, it would be great if it integrated with the spam module a bit, and didn't notify you if the reply was marked as spam.
Someone just posted an issue about this against spam.module: http://drupal.org/node/19675. -- Tim Altman
On Tue, Mar 29, 2005 at 11:46:48PM +0200, Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Here are my ideas which I don't have time to implement: There are two types of subscriptions: node and listing. Perhaps these should be two separate modules. For nodes (subscribe to a node, get the comments mailed), the best UI I have seen is Base Camp. Key elements of this translated into Drupal-speak: - When submitting a node you can choose who to subscribe individually or by group. - When viewing a node you can see who else is subscribed. - When viewing a node you can subscribe or unsubscribe yourself. But we can do better with choices. Your batch subscription to all nodes should be availiable through: - Individual emails - Digest email - RSS - Web only I want to see this work with project module too, focusing on replacing the 'my issues' page. My main problem with that page is that I have little control over what is and isn't there. Listing subscriptions (subscribe to terms, users, blogs, whatever) should work on /any/ listing. This will be possible once all the node listings in Drupal go through one system instead of modules making their own. The RSS delivery option will not be needed since the RSS baked into node.module works and there is potential for more modules to come and provide different versions of RSS and even ATOM. For both systems the mail should go through some sort of queuing mechanism. A module doing this without modification to the subscriptions module by overriding user_mail() is certainly possible. However, even calling user_mail() once per email address for a large distribution becomes a long process. Watch out: using hook_exit() on page serves that end in calling drupal_goto() does not have the advantage of doing server side processing after the user's page has been served because drupal_goto() waits for all the hook_exit() to execute before sending the HTTP header for forwarding. -Neil
On Tue, 29 Mar 2005 16:27:39 -0800, neil@civicspacelabs.org <neil@civicspacelabs.org> wrote:
On Tue, Mar 29, 2005 at 11:46:48PM +0200, Robert Douglass wrote:
I began rewriting the subscriptions module a bit today and wanted to check here if anyone else was also working on it? It would be a shame to double our efforts.
Here are my ideas which I don't have time to implement:
There are two types of subscriptions: node and listing. Perhaps these should be two separate modules.
For nodes (subscribe to a node, get the comments mailed), the best UI I have seen is Base Camp. Key elements of this translated into Drupal-speak: - When submitting a node you can choose who to subscribe individually or by group. - When viewing a node you can see who else is subscribed. - When viewing a node you can subscribe or unsubscribe yourself.
But we can do better with choices. Your batch subscription to all nodes should be availiable through: - Individual emails - Digest email - RSS - Web only
This has been on our "to do" list for a while. I had previously written up a little bit internally, and revived it for book work: http://dev.bryght.com/t/wiki/SubscriptionsModule Maybe we can put all feature requests there to centralize? -- Boris Mann http://www.bryght.com
participants (10)
-
Boris Mann -
Dries Buytaert -
Mark Leicester -
Moshe Weitzman -
neil@civicspacelabs.org -
Robert Castelo -
Robert Douglass -
Simon Lindsay -
Tim Altman -
Tom Dobes