Page MenuHomePhabricator

Allow user to include/exclude 'all wikis' in Collaboration List
Closed, ResolvedPublic2 Estimated Story Points

Description

NOTE: This ticket should be worked on after the transcludable collaboration work epic is complete. It is the next highest priority.
User stories:

As a user of the Collaboration List on Special:AllEvents, I want to be able to find events that are only for specific wiki(s) (and not all wikis), so that I can find events that are most likely to be related to my wiki of interest.

As an editor who wants to add a transcluded version of the Collaboration List to a wiki page, I want to add events that are only for specific wiki(s) - rather than also 'all wikis' - since many events for 'all wikis' may not be of interest to the people who visit the page that I will be modifying, but they may be interested in events that are for the wiki that the page is on.

Background:

When an organizer configures registration for an event page, they have the option to state if the event is for all wikis, no wikis, or specific wikis. The 'all wikis' label is something we envisioned as a team, since some events do have a broad global call to action, and we imagined that organizers did want to signal that broad call to editors. This hunch turned out to be correct, and many organizers do indeed choose 'all wikis.' However, one problem with this is that, when someone goes on the Collaboration List and then looks for events for a specific wiki (such as 'English Wikipedia'), we show them events that are both specifically for English Wikipedia (because an organizer picked EN wiki as a target wiki) and for 'all wikis.' For some users, I think it is fun and useful to see the full extent of events that they can potentially participate in, as an English Wikipedian, even if some are not strictly for English Wikipedia. However, for other users, I think this is less helpful. They may just want to find events that specifically apply to a certain wiki. It may come down to personal preferences, interest in other wikis/communities, and experience level.

This is especially true for our current project in the works (T385347), which allows someone to transclude the Collaboration List onto a wiki page. The most common use cases we anticipate are people adding a version of the Collaboration List (perhaps filtered by specific topics and wikis) to: WikiProject pages, wiki homepages, affiliate pages, and event pages. In all of these cases, the person who transcludes the page may want to exclude the 'all wikis' events, since they may seem too broad-reaching to be applicable to a certain page or context.

For these reasons, we want to create an option to include/exclude 'all wikis' when someone is filtering for events by wiki on Special:AllEvents. In this way, the same search filter could be applied to the transcluded version of the Collaboration List on other pages.

Acceptance Criteria:
  • Given that a user is on Special:AllEvents,
    • They should see a checkbox below Wikis with the label "Include events open to all wikis"
      • Which is a standalone field
      • And the box should be checked by default
      • And if it is checked,
        • The search results should include events open to all wikis
      • And if it is not checked,
        • The search results should exclude events open to all wikis
Visual example of change:

Note: It is a standalone field

See design ticket details: T389637

image.png (740ร—1 px, 76 KB)

Event Timeline

Restricted Application added a subscriber: Aklapper. ยท View Herald TranscriptMar 31 2025, 8:53 PM

Change #1134254 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/CampaignEvents@master] EventsListPager: add filter to exclude events that target all wikis

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

Change #1134256 had a related patch set uploaded (by Daimona Eaytoy; author: Daimona Eaytoy):

[mediawiki/extensions/CampaignEvents@master] SpecialAllEvents: add checkbox to exclude events targeting all wikis

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

Checkboxes that are checked by default need to be handled with care due to how the value is submitted. My patch does that for the special page itself, but it will need special care when the page is transcluded (for example, use getBool instead of getCheck). So, if we want it to be checked by default, it'll need special treatment when allowing transclusion (T388385).

Change #1134254 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] EventsListPager: add filter to exclude events that target all wikis

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

Change #1134256 merged by jenkins-bot:

[mediawiki/extensions/CampaignEvents@master] SpecialAllEvents: add checkbox to exclude events targeting all wikis

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

vaughnwalters subscribed.
Acceptance Criteria:
  • Given that a user is on Special:AllEvents,
    • โœ… They should see a checkbox below Wikis with the label "Include events open to all wikis"

Screenshot 2025-04-25 at 4.19.48โ€ฏPM.png (90ร—558 px, 12 KB)

  • โœ… Which is a standalone field
  • โœ… And the box should be checked by default
  • And if it is checked,
    • โœ… The search results should include events open to all wikis
  • And if it is not checked,
    • โœ… The search results should exclude events open to all wikis

All AC is met, but I do have a question - if I create an event and select "No specific wikis" it will still display when "Include events open to all wikis" button is checked in Special:AllEvents. Should these events be excluded when the "Include events open to all wikis" box is checked? It seems that if the organizer wanted that to be included in the Yes (open to all wikis) they would have selected that option when enabling the event?

Screen Recording 2025-04-25 at 4.30.37โ€ฏPM.gif (1ร—1 px, 3 MB)

All AC is met, but I do have a question - if I create an event and select "No specific wikis" it will still display when "Include events open to all wikis" button is checked in Special:AllEvents. Should these events be excluded when the "Include events open to all wikis" box is checked? It seems that if the organizer wanted that to be included in the Yes (open to all wikis) they would have selected that option when enabling the event?

I think the current behaviour makes sense. Given its wording, the checkbox only controls visibility of events that are open to all wikis; events that are not open to all wikis (which includes events that don't target any wikis) are unaffected.

All AC is met, but I do have a question - if I create an event and select "No specific wikis" it will still display when "Include events open to all wikis" button is checked in Special:AllEvents. Should these events be excluded when the "Include events open to all wikis" box is checked? It seems that if the organizer wanted that to be included in the Yes (open to all wikis) they would have selected that option when enabling the event?

I think the current behaviour makes sense. Given its wording, the checkbox only controls visibility of events that are open to all wikis; events that are not open to all wikis (which includes events that don't target any wikis) are unaffected.

Okay I see what you're saying. Sending this over to @ifried for sign off, and also in case you have any thoughts on this.

This has been released, and it is working as expected.

All AC is met, but I do have a question - if I create an event and select "No specific wikis" it will still display when "Include events open to all wikis" button is checked in Special:AllEvents. Should these events be excluded when the "Include events open to all wikis" box is checked? It seems that if the organizer wanted that to be included in the Yes (open to all wikis) they would have selected that option when enabling the event?

I think the current behaviour makes sense. Given its wording, the checkbox only controls visibility of events that are open to all wikis; events that are not open to all wikis (which includes events that don't target any wikis) are unaffected.

Okay I see what you're saying. Sending this over to @ifried for sign off, and also in case you have any thoughts on this.

As for the question shared above, it's tricky! I could see an argument for both excluding and including, but I think including is a bit better since events marked for 'no wikis' would be excluded from searches entirely then, I think. We can see if people voice confusion/concern, but I think we can leave as is for now, since the goal of the Collaboration List overall is to make events more discoverable, so inclusion would be more strategically aligned with the overall goals.