Why are we doing this?
We want to ensure that we have a way of handling notifications that are new or are outside of the current scope of the project.
Relevant links
https://www.mediawiki.org/wiki/Notifications/Design_guide
https://www.mediawiki.org/wiki/Help:Notifications/Document_a_new_notification_type
https://www.mediawiki.org/wiki/Extension:Echo/Creating_a_new_notification_type
https://www.mediawiki.org/wiki/Notifications/Developer_guide
Required fields
- Project: Associated project (Wiki, Commons, etc)
- ID: ???
- Type: The name of the event, the key we used to define the event by adding it to &$notifications in the BeforeCreateEchoEvent hook
- Category: The category this event belongs to. This is important for displaying in the Special:Preferences page
- Section: Defines the section this notification belongs to. There are two types, Alerts and Notices. Alerts are for urgent notifications that should be dealt with promptly, e.g. a post on the user's talk page. Notices are for notifications that do not have to be dealt with promptly, e.g. a thank. For Alerts, put 'alert'. For Notices, put 'message'
- Timestamp: The timestamp reflects the time the notification was generated.
- Header: Primary message content (eg. Username replied in "Topicname")
- Primary link (not always guaranteed): Main link related to the notification
Questions
- What is ID? How does 'ID' manifest in a currently available notification?
- Are icons determined by category or type?
Proposed designs
| Lock screen | Long press | In-app notification |
|---|---|---|
| Element | Suggestion | Fall back |
|---|---|---|
| Icon + icon color | Use icon and color associated with [TYPE] or [CATEGORY] | Blue background with SF symbols 'bell.fill' in the theme's 'paper' hex |
| First line of notification | [NAME] | Alert from [PROJECT |
| Second line of notification | [HEADER] | None |
| Blue link below | SF symbol 'link' + [PRIMARY LINK] | Leave blank (do not show an associated icon) |
Dependencies
https://phabricator.wikimedia.org/T287310
https://phabricator.wikimedia.org/T288662
https://phabricator.wikimedia.org/T288670
https://phabricator.wikimedia.org/T288687
https://phabricator.wikimedia.org/T288658
Notes for QA
The most up-to-date mocks we have for this work is under the "No type ID" screen, located in the Figma here - https://www.figma.com/file/cedgOU5CyOR0UVqtjDOvzE/iOS-Notifications?node-id=962%3A1899.
The best advice I have is to test against an account that has lots of different types of notifications. Any notification type that isn't defined under the "Notification types" screens should fall back to the "No type ID" treatment.




