Project Information
Name of tool/project: Campaigns Registration System
Project home page: https://meta.wikimedia.org/wiki/Campaigns/Foundation_Product_Team/Registration
Name of team requesting review: Campaigns
Primary contact: @ifried (also @ldelench_wmf @vyuen)
Target date for deployment: ~November 2022 for V1 (see feature explanation), January/February for V2
Link to code repository / patchset: N/A
Description of the tool/project: This is a follow-up review from T290248, so you can see that ticket for more general information about the project. This ticket is specifically about creating integration between the Programs and Events Dashboard and the event registration tool for the V1 release. See T302584 for the epic focused on this integration work.
Description of how the tool will be used at WMF:
Basic background on the Programs and Events Dashboard: The Programs and Events Dashboard is a tool which assists the management of wiki programs and events. It is maintained by Wiki Education, and its source code is hosted on github. You can find the tool at: https://outreachdashboard.wmflabs.org/ It is commonly used by many Wikimedia chapters, affiliates, and user groups for tracking contributions made by editors during events. Usernames are added to a Dashboard event (either by the organizer or participants themselves), and any contributions made by that user during the event period of time are counted as event contributions. A link to a Dashboard event is commonly displayed on event pages. For example, see this event page from Wikimedia NYC, which displays a link to their Dashboard event directly on the page.
For V1 of the event registration tool, the Campaigns team would like to create integration between the P&E Dashboard and the event registration tool. This way, organizers can save time and effort, since usernames of participants will be automatically added to the P&E Dashboard rather than needing to be manually added by the organizer or the participants themselves. This is how we propose it works:
Step 1: The organizer creates an event on the Dashboard. They do this via https://outreachdashboard.wmflabs.org/course_creator. The event can be public (i.e., viewable to everyone) or private (i.e., viewable to admins, facilitators -- who are the organizers of the event, and the participants of the event). You can see a screenshot example of the program creation process from the P&E Dashboard below:
Once the program has been created, it will have a URL and unique identifier. Here are some examples of public programs on the P&E Dashboard:
Step 2: Once the program has been created, the organizer can create a link between their event registration on the wiki and the Programs and Events Dashboard. To do this, they will insert either the full URL or the unique identifier (i.e., the part of the URL that is just, for example, "Wikimedia_Community_User_Group_Sudan/Sudan_Wiki_Challenge_-_October_(October)/home") in the event registration configuration process. You can see a screenshot example below. Note that this is an early prototype and we will be using different language than "Tracking tools":
The tool would then validate that the event is real and that the organizer (known as a 'facilitator') on the dashboard created it. If this was the case, integration would be established. Note that:
- Requests to the dashboard would only be sent from the PHP side, and never from the client-side. At least, this means we’re not sending IPs and UAs, and we don’t need any special-purpose proxy for that.
- The dependency on the dashboard is optional, and can be enabled/disabled by sysadmins via config.
Step 3: When a user chooses to register for an event that has the integration, they will be allowed to register publicly (i.e., their username will be displayed to everyone in the participant list) or privately (i.e., their username will only be displayed to organizers of the event. If they choose to register publicly, their username will be automatically pushed to the P&E Dashboard after registration. If they choose to register privately, their username will not be pushed to the P&E Dashboard after registration. When users first register, they will see this information and have the option to choose public or private registration before they complete event registration. The ticket to do this work is T319544. You can see a screenshot example from a prototype below:
Designs**
Public registration ON | Public registration OFF |
Step 4: The participant makes their choice, and the Programs and Events Dashboard is updated with the newest participant list (i.e., any new public participants are added).
Dependencies
Security, legal, Wiki Education
Has this project been reviewed before?
The general project has, but the P&E Dashboard integration, specifically, has not.
Working test environment
https://meta.wikimedia.beta.wmflabs.org/wiki/Special:EnableEventRegistration
Post-deployment
Campaigns, @ifried