New features
Version 3.x > New features > Newsletter list management feature requests View modes: 
User avatar
Member
Member
Mufasa - 5/7/2008 12:19:21 PM
   
Newsletter list management feature requests
A couple of important (IMO) feature requirements that need added to the Newsletter module:

1. When a user unsubscribes from a list, they are deleted (DELETE FROM ...) from the database and a single field in the Newsletter table is incremented to note that a user was removed (not which one, just that *a* user was removed). This is a problem if that Newsletter subscription list is not the master mailing list. For example, we have different lists for different groups, that is also modified by other third-party tools. So, we just import the subscription list for each newsletter we send out. But, when unsubscriptions come in, we have no way of knowing *who* unsubscribed. The only way we can figure this now, is wait for awhile after the list has been sent out, then export everyone and compare the lists (which is not a very simple task--have to calculate who is not in the two sets, importing and exporting 30000 names often times out, so we have to split the list up, etc.) to find missing names. Then we miss any users that unsubscribe later, unless we re-calculate missing names and then further compare it to the ones that were already removed. Obviously, this process could be improved a lot if you just marked entries as unsubscribed (w/ timestamp), which could then be spit out of the system very easily.

2. The paging on the various Newsletter subscriber lists isn't very good. I think step one to improve it would be to list "Page X of XX" and have a "XXX records found" or something like that. Also, add "First page" and "Last page" links. (Of course, you will want to run a COUNT(*) query first, so that the DataSets don't have to iterate through the entire list for every page view.)

3. Importing and exporting large lists often cause HTTP/server time outs. I know the timeouts are there for a reason, so I think the best solution would be to provide an import and export of XLS formatted data. You could also have an option (or do it for everything and not offer it is an option--whichever you think would work best) to have the import/export processing run as a background task via your Scheduler so the page response wouldn't have to wait on the list processing. (Maybe even AJAX interface w/ progress indicator for the user while they're waiting?)
(Also, I haven't looked at the SQL directly, but you are doing batch INSERTS and not individual SQL statements during import, correct? If not, you should switch over to that--makes a big difference.)

4. Import should not fail for *all* addresses if there is one or more invalid addresses in the list. Obviously, erroneous addresses should be rejected and warned of, but the rest of the addresses should still get imported. Or, if you think that some users may want it to be a transactional process, simply add a toggle "Do not import any addresses if any fail" or something like that (I'm not good at succinct, accurate warnings or labels to show the user, but you get the idea) so those cases where bad addresses don't matter and can be ignored, don't have to be removed from the import list one by one.

User avatar
Member
Member
ralph - 5/29/2008 6:24:12 PM
   
RE:Newsletter list management feature requests
I would like to add a point here.

5. I am missing a double opt-in feature. There are more and more robots and Spammers out there that subscribe to everything they find (Don't ask why!). With a double opt-in, these Spam addresses could be filtered out more easily with a scheduler task (Delete unconfirmed users that are older than 30 days).

This way you also get rid of all sorts of typos in e-mail adresses.

Third, a user will get ask via e-mail if he really wants to receive this newsletter. This might increase convidence of an user in a web site. You not just get added on list....

6. The unsbscribe feature should allow a user to CHANGE his subscriptions. It might happen that a user might just change his e-mail address and not unsubscribe from a list. You should give a user this possibility.

7. You might offer a newsletter with different themes. So a user chooses between many different newsletter (about cars, planes or trains), at one point the user might just unsubscribe from one topic but not all.

Double opt-in management is a bit tricky, but is becoming the standard in newsletter subscription.

User avatar
Kentico Support
Kentico Support
kentico_jurajo - 7/1/2008 7:12:46 AM
   
RE:Newsletter list management feature requests
Hi,
Thank you for your suggestions.

1) and 2) We will consider this for some future version to improve the subscribers management. regarding to second point - you can use the filter options to find the users you want.
3) You need to import/export subscribers as it is recommended - maximum 1000 subscribers at one time to avoid the timeouts.
4) It will be very hard to know where the import failed and there are other difficulties with this.
5) We will consider it for some future versions.
6) For this you can try to use My subscriptions web part placed in Newsletters category.
7) You can create different newsletter templates for each topic.

Best Regards,
Juraj Ondrus

User avatar
Member
Member
Jon Adams - 7/16/2008 2:02:20 PM
   
RE:Newsletter list management feature requests
4) I haven't looked at the source, but how difficult is the code setup to just discard invalid entries and continue inserting? You're just running INSERTS, correct? If you're building a text list, just keep building, skipping broken ones. It currently goes through the whole list now anyway. Why can't it just build a valid and invalid list? INSERT the valid, and display the invalid as an error message?

User avatar
Kentico Support
Kentico Support
kentico_jurajo - 7/29/2008 5:30:36 AM
   
RE:Newsletter list management feature requests
Hi Jon,

We will consider this for some future versions. I have forwarded this forum thread to our product manager.

Best Regards,
Juraj Ondrus