In fiscal Q4 2019-2020 the Product Infrastructure team plans to build the basic infrastructure for push notifications for the Wikimedia product platforms (iOS, Android, and web). The initial focus of the project will be on providing push notifications for the apps.
We are submitting this request now to provide early notice of our need for security review support next quarter. This task will be updated as work progresses. An RFC document is also under construction and will be linked here shortly.
NOTE: The #Security-Team will strive to set an Estimated Start date after submission
**Project Information **
* Name of tool/project: mediawiki/extensions/PushNotifications
* Project home page:
* Name of team requesting review: Product Infrastructure
* Primary contact: Michael Holloway
* Target date for deployment: June 30, 2020
* Link to code repository / patchset:
**Description of the tool/project: **
The scope of work will tentatively consist of the following:
# A new Echo notifier type to direct Echo events to be handled via push notification.
# A new PushNotifications MW extension to manage push notification subscriptions, receive notification requests, and submit job queue jobs to make requests to push vendor APIs; and
# Creation of a new Change Propagation processing unit to handle job queue push notification request jobs.
We would appreciate security review support for (2). I don't believe that (1) or (3) will require any special security review.
**Description of how the tool will be used at WMF:**
This will be used to send push notifications to web and native app users of the Wikimedia projects.
**Dependencies**
Web push support will depend on the [[ https://github.com/web-push-libs/web-push-php | web-push ]] library. Security review for this library is requested separately in T246714.
**Has this project been reviewed before?**
No
**Working test environment**
>Please link or describe setup process for setting up a test environment.
**Post-deployment**
The PushNotifications extension will be maintained primarily by the Product Infrastructure team.