Right now, the structured mentor list is using the legacy Community Configuration code (as one of the two parts of the extension). While it works, it duplicates virtually equal code in two places: MediaWiki-extensions-CommunityConfiguration and GrowthExperiments. To avoid doing that, we should switch to CommunityConfiguration for structured Mentor list as well.
Description
Details
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | None | T265163 Create a system to encode best practices into editing experiences | |||
| Open | None | T327563 Enable volunteers to configure Edit Check in ways that align with project policies and norms | |||
| Open | None | T327655 Epic: Migration of some GrowthExperiments features into MediaWiki core | |||
| Resolved | Urbanecm_WMF | T323811 [EPIC] Community configuration 2.0: Factor Community configuration out of GrowthExperiments | |||
| Resolved | DMburugu | T367429 [Epic] FY 2024-25 Growth Maintenance Work | |||
| In Progress | Sgs | T367574 [Epic] Remove code for Special:EditGrowthConfig | |||
| Resolved | Urbanecm_WMF | T367575 Structured Mentor list should load its data using the CommunityConfiguration extension | |||
| Resolved | Urbanecm_WMF | T368739 CommunityConfiguration: Allow client extensions to provide their own tag names | |||
| Resolved | BUG REPORT | Urbanecm_WMF | T368741 CommunityConfiguration's WikiPageStore does not support non-object input |
Event Timeline
I think we should start on this fairly soon (ideally before all-wikis deployment, although we can delay that if needed), so that we can verify the migrated structured mentorlist works more easily.
Change #1050621 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Prepare for CommunityConfiguration extension
Change #1050627 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Support CommunityConfiguration extension
This is now ready for feedback. It lacks the edit tag capability, which depends on T368739: CommunityConfiguration: Allow client extensions to provide their own tag names.
Change #1050638 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/CommunityConfiguration@master] WikiPageWriter: Do not use the clone keyword
Change #1051460 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Respect mentor list change tag with CommunityConfiguration
Change #1050638 merged by jenkins-bot:
[mediawiki/extensions/CommunityConfiguration@master] WikiPageWriter: Do not use the clone keyword
Change #1052143 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/GrowthExperiments@master] Validate mentor list using a JSON schema
Change #1052156 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/CommunityConfiguration@master] IConfigurationStore: Add support for writes without permissions
Change #1052156 merged by jenkins-bot:
[mediawiki/extensions/CommunityConfiguration@master] IConfigurationStore: Add support for writes without permissions
Change #1052939 had a related patch set uploaded (by Urbanecm; author: Urbanecm):
[mediawiki/extensions/CommunityConfiguration@master] Make it possible to skip permission checks from the provider level
Change #1050621 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Prepare for CommunityConfiguration extension
Change #1052939 merged by jenkins-bot:
[mediawiki/extensions/CommunityConfiguration@master] Make it possible to skip permission checks from the provider level
Change #1050627 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Support CommunityConfiguration extension
Change #1051460 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Mentor list: Respect mentor list change tag with CommunityConfiguration
Let's move this to Blocked for now. It seems to require some resolution to T369608: Create a reasonable solution for working with CommunityConfiguration data.
The main purpose of this task was to load the data via Community Configuration, so that the WikiPageConfig{Reader,Writer} classes can be removed. This has been fulfilled. The remaining portion is migrating the validator. To make things more clear, I split the validator issue into T386257: Replace CommunityStructuredMentorListValidator with a JSON schema validator. Resolving this one.
Change #1052143 abandoned by Urbanecm:
[mediawiki/extensions/GrowthExperiments@master] Validate mentor list using a JSON schema
Reason:
will replace with a different solution