Page MenuHomePhabricator

Notify enwiki Gather users about pending removal of the feature
Closed, ResolvedPublic

Description

Send a notification to users who have created Gather collections on enwiki that Gather is going to be disabled (and preferably offer a way to export their collections).

Event Timeline

The notification could point them to http://playlist.wiki/ in case you want it to have a positive tone.

Options:

  • email - no coverage, of ~20K users less than 100 have provided it
  • MassMessage - public
  • Echo - needs development + out-of-process production deploy
  • targeted CentralNotice - needs development, poor perf characteristics, only works as long as Gather is installed

Some data: 74 users with confirmed email address, 19782 users without; 1565 users have private lists only. For those users, the average list length is 5, max is 207. Having long lists does not correlate with having an email (longest list made by a private-list-only user who has an email address has 3 items).

mysql:research@analytics-store.eqiad.wmnet [enwiki]> select count(*) users, sum(gl_cnt) lists, sum(has_private) users_with_private, sum(has_public) users_with_public, gu_email and gu_email_authenticated is not null has_email from user join (select gl_user, count(*) gl_cnt, min(gl_perm)=0 has_private, max(gl_perm)=1 has_public from gather_list group by gl_user)x on user_id = gl_user join centralauth.globaluser on user_name = gu_name group by has_email;
+-------+-------+--------------------+-------------------+-----------+
| users | lists | users_with_private | users_with_public | has_email |
+-------+-------+--------------------+-------------------+-----------+
| 19782 | 26404 |               1988 |             18224 |         0 |
|    74 |   111 |                  9 |                67 |         1 |
+-------+-------+--------------------+-------------------+-----------+
2 rows in set, 17488 warnings (4 min 22.23 sec)

mysql:research@analytics-store.eqiad.wmnet [enwiki]> select count(*), min(len), max(len), avg(len) from (select count(*) len  from gather_list gl left join gather_list gl2 on gl.gl_user = gl2.gl_user and gl2.gl_perm = 1 join gather_list_item on gli_gl_id = gl.gl_id join user on gl.gl_user = user_id join centralauth.globaluser on user_name = gu_name where gl.gl_perm = 0 and gl2.gl_id is null group by gl.gl_id)x;
+----------+----------+----------+----------+
| count(*) | min(len) | max(len) | avg(len) |
+----------+----------+----------+----------+
|     1215 |        1 |      207 |   4.8807 |
+----------+----------+----------+----------+
1 row in set (0.11 sec)

mysql:research@analytics-store.eqiad.wmnet [enwiki]> select min(len), max(len), avg(len) from (select count(*) len  from gather_list gl left join gather_list gl2 on gl.gl_user = gl2.gl_user and gl2.gl_perm = 1 join gather_list_item on gli_gl_id = gl.gl_id join user on gl.gl_user = user_id join centralauth.globaluser on user_name = gu_name where gl.gl_perm = 0 and gl2.gl_id is null and gu_email and gu_email_authenticated is not null group by gl.gl_id)x;
+----------+----------+----------+
| min(len) | max(len) | avg(len) |
+----------+----------+----------+
|        1 |        3 |   2.1250 |
+----------+----------+----------+
1 row in set, 4487 warnings (9.72 sec)

Yes, MassMessage users who have at least one public list; for the rest, just call it a loss.

For 19k users, you'll have to use MassMessage's server-side delivery functionality, the web interface won't cut it.

For 19k users, you'll have to use MassMessage's server-side delivery functionality, the web interface won't cut it.

That's sendMessages.php, right?

Notified all users who have Gather lists via this mass message.

Notified all users who have Gather lists via this mass message.

Sigh, with the confusing "collections" terminology. Let's hope the message didn't mislead people into thinking that the Collection extension will be disabled.

User list was generated via SELECT user_name FROM user JOIN gather_list ON user_id = gl_user GROUP BY user_name ORDER BY user_id;.