Webtask: add newsletter subscription feature

User story

Visitors of our website should be able to register for receiving the newsletter. While submitting their email adress, they also should be able to choose in which language they want to receive the newsletter. The language selected to display the website should be preselected.

After registration the user should receive the newsletters with a link at the bottom that allows them to modify the language or unsubscribe from the newsletter totally.

Technicalities

Database

Database table “newsletter” of database “stats”

mysql> desc newsletter; 
+-----------+------------------+------+-----+----------------------------------+----------------+ 
| Field     | Type             | Null | Key | Default                          | Extra          | 
+-----------+------------------+------+-----+----------------------------------+----------------+ 
| mail      | varchar(120)     | YES  |     | NULL                             |                | 
| lang      | varchar(2)       | YES  |     | NULL                             |                | 
| signdate  | datetime         | YES  |     | NULL                             |                | 
| useragent | varchar(256)     | YES  |     | NULL                             |                | 
| id        | int(10) unsigned | NO   | PRI | NULL                             | auto_increment | 
| hash      | varchar(32)      | YES  |     | abcdefghijklmnopqrstuvwxyz012345 |                | 
+-----------+------------------+------+-----+----------------------------------+----------------+

hash is a UNIQUE 32 character hash with all letters and digits.

User interface

Subscription to newsletter should be realize by clicking on a link and opening a popup window, asking for email address, providing a select box with all languages supported and a recaptcha input field. Submission of data is to be done using AJAX.

Modifying user prefs can be done via plain html/post requests to access the pref page the user must give its email address again (which is then compared to the hash used in the url of the newsletter)

Status

Assigned to x-ray_3

Leave a Reply