Page MenuHomePhabricator

Nominate featured collection
Closed, ResolvedPublic4 Estimated Story Points

Description

Context

As a community member or admin
I want to set the communities nominated page collection
so it receives proper emphasis on the Content Translation dashboard

Communities can only nominate 1 collection at a time.

Solution

Community Configuration

image.png (1×2 px, 235 KB)

Since local customization is not available when current wiki != target language. We'll could expose the featured collections through a MW API. CC doesn't have an API.

See example: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/1193885

Other considerations

It is possible that communities will want to include text and or metadata with their featured collections.


Derived Requirement

Allow a community to nominate exactly one featured collection for a target language so it can be emphasized on the Content Translation dashboard.
The nominated collection must be configurable via Community Configuration and exposed through a MediaWiki API so it can be consumed cross-wiki when the current wiki differs from the target language.
The system must enforce a single active nomination at any time and support future extensibility for optional descriptive text or metadata associated with the nominated collection.

Test Steps

Test Case 1: Verify a community can nominate a single featured collection

Preconditions:

  • User has appropriate permissions to edit Community Configuration for the target language.
  1. Navigate to the Community Configuration interface for featured collections.
  2. Select a collection to nominate as the featured collection.
  3. Save the configuration.
  4. ✅❓❌⬜ AC1: Confirm exactly one collection is marked as nominated and saved successfully.

Test Case 2: Verify only one featured collection can be nominated at a time

  1. In Community Configuration, attempt to nominate a second collection while one is already nominated.
  2. Save the configuration.
  3. ✅❓❌⬜ AC2: Confirm the system enforces a single nomination (either by replacing the existing nomination or preventing multiple selections).

Test Case 3: Verify nominated collection is exposed via MediaWiki API

  1. Make an API request that retrieves the featured collection for a given target language.
  2. Inspect the API response.
  3. ✅❓❌⬜ AC3: Confirm the response includes the nominated collection and accurately reflects the Community Configuration setting.

Test Case 4: Verify cross-wiki access to nominated collection

  1. Open the Content Translation dashboard on a wiki that is not the target language wiki.
  2. Set a translation pair whose target language has a nominated featured collection.
  3. Observe the featured collection data used by the dashboard.
  4. ✅❓❌⬜ AC4: Confirm the nominated collection is retrieved via the API and used correctly despite being on a different wiki.

QA Results - TestWiki

Event Timeline

SBisson moved this task from Backlog to Incoming on the LPL Hypothesis board.
Nikerabbit moved this task from Needs Triage to Dashboard on the ContentTranslation board.
SBisson renamed this task from Nominate featured collection(s) to Nominate featured collection.Nov 3 2025, 4:01 PM
SBisson updated the task description. (Show Details)
SBisson moved this task from Incoming to Prioritized on the LPL Hypothesis board.
eamedina changed the task status from Open to In Progress.Nov 4 2025, 3:14 PM
eamedina claimed this task.
eamedina moved this task from Prioritized to In-progress on the LPL Hypothesis board.

Change #1202215 had a related patch set uploaded (by Eamedina; author: Eamedina):

[mediawiki/extensions/ContentTranslation@master] CX: add backend support to nominate a featured collection via CommunityConfiguration

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

Mentioned in SAL (#wikimedia-releng) [2025-11-07T21:17:04Z] <James_F> Zuul: […/ContentTranslation] Add CommunityConfiguration phan dependency, for T408625

Change #1202215 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX: Nominate a featured collection via CommunityConfiguration

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

eamedina set the point value for this task to 4.Nov 12 2025, 2:35 PM

@eamedina Confirmed Nominate featured collection, as seen in videos below. I will mark this as Resolved. Thanks for all your work!

Test Result - TestWiki

Status: ✅ PASS
Environment: TestWiki
OS: macOS Tahoe 26.1
Browser: Chrome 143
Device: MBA
Emulated Device: NA

Test Artifact(s):

Test Steps

Test Case 1: Verify a community can nominate a single featured collection

Preconditions:

  • User has appropriate permissions to edit Community Configuration for the target language.
  1. Navigate to the Community Configuration interface for featured collections.
  2. Select a collection to nominate as the featured collection.
  3. Save the configuration.
  4. ✅ AC1: Confirm exactly one collection is marked as nominated and saved successfully.
DesktopMobile

Test Case 2: Verify only one featured collection can be nominated at a time

  1. In Community Configuration, attempt to nominate a second collection while one is already nominated.
  2. Save the configuration.
  3. ✅ AC2: Confirm the system enforces a single nomination (either by replacing the existing nomination or preventing multiple selections).

Test Case 3: Verify nominated collection is exposed via MediaWiki API

  1. Make an API request that retrieves the featured collection for a given target language.
  2. Inspect the API response.
  3. ✅ AC3: Confirm the response includes the nominated collection and accurately reflects the Community Configuration setting.

2025-12-17_13-22-54.png (1×1 px, 357 KB)

Test Case 4: Verify cross-wiki access to nominated collection

  1. Open the Content Translation dashboard on a wiki that is not the target language wiki.
  2. Set a translation pair whose target language has a nominated featured collection.
  3. Observe the featured collection data used by the dashboard.
  4. ✅ AC4: Confirm the nominated collection is retrieved via the API and used correctly despite being on a different wiki.

GMikesell-WMF updated Other Assignee, removed: GMikesell-WMF.
GMikesell-WMF updated the task description. (Show Details)