Page MenuHomePhabricator

Disable task type X for a user when the configured threshold is reached
Closed, ResolvedPublic5 Estimated Story Points

Description

We want to introduce a new config option for the Add a link task to allow communities to set a threshold number of edits for users to stop receiving the Add a link task, eg: after 100/200 edits.

Design:
Arc 2025-06-11 12.37.30.png (1×750 px, 193 KB)
Disabled state section in dialog

Complete design:

Acceptance Criteria:
  • A new integer config option is added to the Add a Link task in the suggested edits config schema
  • When a user is above the configured threshold, the task should be disabled on the homepage.
  • On the hompage, the disabled task is signified by an unchecked and disabled checkbox
  • If the user did not have any tasks besides the starter task selected, then autoselect the next task that is available: so there is always something selected.
    • note on implementation: we will use the next suggested task the “Leveling up” manager proposes for the try next suggested task dialog. That is because “Leveling up” takes in account the suggested edits a newcomer has made before suggesting (avoids suggesting tasks the user has already completed several times). And also it takes in account the availability of those tasks in a given wiki at the time of suggesting (avoiding, if possible, to suggest a next task for which the user filter results in 0 tasks).
Questions
  • Should this config option apply to all structured tasks?
    • only add-a-link structure task given that the community config newly added setting
  • What happens if the add-a-link task was the only one they had enabled?
    • enable the tasks of the next available task (or difficulty-level)
  • Clarify the enabled/disabled state of the checkbox
    • unchecked and disabled

Related Objects

Event Timeline

Should this config option apply to all structured tasks?

No

To all "Starter" group tasks?

Yes.

This config option should apply to ONLY the "Add a Link" Structured Task, which will be the ONLY Starter group task.
Note that this Starter section should only display if a Community has the Add a link (Structured task) enabled.

That being said, part of the appeal of creating a new task "difficulty level" is that we can disable that section in a clear way, rather than attempting to disable just one of the Easy tasks.

In other words, I would suggest that if we were ever to add another "Starter" task, that it should follow the same Community Configuration limit.

Michael updated the task description. (Show Details)

What happens if the starter task was the only one they had enabled?

Autoselect the next task range (that is available): so there is always something selected.

So selecting ALL easy tasks if there is at least one easy task available. If all easy tasks are disabled, then select ALL medium tasks.

Clarify the enabled/disabled state of the checkbox

after task refinement with @Michael and @KStoller-WMF we decided to uncheck the checkbox before setting its state to inactive.

Arc 2025-05-12 18.04.04.png (1×750 px, 188 KB)

KStoller-WMF moved this task from Backlog to Up Next (estimated tasks) on the Growth-Team board.
KStoller-WMF set the point value for this task to 5.

we decided to uncheck the checkbox before setting its state to inactive.

Here's my attempt to follow the team norm of documenting reasoning in phab:

A disabled checkbox that remains checked could imply the task is still enabled but not editable, which may lead to misunderstandings. By unchecking the checkbox we make it very clear that the task is no longer available.

Change #1148269 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] [WIP] Config(AddLink): add a maximum number for task to be disabled

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

Sgs updated Other Assignee, added: Sgs.
Sgs moved this task from Incoming to Doing on the Growth-Team (Current Sprint) board.

What would be some sensible bounds for the maximum number for task to be disabled, so far we're setting a minimum of 10 and a max of 300. Does this sound ok? @KStoller-WMF @Trizek-WMF

Change #1149379 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] [PoC] feat(AddLink): show task as unavailable when user editcount reaches max

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

What would be some sensible bounds for the maximum number for task to be disabled, so far we're setting a minimum of 10 and a max of 300. Does this sound ok? @KStoller-WMF @Trizek-WMF

Oh, interesting. I was thinking there wasn't going to be a max, but if this is needed for technical reasons, I have a slight preference for setting it a little higher. 500 would match the edit count definition of "Experienced users" from Recent Changes filters:

Screenshot 2025-05-22 at 1.53.03 PM.png (632×1 px, 105 KB)

Change #1148269 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] Config(AddLink): add a maximum number for task to be disabled

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

Change #1151244 had a related patch set uploaded (by Cyndywikime; author: Cyndywikime):

[operations/mediawiki-config@master] Config: Enable starter difficulty for newcomer tasks

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

Change #1152655 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] Config: use string enum maximumEditsTaskIsAvailable

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

Change #1154280 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] LinkRecommendationTaskType: add maximumEditsTaskIsAvailable setting

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

Sgs updated Other Assignee, removed: Sgs.
Sgs added a subscriber: Cyndymediawiksim.

Change #1154282 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[operations/mediawiki-config@master] [beta] GrowthExperiments: enable limiting add a link task via config

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

Change #1154280 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] LinkRecommendationTaskType: add maximumEditsTaskIsAvailable setting

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

I'm arriving a bit late with my questions, sorry.

  • Is this max number a default number set for all Add a link tasks in the wikiverse?
  • Is this value community configurable?
  • if so, can we not set a number, but offer that option to communities? The rationale is that some wikis are happy with Add a link and they should not get a drop caused by some other wikis' legit but local decisions.

@Trizek-WMF this task should answer your questions: T395383: Community Configuration: Restrict "Add a link" suggested tasks based on newcomer total edit count
TL;DR: we are moving forward with what you are suggesting: the default will be NO change, and communities can set the limit via community configuration.

Change #1151244 abandoned by Cyndywikime:

[operations/mediawiki-config@master] Growth-Beta: Enable starter difficulty for newcomer tasks

Reason:

Done in https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1154282

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

Change #1154282 merged by jenkins-bot:

[operations/mediawiki-config@master] [beta] GrowthExperiments: enable limiting add a link task via config

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

Change #1149379 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] feat(AddLink): show task as unavailable when user editcount reaches max

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

Checked on eswiki beta

  • works as per the specs

@Sgs, @AAlhazwani-WMF - there are some discrepancies between figma design and the implementation

  • the checkbox is greyed and filled in vs just being outlined as per the figma design
  • no explanation to a user
figmaeswiki beta
Screenshot 2025-06-10 at 6.28.38 PM.png (1×814 px, 277 KB)
Screenshot 2025-06-10 at 3.46.32 PM.png (1×1 px, 199 KB)

Notes:

  • the level popup appears when a user is on the SE tasks but no Add link task are available due to CommunityConfiguration Add link restrictinos. The Level up text makes total sense in this case:

Screenshot 2025-06-10 at 6.16.07 PM.png (1×1 px, 293 KB)

  • the edit count is a total count, not only article edits - that's not changed; both Impact module and Contributions display the user_editcount from db
  • resetting in Preferences Homepage setting will correct bring user back to how task options look before re-setting.

Checked on eswiki beta

  • works as per the specs

@Sgs, @AAlhazwani-WMF - there are some discrepancies between figma design and the implementation

  • the checkbox is greyed and filled in vs just being outlined as per the figma design

that's my bad. i detached the component in figma, and i didn't properly check the disabled state of the codex checkbox. lemme update the screenshots.

image.png (916×1 px, 109 KB)

  • no explanation to a user

if i'm not mistaken T393920 will address this.

@Sgs, @AAlhazwani-WMF - there are some discrepancies between figma design and the implementation

  • the checkbox is greyed and filled in vs just being outlined as per the figma design

that's my bad. i detached the component in figma, and i didn't properly check the disabled state of the codex checkbox. lemme update the screenshots.

The suggested edits module is built with OOUI not Codex so expectations should be accordingly

if i'm not mistaken T393920 will address this.

Correct

Change #1161451 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] fix: amend wrong message keys after enum values changed

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

Change #1161451 abandoned by Sergio Gimeno:

[mediawiki/extensions/GrowthExperiments@master] fix: amend wrong message keys after enum values changed

Reason:

Done in I6c49f9c415c6a8eb91c9bd61d95e1184393709d1

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

Mentioned in SAL (#wikimedia-operations) [2025-06-23T16:44:37Z] <sergi0> sgimeno@deploy1003 run foreachwikiindblist growthexperiments CommunityConfiguration:setVersionData GrowthSuggestedEdits 1.0.0T393769

Change #1163809 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] fix(StartEditing): avoid showing unavailable tasks as selected

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

I also run foreachwikiindblist growthexperiments CommunityConfiguration:migrateConfig GrowthSuggestedEdits on Monday 23rd and forgot log.

Checked on testwiki wmf.8 - no issues found.

Change #1163809 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] fix(StartEditing): avoid showing unavailable tasks as selected

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