Submissions/How to enhance your MediaWiki extensions with Echo notifications

From Wikimania 2013 • Hong Kong

This is an accepted submission for Wikimania 2013.

Watch session on YouTube

Submission no.
Subject no.
Title of the submission
How to enhance your MediaWiki extensions with Echo notifications
Type of submission
Author of the submission
Ryan Kaldari and Benny Situ
Country of origin
United States
E-mail address and
Kaldari and Bsitu
Personal homepage or blog
This presentation will cover the new Echo notification system for MediaWiki. Specifically it will explain how you can easily add user notifications to your MediaWiki extension by utilizing the hooks provided by Echo.
Detailed proposal

Our presentation will begin with a brief overview of current notifications such as the user talk page notifications and their limitations. Then we will introduce the new notification system Echo and how Echo will provide a standardized API for creating wiki notifications and get editors more engaged in the wiki community. After the introduction, we will go over how Echo works from a technical perspective and explain how to utilize its features from within third party extension. After the basic overview of how Echo works, we will walk the audience through a 'Hello World' example showing the simplest possible implementation. This will include how to define a basic notification (without payload), how to register it with Echo through the BeforeCreateEchoEvent hook along with detailed explanation of each keys, and how to define the recipients through the EchoGetDefaultNotifiedUsers hook. After that, we will discuss how to use more advanced features. For example:

  • Creating different notification messages for different output formats
  • Adding pre-defined payload in Echo to your notification
  • Handling notification bundling
  • Defining bundling key for notification type via EchoGetBundleRules hook
  • How to construct i18n message to handle bundling
  • Using your own formatter class to define custom message tokens and bundle iterators
  • Creating your own payload types through custom formatter
  • Future enhancement ( Redis Inbox )
  • Switching between notification storage
  • How email bundling works
  • An introduction to custom formatter and how third party can define various custom token, payload, bundle iterators

We will also take a look at some of the existing notifications and how they are implemented, especially the ones that are implemented in separate extensions such as the Thanks notification and the various Page Review notifications. We will wrap up the presentation with a brief Q&A session to answer any questions that the audience has about Echo or how to integrate with it.

Technology and Infrastructure
Length of presentation/talk
25 Minutes
Language of presentation/talk
Will you attend Wikimania if your submission is not accepted?
Slides or further information (optional)
Special requests

Interested attendees

If you are interested in attending this session, please sign with your username below. This will help reviewers to decide which sessions are of high interest. Sign with four tildes. (~~~~).

  1. Danny B.
  2. Varnent (talk)(COI)
  3. അമിർ എ. അഹരൊനി (talk) 20:32, 5 March 2013 (UTC)[reply]
  4. Fabrice Florin (WMF) (talk) 01:43, 18 April 2013 (UTC)[reply]
  5. Daniel Mietchen (talk) 21:44, 22 April 2013 (UTC)[reply]
  6. CT Cooper · talk 23:41, 28 April 2013 (UTC)[reply]
  7. Steven (WMF) (talk) 19:05, 29 April 2013 (UTC)[reply]
  8. Ocaasi (talk) 14:32, 30 April 2013 (UTC)[reply]
  9. Tychay (talk) 23:00, 30 April 2013 (UTC)[reply]
  10. Mglaser (talk) 23:44, 30 April 2013 (UTC)[reply]
  11. Gyoung (talk) 09:36, 1 May 2013 (UTC)[reply]
  12. MarkTraceur (talk) 18:59, 2 May 2013 (UTC)[reply]
  13. Multichill (talk) 14:55, 4 May 2013 (UTC)[reply]
  14. Santhosh.thottingal (talk) 13:20, 10 July 2013 (UTC)[reply]