In working on T406286: Introduce a subscribable "Updates" section to wishes, I realized for automatic updates, we're effectively doing the same thing that MediaWiki's built-in logging system does. So we might as well make use of it.
This would be great for monitoring meaningful changes to the Wishlist as a whole. All wish/FA creations, status changes, and focus area assignments will be viewable in one place.
In addition, the team has said we'd like to track how long it takes on average for wishes to go from "Under review" (when first created) to a traiged status. Having this data in the logging table would make it possible to query for this.
Acceptance criteria
- See https://www.mediawiki.org/wiki/Help:Log for general information on logging
- There should be a new log type at Special:Log called "Community Wishlist log" (short link Special:Log/communityrequests)
- There should be five "action" types that get logged:
- Wish creation
- Wish status change
- Wish focus area change
- Focus area creation
- Focus area status change
- Links to wishes and focus areas in the log entry should include the entity title with the page title in parentheses
Derived Requirements
- The system must introduce a new MediaWiki log type named Community Wishlist log, accessible via Special:Log/communityrequests, and visible in the general Special:Log interface.
- The Community Wishlist log must record meaningful lifecycle events for wishlist entities to support monitoring and analytics across wishes and focus areas.
- The system must log the following five action types under the Community Wishlist log:
- Wish creation
- Wish status change
- Wish focus area change
- Focus area creation
- Focus area status change
- Each log entry must include a link to the affected wish or focus area, displaying the entity title followed by the page title in parentheses.
- Logged data must be sufficient to support time-based analysis, including measuring the duration between wish creation (initial “Under review” status) and subsequent triaged status changes.
- Logging behavior must align with MediaWiki’s standard logging framework and conventions as documented in Help:Log.
Test Steps
Test Case 1: Community Wishlist Log Availability and Visibility
Preconditions
- Tester has permission to view Special pages.
- Navigate to Special:Log.
- Review the list of available log types.
- Navigate directly to Special:Log/communityrequests.
- ✅❓❌⬜ AC1: Verify that a log type named Community Wishlist log is available in Special:Log and that Special:Log/communityrequests loads successfully and displays log entries (if any).
Test Case 2: Logging of Wish Creation and Initial Status
Preconditions
- Tester has permission to create wishes.
- Create a new wish via the Community Wishlist interface.
- Note the initial status assigned at creation (e.g., “Under review”).
- Navigate to Special:Log/communityrequests.
- Locate the most recent log entry.
- ✅❓❌⬜ AC2: Verify that a log entry exists for Wish creation, includes a link to the wish, and displays the entity title with the page title in parentheses.
Test Case 3: Logging of Wish Status and Focus Area Changes
Preconditions
- An existing wish is available.
- Change the status of the wish to another valid status.
- Assign the wish to a different focus area.
- Navigate to Special:Log/communityrequests.
- Identify the relevant log entries.
- ✅❓❌⬜ AC3: Verify that separate log entries are created for Wish status change and Wish focus area change, and that each entry correctly links to the wish with the required title format.
Test Case 4: Logging of Focus Area Creation and Status Changes
Preconditions
- Tester has permission to manage focus areas.
- Create a new focus area.
- Change the status of the newly created focus area.
- Navigate to Special:Log/communityrequests.
- Locate the corresponding log entries.
- ✅❓❌⬜ AC4: Verify that log entries are created for Focus area creation and Focus area status change, each linking to the focus area with the entity title and page title in parentheses.
Test Case 5: Log Data Supports Time-to-Triage Analysis
Preconditions
- At least one wish has progressed from “Under review” to a triaged status.
- Identify a wish with logged creation and subsequent status change entries.
- Review timestamps for the Wish creation and Wish status change log entries.
- Compare timestamps to ensure duration can be derived.
- ✅❓❌⬜ AC5: Verify that log entries contain accurate timestamps and action data sufficient to calculate the time elapsed between initial creation (“Under review”) and a triaged status change.
QA Results - Meta Beta
| AC | Status | Details |
|---|---|---|
| 1 | ✅ | T410810#11501203 |
| 2 | ✅ | T410810#11501203 |
| 3 | ✅ | T410810#11501203 |
| 4 | ✅ | T410810#11501203 |
| 5 | ✅ | T410810#11501203 |

