Help:Extension:CampaignEvents/Testing instructions

Here are some of the pages that can be tested in the Campaign events extensions. Event links are generic - substitute in your event name, or the ID for your event into the URLs that are given. There is more information at the bottom of the this page about API, selenium, and pixel.

TODO: add video / gif of each functionality



First as an event organizer, create an event page and then enable event registration using the Event page and Enable event registration

https://test.wikipedia.org/wiki/Event:PutYourEventNameHere

Create new Event page: https://test.wikipedia.org/w/index.php?title=Event:PutYourEventNameHere&action=edit

Additional instructions below. I am adding these Special pages in the order that I deem them most important. So, citation needed!


Event page

edit

https://test.wikipedia.org/wiki/Event:PutYourEventNameHere

As an organizer and as a non-organizer, make sure that the "More details" dialog is working and that all the links are functioning correctly. As an organizer, there should be a "Manage event" button that brings you to Special:EventDetails. As a non-organizer, there should be a "Register for event" button in the same location.

After enabling registration, register at least ten participants to each event. Ten participants are needed for data to show up in response statistics after the event ends. There need to be five answers per question for numbers to appear (otherwise just a range will appear). It's good to register test users that have email addresses and can receive messages via the Message tab on Special:EventDetails. At Special:Preferences#mw-prefsection-personal, add an email address to a user, confirm it, and check "Allow others to email me".


Enable Event Registration

edit

https://test.wikipedia.org/wiki/Special:EnableEventRegistration

For the "Programs & Events Dashboard link": For test events in Prod, create a link at https://outreachdashboard.wmflabs.org/ and use that. Do this only once per wiki to avoid cluttering the dashboard with test data.

For the "Grant ID" field: Use test grant IDs: 2303-12157 or 2302-11864

Choose participant questions to include. For testing, I usually pick "Do you belong to any Wikimedia affiliates (chapters, user groups, thematic organizations)?" because it has only two answer options.


All events

edit

https://test.wikipedia.org/wiki/Special:AllEvents

Events tab – make sure all filters and search work Communities tab – check that the edit icon link works


Edit event registratation

edit

https://test.wikipedia.org/wiki/Special:EditEventRegistration/13 This should be largely the same template that you will see at Special:EnableEventRegistration. Organizers can edit choices made after enabling the event. Non-organizers should not have access.

This is primarily accessed through the Event page by clicking on the Manage event button.


Event details

edit

https://test.wikipedia.org/wiki/Special:EventDetails/13

Event tab – Available to all users

Participants tab – Visible to all users for viewing and searching publicly registered participants. Organizers can also delete and message participants. Organizers see private registrations, non-organizers do not.

Messaging tab – Visible only to organizers. Allows sending email to participants with confirmed addresses who also allow messages to be sent to them. Should not appear for non-organizers.

Response statistics tab – Visible only to organizers and only after registration ends and data aggregates. To test: register 10 users, then set the event date in the past using Special:EditEventRegistration/{id}. Wait a few hours (for a cron job to run to compile) for the data to show up.


My Events

edit

https://test.wikipedia.org/wiki/Special:MyEvents As an organizer, view a global list of wikis you organize events on. You can search for events. Use the ellipsis menu to edit, view, or delete events. Use the filter menu to select status or number of events per page.


Generate invitation list

edit

This is a feature to get a list of top editors on a topic so that they can be invited to a future event or editathon. Here are some instructions to create a list for testing.

https://test.wikipedia.org/wiki/Special:GenerateInvitationList If invitation lists are enabled: Use https://test.wikipedia.org/w/index.php?title=Special:MostRevisions&limit=300 to get the top 300 most revised articles. Clean the data so it's a list of article names, one per line. 300 is the max number allowed. If any articles can't be found, remove them and resubmit.


My invitation lists

edit

https://test.wikipedia.org/wiki/Special:MyInvitationLists As an organizer, you can view your generated invitation lists.

https://test.wikipedia.org/wiki/Special:InvitationList/13 As an organizer, you can view an individual invitation list and invite users to events.


Register for event

edit

https://test.wikipedia.org/wiki/Special:RegisterForEvent/13

No javascript fallback where users can register for the event. Registration will primarily happen on the Event page (Event:YourEventName)


Cancel event registration

edit

https://test.wikipedia.org/wiki/Special:CancelEventRegistration/13 As organizer or non-organizer, this cancels your registration for the event. Canceling your registration for an even will primarily happn on the Event page (Event:YourEventName) when you are logged in as a non-organizer for that event.


Delete event registration

edit

https://test.wikipedia.org/wiki/Special:DeleteEventRegistration/13 As an organizer, this deletes the event registration and all related data. It can't be reenabled after deletion. Non-organizers should not have access.

This feature however is primarily accessed through Special:MyEvents, in a dropdown for each event.


Things to keep an eye on always

edit

There are certain things that, over time I have learned to pay extra attention to. Emailing a user (Special:EventDetails message tab), Program and Events dashboard integration, and noting that event invitations (Special:GenerateInvitationList) work only with articles in the main namespace are a few that come to mind immediately. Citation needed!


Other functionality

edit

We can embed either the events tab or the communities tab from Special:AllEvents in any wiki page now!

{{Special:AllEvents|tab=communities|limit=50|}}

To embed the event list on a page:

{{Special:AllEvents |wpSearch=T381426 |wpFilterTopics=fashion,tv-and-film,technology |wpOpenSections=upcoming,ongoing |wpFilterWikis=enwiki}}


API docs

https://www.mediawiki.org/wiki/Extension:CampaignEvents/Api


Pixel

edit

Pixel visual regression tests

https://pixel-clean.wmcloud.org/campaign-events/

And tests need added or fixed that can be done here:

https://gitlab.wikimedia.org/repos/test-platform/pixel


Selenium

edit

Selenium daily tests against betacluster

https://integration.wikimedia.org/ci/job/selenium-daily-beta-CampaignEvents/

Superset data

edit

Lots of metrics for event data

https://superset.wikimedia.org/superset/dashboard/fea20d2b-bb32-46fa-8221-f6ed2437d1e8/


Escaped defects

edit

Bugs reported in prod in the past week

https://phabricator.wikimedia.org/maniphest/query/k2XDu.rdZCU3/#R

Phabricator board

edit

Check the QA column. If there are questions for dev, send it to QA / Dev Input. If there are UI / UX elements, send it to Design sign-off. Otherwise if it's done send it to Product sign-off and owner of Product sign-off column will mark it as done. If it's a small bug fix, sometimes I'll just mark it as done / resolved, but most of the time I'll move it along in the board for visibility.

https://phabricator.wikimedia.org/project/board/6076/