Page MenuHomePhabricator

Implement 'Subscribing and unsubscribing' feature for Newsletter extension
Closed, ResolvedPublic

Description

Subscribing and unsubscribing to/from a newsletter

  1. User navigates to Special: Newsletters
  2. Newsletter are listed hopefully like this in the future. Leaving the beautification for later, an MVP can have a table where all newsletter listed with subscribe and unsubscribe options in 'Actions' column.
  3. User id added or deleted from subscribers table accordingly.

End result

To view the implementation, go here

Related Objects

Event Timeline

Tinaj1234 claimed this task.
Tinaj1234 raised the priority of this task from to Medium.
Tinaj1234 updated the task description. (Show Details)
Tinaj1234 added a subscriber: Tinaj1234.
Tinaj1234 set Security to None.
Tinaj1234 added subscribers: 01tonythomas, Qgil.

The basic idea for the MVP is M12, but with a single checkbox only (subscribe/unsubscribe). The types of notifications (web, email, none) should be handled with an Echo plugin, and users should find them in their preferences.

@Qgil Do you think having this feature in a Special page would be better than having it in the preferences? ( assuming that a user expects a special page for the extension he/she installed and thus the probability of a user looking into the preferences for newsletter subscription is lesser ). Or is this approach just for the MVP ?

All the notifications preferences are in Especial:Preferències#mw-prefsection-echo, so I think it is better to keep the Newsletter preferences there as well. We can simply add an informative link from Special:Newsletters to Especial:Preferències#mw-prefsection-echo.

Tinaj1234 raised the priority of this task from Medium to High.Jun 18 2015, 10:43 AM

Change 219823 had a related patch set uploaded (by Tinaj1234):
Implement 'Subscribing and unsubscribing' feature for Newsletter extension

https://gerrit.wikimedia.org/r/219823

Change 219823 merged by jenkins-bot:
Implement 'Subscribing and unsubscribing' feature for Newsletter extension

https://gerrit.wikimedia.org/r/219823

an MVP can have a table where all newsletter listed with subscribe and unsubscribe options in 'Actions' column.

However, there is no such table (something like M12). It is ok to deviate from the original plan, as long as the benefits of the alternative are clear. In this case, the two blocks for subscribing / unsubscribing with dropdowns have some problems:

  • The dropdowns don't give an overview like a table can give.
  • The dropdowns only shows the title of the newsletters. A table would show all the information collected, including a link to check the newsletter before subscribing to it.
  • Having subscribe/unsubscribe in separate actions is confusing. You have to check in a dropdown the newsletters ou are subscribed to, and then check in another one the newsletters you could unsubscribe from. A table with checkboxes checked/unchecked gives a better overview (in the future we could sort the newsletters subscribed at the top, now the simplest implementation would suffice).
  • The dropdown complicates things i.e. when you select to subscribe to a newsletter you are already subscribed. The checkbox is clearer, it is either checked or unchecked and users cannot double-check them by design.

Bugs, even if we keep the dropdowns:

  • "Other" doesn't make any sense for subscribing or unsubscribing, isn't it? Either the newsletter is in the database (and therefore shown) or it doesn't (and therefore users cannot do anything about it before it is created).
  • Subscribe to two newsletters, then unsubscribe from one. Now the module for unsubscribing has disappeared, and only the module for subscribing is visible (again, this problem would be impossible by design in a table).

We have decided that we will keep the dropdowns for the MVP since they exist and work. After the MVP is concluded, we will improve this page -- see T103813: Overview of newsletters with subscribe/unsubscribe options

One bug that needs to be fixed to resolve this task is

  • "Other" doesn't make any sense for subscribing or unsubscribing, isn't it? Either the newsletter is in the database (and therefore shown) or it doesn't (and therefore users cannot do anything about it before it is created).

We can forget about the other bug, because the dropdowns will be deprecated at some point:

  • Subscribe to two newsletters, then unsubscribe from one. Now the module for unsubscribing has disappeared, and only the module for subscribing is visible (again, this problem would be impossible by design in a table).

The "Other" problem has been apparently fixed by https://gerrit.wikimedia.org/r/221118 but still needs to be deployed in http://newsletter-test.wmflabs.org/wiki/Special:Newsletters

Happy to verify once the fix is deployed.

Looks good! Thank you.