User story:
As an event organizer and/or participant, I want to see what everyone did during an event so that I can understand the overall output and impact.
Background information
We will be adding a new tab to EventDetails, which will be called "Contributions." For the MVP, it will have 2 sections: a table view and a summary view. This ticket represents the work to add the table view. The summary view is in a separate ticket: T402211.
The table view is sort of like a basic activity feed, in which users can see what contributions people made during an event. It is meant to give a complete picture and focus on the contributions rather than who did the "best" (i.e., it is not a leaderboard, though we may create a separate leaderboard view after we release the MVP).
This tab will be visible to everyone. However, the contributions made by private participants will only be shared with those who are allowed to see them. The contributions made by public participants will be displayed to everyone.
More notes:
- The Contributions tab must always be visible, regardless of whether the event has associated edits or not.
- We will always load the data, regardless of whether the user clicks the Contributions tab or not.
- We will represent bytes as one number for the MVP. So, for example, if someone removed 1000 bytes and added 100 bytes, we will show that they removed 900 bytes.
- Characters are out of scope for the MVP.
Acceptance criteria:
- Given that a user is on EventDetails,
- They should be able to see a new tab with the name "Contributions."
- Given that a user is viewing the Contributions tab,
- And there is contribution data associated with the event,
- They should see a table with contribution data in the tab.
- And there is contribution data associated with the event,
- Given the user can see private participants for the event (e.g., they are an organizer or admin)
- Then they should see edits for each participant who has them
- Given the user cannot see private participants for the event
- Then they should see edits for public participants only, and also for themself (regardless of whether they registered privately)
- Given that they are viewing the contributions table,
- Then each row should display the following fields:
- Article edited (with link to article page)
- Wiki
- Username
- Timestamp (with link to the diff)
- Bytes
- Then each row should display the following fields:
- Given that a user is viewing an article listed in the table,
- And the article was created during the event,
- Then cdxIconArticleAdd icon should appear next to the article name
- And when hovered, a tooltip should appear with the text: “This article was created during the event”
- Then cdxIconArticleAdd icon should appear next to the article name
- And the article was created during the event,
- Given that a user is viewing the "Article edited" column,
- Then each article title should link to that article's page
- Given that a user is viewing the "Wiki" column,
- Then the content should be the localised name of the wiki (e.g., "Spanish Wiktionary") if available, and the wiki ID (e.g., "eswiktionary") otherwise, for example locally
- Given that a user is viewing the "Timestamp" column,
- Then each timestamp should link to the diff of that specific edit
- Given that a user is viewing the contributions table,
- Then all columns should be sortable
- And the default sorting should be by timestamp
- And for non-unique values (such as usernames and articles), the timestamp is also used as secondary sort key
- Given that a user is viewing the contributions table,
- Then pagination should be available at the bottom of the table allowing navigation between pages
- Given the event has no entries in ce_event_edit_association
- When the user opens the "Collaboration" tab on the Special:EventDetails page
- Then the summary is shown with all values set to 0
- When the user opens the "Collaboration" tab on the Special:EventDetails page
- Given the user visits the Special:EventDetails page
- When the "Collaboration" tab is not yet clicked
- Then no query is made to fetch edit association data
- When the "Collaboration" tab is not yet clicked
Design
Desktop:
Mobile:
Make the cards in the summary scrollable horizontally. The table should also be scrollable horizontally per the component's breakpoint for mobile.









