I started working on comment notification last night to my dbvt.com/blog, which will give readers a “Notify Me of New Comments to this Post” option. The checkbox would add them to a notification list on any new comments to the post without requiring them to return to dbvt.com. I know I've personally missed out on information and possibly on relationships because I engaged in blogs by posting a comment then failed to check back on the conversation.
I thought about various architecture options and how automated the process should be. I've also been thinking about the minimum requirements that will need to be placed on the user to support the notification.
As for architecture, I considered a client winforms or console app to hit a dbvt.com webservice every, say, 30 minutes, use MSMQ, or implement a more manual process. For now I'll go with a more manual process with one-click notification function in the admin email notices.
As for minimum requirements imposed on users to receive comment notification, I could do it by adding a required email address field to the comment. That would be the easiest approach, actually. But since I have DotNetNuke's authentication access from .Text already in place, I might as well use that and require registration to participate (in comment notification only--not in adding comments, of course.) For this, registration seems a reasonable requirement as long as I do it seemlessly so it doesn't feel like a chore. The resulting userID stored in a cookie would free readers from having to login to receive comment notification afterward. And like the “Remember me” checkbox, as long as its done once and the cookie is alive, their identity is known and notification can occur. Otherwise, if their cookie was deleted or they were on another machine, all they'd have to do would be login with DotNetNuke's user management piece.
Last night I had some fun replacing .Text's admin email notification functions and adding Html mail formatting. More on the technical details when I have time to post again. Time to do “work work.“