Page MenuHomePhabricator

CommunityConfiguration: `Add a link (Structured task)` fix handling when "backend" is enabled & "frontend" is disabled
Open, MediumPublic1 Estimated Story Points

Description

User story:

As a Wikimedian, I want to be able to enabled and disable the Add a link (Structured task) via the GrowthSuggestedEdits form, because that's how Community Configuration is meant to allow.

Background:

After T366458: CommunityConfiguration: Release extension to all Wikipedias with GrowthExperiments, we discovered that there are a few Wikipedias that have an unusual configuration for the Add a link (Structured task):

bpywiki
bugwiki
chwiki
crwiki
dewiki: T371597
enwiki: T370802
ikwiki
jbowiki
kgwiki
klwiki
ltwiki

These wikis have the "backend" of the structured task enabled so that link recommendations are being collected, but the "frontend" disabled so that the tasks are not actually shown to the users.

That is a problem, because in CommunityConfiguration this now looks like the task is enabled, even though it actually isn't (and cannot be enabled until we change the server setting).

For dewiki we noticed this and rolled back the deployment: T370261: Release CommunityConfiguration extension to dewiki

Short term solution ideas:

  • Do not show structured Add Link config if the frontend is disabled as an initial mitigation. This is not the desired solution, but it is very simple to implement, and it is arguably better than pretending the feature is enabled. It also gives us enough time to figure out what the long term solution should be.
  • disable the check-box in a checked state for the wikis where GELinkRecommendationsFrontendEnabled is true.

Next:
T370559: Review wikis that have Add Link models but do not have Add Link enabled
Possible long term solution:

The "frontend enabled" server flag means both the community and the Growth team needs to agree for Add Link to be fully released, as both need to set "their" flag to true. This was somehow useful initially (during the scaling), but not so useful now, given we're certain Add Link is helpful for the wikis. So, I feel like it would make sense to allow communities to self-enable Add Link (assuming models are available for them). This could work similarly to mentorship – the default is "mentorship disabled", and everything that needs to be done to enable it is to make appropriate changes via Community configuration

Acceptance Criteria:
  • Implement short term solution:

disable the check-box in a checked state for the wikis where GELinkRecommendationsFrontendEnabled is true.

  • Discuss long term solution with technical stakeholders and agree on an approach. Create a new task that details the long-term approach.

Related Objects

Event Timeline

KStoller-WMF moved this task from Inbox to Estimated tasks backlog on the Growth-Team board.

Change #1055868 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/CommunityConfiguration@master] HACK: add option to checked-disable checkboxes

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

Change #1055869 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] HACK: show structured link task as disabled if frontend flag is true

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

The proposed short term solution

Do not show structured Add Link config if the frontend is disabled as an initial mitigation. This is not the desired solution, but it is very simple to implement, and it is arguably better than pretending the feature is enabled. It also gives us enough time to figure out what the long term solution should be.

while simple to implement, has the large disadvantage that any save to the Suggested Edits CommunityConfiguration form would remove the existing Link Recommendations settings, and enwiki also already has added non-trivial configuration to it.

I've uploaded two changes for a different approach. That approach is a hack that is intentionally very ugly, so that we do actually feel the pain and remove it again soon. Functionality-wise, if it disables the check-box in a checked state for the wikis where GELinkRecommendationsFrontendEnabled is true. One reason that this hack is so ugly is that we have to touch CommunityConfiguration for it and it is thus only possible because "we" "control" it. This would be much less of an issue if we had the UISchema abstraction, see T370534: Decision on how UI schema abstraction should work.

Change #1055868 merged by jenkins-bot:

[mediawiki/extensions/CommunityConfiguration@master] HACK: add option to checked-disable checkboxes

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

Change #1055869 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] HACK: show structured link task as disabled if frontend flag is true

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

Change #1055995 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/CommunityConfiguration@wmf/1.43.0-wmf.14] HACK: add option to checked-disable checkboxes

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

Change #1055997 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@wmf/1.43.0-wmf.14] HACK: show structured link task as disabled if frontend flag is true

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

Change #1055995 merged by jenkins-bot:

[mediawiki/extensions/CommunityConfiguration@wmf/1.43.0-wmf.14] HACK: add option to checked-disable checkboxes

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

Change #1055997 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.43.0-wmf.14] HACK: show structured link task as disabled if frontend flag is true

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

Mentioned in SAL (#wikimedia-operations) [2024-07-22T20:40:45Z] <catrope@deploy1002> Started scap sync-world: Backport for [[gerrit:1055995|HACK: add option to checked-disable checkboxes (T370611)]], [[gerrit:1055997|HACK: show structured link task as disabled if frontend flag is true (T370611)]]

Mentioned in SAL (#wikimedia-operations) [2024-07-22T20:43:00Z] <catrope@deploy1002> catrope, migr: Backport for [[gerrit:1055995|HACK: add option to checked-disable checkboxes (T370611)]], [[gerrit:1055997|HACK: show structured link task as disabled if frontend flag is true (T370611)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-07-22T20:49:13Z] <catrope@deploy1002> Finished scap: Backport for [[gerrit:1055995|HACK: add option to checked-disable checkboxes (T370611)]], [[gerrit:1055997|HACK: show structured link task as disabled if frontend flag is true (T370611)]] (duration: 08m 27s)

The fix has been deployed and can now be verified on English Wikipedia: https://en.wikipedia.org/wiki/Special:CommunityConfiguration/GrowthSuggestedEdits where the relevant section now looks like this:

image.png (495×689 px, 50 KB)

That means we can now think about how to do this properly and remove this hack.

KStoller-WMF set the point value for this task to 1.Jul 23 2024, 4:06 PM

Proposal for a long-term solution:

Urgent:

Somewhat less urgent:

KStoller-WMF lowered the priority of this task from High to Medium.Jul 24 2024, 9:14 PM

This task is currently blocked on having a maintenance script that would allow us to see the healthiness of the task pool even when Add Link task is turned off. This would be done once we complete T373176: fixLinkRecommendationData.php does not run when link-recommendation task type is disabled. Marking as Blocked.

This task is currently blocked on having a maintenance script that would allow us to see the healthiness of the task pool even when Add Link task is turned off. This would be done once we complete T373176: fixLinkRecommendationData.php does not run when link-recommendation task type is disabled. Marking as Blocked.

So, that would be a change to maintenance/listTaskCounts.php so that it also reports the available tasks for link-recommendations even if they are disabled in CommunityConfiguration?