Page MenuHomePhabricator

Make topic subscriptions available via URL parameter
Closed, ResolvedPublic

Description

T243621 introduced a query string parameter that makes it possible for volunteers to try new [Talk pages project]() features on live talk pages prior to said "features" being made available within the Discussion tools beta feature.

This task is about making it possible for people using the ?dtenable=1 URL parameter try topic subscriptions (T263820) on any Wikimedia wiki.

Requirements

  • People who append `?dtenable=1 to the URL of any page where the Reply Tool is already available, will:
    • 1) See [ subscribe ] affordances next to any ==H2== sections that appear on said page
    • 2) Be able to click the [ subscribe ] affordance(s) mentioned in "1)"
    • 3) Receive notification(s) when new comment(s) are posted in section to which they have subscribed
    • 4) Be able to unsubscribe from conversations to which they have previously subscribed

Done

  • ===Requirements are met

Event Timeline

Change 698623 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@master] Allow dtenable=1 URL parameter to enable topic subscriptions

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

@Esanders noted (on Gerrit) that this needs more work:

This is slightly useless as events will not be generated until the feature is at least in beta. All you can test is the subscribe links.

Change 698623 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Config option to enable topic subscriptions backend and dtenable=1 URL parameter

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

Change 702171 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@wmf/1.37.0-wmf.11] Config option to enable topic subscriptions backend and dtenable=1 URL parameter

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

Change 702172 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@wmf/1.37.0-wmf.12] Config option to enable topic subscriptions backend and dtenable=1 URL parameter

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

This is a slightly bigger change than it seems – in order to allow folks to receive notifications, we have to run the code that generates them on every talk page edit (the "topic subscriptions backend"), just like when topic subscriptions are available as a beta feature.

We've made it available as a beta feature yesterday on a number of wikis, and everything seems good so far. So I'm comfortable with deploying this.

In the unlikely event that it causes issues, the new code can be quickly disabled in config, by setting $wgDiscussionToolsEnableTopicSubscriptionBackend = false.

Change 702171 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@wmf/1.37.0-wmf.11] Config option to enable topic subscriptions backend and dtenable=1 URL parameter

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

Change 702172 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@wmf/1.37.0-wmf.12] Config option to enable topic subscriptions backend and dtenable=1 URL parameter

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

Mentioned in SAL (#wikimedia-operations) [2021-06-29T23:30:18Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.12/extensions/DiscussionTools/: e77e002130a7815570ff967013757bacc7037fb0: Config option to enable topic subscriptions backend and dtenable=1 URL parameter (T284491) (duration: 01m 09s)

Mentioned in SAL (#wikimedia-operations) [2021-06-29T23:31:40Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.12/extensions/DiscussionTools/: bad82665f8bea667aff049794612c270063c7519: Config option to enable topic subscriptions backend and dtenable=1 URL parameter (T284491) (duration: 01m 06s)

Mentioned in SAL (#wikimedia-operations) [2021-06-29T23:33:06Z] <urbanecm@deploy1002> Synchronized php-1.37.0-wmf.11/extensions/DiscussionTools/: bad82665f8bea667aff049794612c270063c7519: Config option to enable topic subscriptions backend and dtenable=1 URL parameter (T284491) (duration: 01m 05s)

This is a slightly bigger change than it seems – in order to allow folks to receive notifications, we have to run the code that generates them on every talk page edit (the "topic subscriptions backend"), just like when topic subscriptions are available as a beta feature.

@matmarex: what – if any – impact will this change have on the load DiscussionTools is placing on the Parser Cache?

None, the additional load is on appservers (where our code runs), RESTBase/Parsoid (which deliver the HTML we use) and the x1 databases (where Echo notifications data is mostly stored).

None, the additional load is on appservers (where our code runs), RESTBase/Parsoid (which deliver the HTML we use) and the x1 databases (where Echo notifications data is mostly stored).

Understood.