User:Leszek Manicki (WMDE)/Echo

From MediaWiki.org
Jump to navigation Jump to search
Other languages:
English • ‎ไทย • ‎中文 • ‎한국어

Extension:Echo provides another notification system for MediaWiki.

Mentions[edit]

Echo can send notifications to users mentioned in discussions; this feature is often referred to as "pinging". Linking to a user's page in a signed message, either directly or through a template, will trigger a mention notification for them. The technical details of this are laid out below.

Technical details[edit]

When generating mention events, Echo processes revision diffs chunk by chunk, to check when a user has added a new comment which should be searched for mentioned users to ping. As of this writing, for user mention notifications to work:

  • The diff chunk must be recognised as an addition of new lines of text, not a change to existing lines.[1]
  • The user must sign his or her message; the message cannot contain any other signatures.[2]
    • The signature must contain a plain wiki link ([[ ]]) to the user's page, user talk page, or contributions page, on the local wiki; it cannot be embedded in a template.[3]
    • In order for the signature to be recognised, the post must contain the exact same markup that writing ~~~ (and ~~~~) generates.[4]
  • The comment must either belong in its entirety to existing sections (the diff chunk of added lines must not contain new section headers)[5][6], or start a new section (diff chunk starts with a new section header).[7][8] Only sections of level 2 and above count.[9]
  • Links to mentioned users' pages may be embedded in templates or not, since the diff is template-expanded[10]
  • If the number of detected to-be-pinged users exceeds 50, no notifications will be delivered.[11]
  • Mentioning self by the user [12] and on user's own talk page [13] is not possible
  • Notifications are only sent to valid [14] non-anonymous [15] users

Also, all markup is parsed with regular expressions; sufficiently tricky markup can trigger bogus results.

References[edit]