CINXE.COM
Extension:Echo - MediaWiki
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Extension:Echo - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"342ab8e4-84a5-4606-abe3-e42ef62f0f88","wgCanonicalNamespace":"Extension","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":102,"wgPageName":"Extension:Echo","wgTitle":"Echo","wgCurRevisionId":6859766,"wgRevisionId":6859766,"wgArticleId":94495,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Extensions with release branches compatibility policy","Extensions bundled with MediaWiki 1.40","Stable extensions","Notification extensions","MIT licensed extensions","Extensions in Wikimedia version control","AbortTalkPageEmailNotification extensions","ApiMain::moduleManager extensions","ArticleDeleteComplete extensions","ArticleUndelete extensions","BeforePageDisplay extensions","EmailUserComplete extensions","GetNewMessagesAlert extensions", "GetPreferences extensions","LinksUpdateComplete extensions","LoadExtensionSchemaUpdates extensions","LoadUserOptions extensions","LocalUserCreated extensions","LoginFormValidErrorMessages extensions","MergeAccountFromTo extensions","OutputPageCheckLastModified extensions","PageSaveComplete extensions","PreferencesGetIcon extensions","RecentChange save extensions","ResourceLoaderRegisterModules extensions","RollbackComplete extensions","SaveUserOptions extensions","SendWatchlistEmailNotification extensions","SkinTemplateNavigation::Universal extensions","SpecialMuteModifyFormFields extensions","UserClearNewTalkNotification extensions","UserGetDefaultOptions extensions","UserGroupsChanged extensions","UserMergeAccountDeleteTables extensions","UserMergeAccountFields extensions","UserSaveSettings extensions","All extensions","Extensions used on Wikimedia","Extensions included in BlueSpice","Extensions included in Canasta","Extensions included in Miraheze","Extensions included in MyWikis", "Extensions included in ProWiki","Extensions included in semantic::core","Extensions included in ShoutWiki","Extensions included in Telepedia","Extensions included in wiki.gg","Extensions included in WikiForge","Echo"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Extension:Echo","wgRelevantArticleId":94495,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgInternalRedirectTargetUrl":"/wiki/Extension:Echo","wgTranslatePageTranslation":"source", "wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q21676230","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.translate.tag.languages":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.translate.edit.documentation.styles":"ready","ext.translate":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=[ "mediawiki.action.view.redirect","ext.pygments.view","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.translate.pagetranslation.uls","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","wikibase.client.vector-2022","ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.pygments%2Ctranslate%2CwikimediaBadges%7Cext.translate.edit.documentation.styles%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/1/1e/Screenshot_of_Echo_notification_extension.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="671"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Screenshot_of_Echo_notification_extension.png/800px-Screenshot_of_Echo_notification_extension.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="448"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Screenshot_of_Echo_notification_extension.png/640px-Screenshot_of_Echo_notification_extension.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="358"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Extension:Echo - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Extension:Echo"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Extension:Echo&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Extension:Echo"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-102 ns-subject mw-editable page-Extension_Echo rootpage-Extension_Echo skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q21676230#sitelinks-wikipedia" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=www.mediawiki.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Extension%3AEcho" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Extension%3AEcho" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=www.mediawiki.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Extension%3AEcho" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Extension%3AEcho" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Installation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Installation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Installation</span> </div> </a> <ul id="toc-Installation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Configuration" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Configuration"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Configuration</span> </div> </a> <button aria-controls="toc-Configuration-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Configuration subsection</span> </button> <ul id="toc-Configuration-sublist" class="vector-toc-list"> <li id="toc-Parameters" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Parameters"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Parameters</span> </div> </a> <ul id="toc-Parameters-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-User_preferences" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#User_preferences"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>User preferences</span> </div> </a> <ul id="toc-User_preferences-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Architecture" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Architecture"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Architecture</span> </div> </a> <ul id="toc-Architecture-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Usage</span> </div> </a> <button aria-controls="toc-Usage-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Usage subsection</span> </button> <ul id="toc-Usage-sublist" class="vector-toc-list"> <li id="toc-Notification_negative_list_/_positive_list" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Notification_negative_list_/_positive_list"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Notification negative list / positive list</span> </div> </a> <ul id="toc-Notification_negative_list_/_positive_list-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-"Mention"_option" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#"Mention"_option"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>"Mention" option</span> </div> </a> <ul id="toc-"Mention"_option-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Terminology" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Terminology"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Terminology</span> </div> </a> <ul id="toc-Terminology-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Extension</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Echo</span></h1> <div class="mw-indicators"> <div id="mw-indicator-phabricator-project" class="mw-indicator"><div class="mw-parser-output"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r6605561">.mw-parser-output .tpl-badge{background-color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-base,#202122);border-radius:10px;display:inline-block;font-size:90%;padding:5px 8px}</style><div class="tpl-badge"><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issue tracker</a>: <a href="https://phabricator.wikimedia.org/tag/notifications/" class="extiw" title="phab:tag/notifications/"><b>#Notifications</b></a></div></div></div></div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-extension" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:Echo" title="View the subject page [c]" accesskey="c"><span>Extension</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Extension_talk:Echo" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Extension:Echo"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:Echo&action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:Echo&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Extension:Echo"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:Echo&action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Extension:Echo&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Extension:Echo" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Extension:Echo" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Extension:Echo&oldid=6859766" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Extension:Echo&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Extension%3AEcho&id=6859766&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AEcho"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AEcho"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&bookcmd=book_creator&referer=Extension%3AEcho"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Extension%3AEcho&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Extension:Echo&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q21676230" title="Link to connected data repository item [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-pt-translate-header noprint nomobile" dir="ltr" lang="en"><a href="/w/index.php?title=Special:Translate&group=page-Extension%3AEcho&action=page&filter=&action_source=translate_page" title="Special:Translate">Translate this page</a></div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-pt-languages noprint navigation-not-searchable" lang="en" dir="ltr"><div class="mw-pt-languages-label">Languages:</div><ul class="mw-pt-languages-list"><li><a href="/wiki/Extension:Echo/de" class="mw-pt-progress mw-pt-progress--med" title="Erweiterung:Echo (28% translated)" lang="de" dir="ltr">Deutsch</a></li> <li><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en" dir="ltr">English</span></li> <li><a href="/wiki/Extension:Echo/ha" class="mw-pt-progress mw-pt-progress--low" title="Extension:Echo/ha (1% translated)" lang="ha" dir="ltr">Hausa</a></li> <li><a href="/wiki/Extension:Echo/nl" class="mw-pt-progress mw-pt-progress--complete" title="Extension:Echo/nl (100% translated)" lang="nl" dir="ltr">Nederlands</a></li> <li><a href="/wiki/Extension:Echo/tr" class="mw-pt-progress mw-pt-progress--med" title="Extension:Echo (63% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Extension:Echo/da" class="mw-pt-progress mw-pt-progress--low" title="Udvidelse:Echo (5% translated)" lang="da" dir="ltr">dansk</a></li> <li><a href="/wiki/Extension:Echo/es" class="mw-pt-progress mw-pt-progress--med" title="Extensión:Echo (28% translated)" lang="es" dir="ltr">español</a></li> <li><a href="/wiki/Extension:Echo/fr" class="mw-pt-progress mw-pt-progress--high" title="Extension:Echo (94% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Extension:Echo/it" class="mw-pt-progress mw-pt-progress--low" title="Estensione:Echo (6% translated)" lang="it" dir="ltr">italiano</a></li> <li><a href="/wiki/Extension:Echo/pl" class="mw-pt-progress mw-pt-progress--low" title="Extension:Echo/pl (4% translated)" lang="pl" dir="ltr">polski</a></li> <li><a href="/wiki/Extension:Echo/cs" class="mw-pt-progress mw-pt-progress--complete" title="Rozšíření:Echo (100% translated)" lang="cs" dir="ltr">čeština</a></li> <li><a href="/wiki/Extension:Echo/ru" class="mw-pt-progress mw-pt-progress--med" title="Расширение:Echo (51% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Extension:Echo/uk" class="mw-pt-progress mw-pt-progress--low" title="Розширення:Echo (1% translated)" lang="uk" dir="ltr">українська</a></li> <li><a href="/wiki/Extension:Echo/fa" class="mw-pt-progress mw-pt-progress--low" title="افزونه: اکو (14% translated)" lang="fa" dir="rtl">فارسی</a></li> <li><a href="/wiki/Extension:Echo/zh" class="mw-pt-progress mw-pt-progress--complete" title="Extension: (100% translated)" lang="zh" dir="ltr">中文</a></li> <li><a href="/wiki/Extension:Echo/ja" class="mw-pt-progress mw-pt-progress--med" title="Extension:Echo (35% translated)" lang="ja" dir="ltr">日本語</a></li> <li><a href="/wiki/Extension:Echo/ko" class="mw-pt-progress mw-pt-progress--med" title="확장기능:Echo (20% translated)" lang="ko" dir="ltr">한국어</a></li></ul></div> <style data-mw-deduplicate="TemplateStyles:r6651107">.mw-parser-output .note{background-position:left 7px top 50%;padding:0.5em 0.5em 0.5em 40px;margin:0.5em 0;overflow:hidden;background-color:#f8f9fa;color:#333;background-repeat:no-repeat;border:1px solid #ddd}.mw-parser-output .note-inline{display:inline-block;vertical-align:middle}.mw-parser-output .note-info{background-color:#eaf3ff;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/e/ec/OOjs_UI_icon_information-progressive.svg");background-size:25px;border-color:#a3caff;padding-left:40px;min-height:25px}.mw-parser-output .note-reminder{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/a/a8/OOjs_UI_icon_lightbulb-yellow.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-warn{background-color:#fff9ea;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/3/3b/OOjs_UI_icon_alert-warning.svg");background-size:25px;border-color:#fc3;min-height:25px}.mw-parser-output .note-error{background-color:#fee7e6;color:#333;background-image:url("https://upload.wikimedia.org/wikipedia/commons/b/bf/OOjs_UI_icon_notice-destructive.svg");background-size:25px;border-color:#c33;min-height:25px}@media screen{html.skin-theme-clientpref-night .mw-parser-output .note{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .note{background-color:transparent;color:inherit}}</style><div role="note" class="note note-info">This extension <a href="/wiki/Special:MyLanguage/MediaWiki_1.40#Bundled_extensions" title="Special:MyLanguage/MediaWiki 1.40">comes with MediaWiki 1.40</a> and above. Thus you do not have to download it again. However, you still need to follow the other instructions provided.</div> <style data-mw-deduplicate="TemplateStyles:r6870138">.mw-parser-output table.ambox{margin:0 10%;width:unset;border:1px solid var(--border-color-base,#a2a9b1);border-left:10px solid var(--border-color-progressive,#36c);background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box}.mw-parser-output table.ambox+table.ambox,.mw-parser-output table.ambox+link+table.ambox,.mw-parser-output table.ambox+style+table.ambox{margin-top:-1px}.mw-parser-output .ambox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox th.mbox-text,.mw-parser-output .ambox td.mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox td.mbox-image{padding:2px 0 2px 0.5em}.mw-parser-output .ambox td.mbox-imageright{padding:2px 0.5em 2px 0}.mw-parser-output table.ambox-notice{border-left-color:var(--border-color-progressive,#36c)}.mw-parser-output table.ambox-speedy{background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output table.ambox-delete,.mw-parser-output table.ambox-speedy{border-left-color:var(--background-color-error--active,#b32424)}.mw-parser-output table.ambox-content{border-left-color:#f28500}.mw-parser-output table.ambox-style{border-left-color:#fc3}.mw-parser-output table.ambox-move{border-left-color:#9932cc}.mw-parser-output table.ambox-protection{border-left-color:var(--border-color-base,#a2a9b1)}html body.mediawiki .mw-parser-output .ambox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;box-sizing:border-box;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}</style><table class="ambox ambox-notice plainlinks metadata" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/40px-OOjs_UI_icon_information-progressive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/60px-OOjs_UI_icon_information-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/80px-OOjs_UI_icon_information-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">There is a stalled attempt to move this functionality into core MediaWiki; for more information, see <a href="/wiki/Special:MyLanguage/Notifications" title="Special:MyLanguage/Notifications">Notifications</a><span style="display:none"><a href="/wiki/Notifications" title="Notifications"> </a></span> and <a href="/wiki/Requests_for_comment/Notifications_in_core" title="Requests for comment/Notifications in core">Requests for comment/Notifications in core</a>.</div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r6651102">.mw-parser-output .infobox{box-sizing:border-box;border:2px solid var(--border-color-base,#a2a9b1);width:280px;border-collapse:collapse;border-spacing:0;background-color:white;color:#333;clear:right;float:right;margin:0 0 0.5em 0.5em}.mw-parser-output .infobox-rtl{clear:left;float:left;margin:0 0.5em 0.5em 0}.mw-parser-output .infobox th{text-align:left;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-rtl th{text-align:right}@media(max-width:719px){body.mediawiki .mw-parser-output .infobox{float:none;clear:both;width:100%;margin:0 0 .5em 0}}.mw-parser-output .infobox td{border:none;padding:0.2em 0.5em;vertical-align:top}.mw-parser-output .infobox-header{background-color:#a2a9b1;color:#FFF;text-align:left}.mw-parser-output .infobox-header a{color:#FFF}.mw-parser-output .infobox-header td,.mw-parser-output .infobox-header th{padding:0.5em 0.5em}.mw-parser-output .infobox-header img{padding:0 0.2em 0 0.5em}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox{background-color:inherit;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox{background-color:inherit;color:inherit}}</style><style data-mw-deduplicate="TemplateStyles:r5577029">.mw-parser-output .ext-infobox>tbody>tr>td:first-child{vertical-align:top}.mw-parser-output .ext-infobox>tbody>tr>td abbr{white-space:nowrap}.mw-parser-output .ext-infobox .mw-collapsible-header,.mw-parser-output .ext-infobox .mw-collapsible-toggle{font-weight:bold}.mw-parser-output .ext-infobox .mw-collapsible-content{margin-top:.2em;padding-top:.2em}.mw-parser-output .ext-infobox-header>th,.mw-parser-output .ext-infobox caption,.mw-parser-output .ext-infobox-image,.mw-parser-output .ext-infobox-translate{text-align:center}.mw-parser-output .ext-infobox-name{font-size:130%;line-height:100%}.mw-parser-output .ext-infobox-type{min-width:7em}</style><style data-mw-deduplicate="TemplateStyles:r6424453">.mw-parser-output .ext-status-unstable,.mw-parser-output .ext-status-unstable td{border-color:#d33}.mw-parser-output .ext-status-unstable .ext-infobox-header{background-color:#d33;color:#fff}.mw-parser-output .ext-status-unstable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-experimental,.mw-parser-output .ext-status-experimental td{border-color:#ff4500}.mw-parser-output .ext-status-experimental .ext-infobox-header{background-color:#ff4500;color:#FFF}.mw-parser-output .ext-status-experimental .ext-infobox-header a{color:#FFF}.mw-parser-output .ext-status-beta,.mw-parser-output .ext-status-beta td{border-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header{color:#000;background-color:#fc3}.mw-parser-output .ext-status-beta .ext-infobox-header a{color:#000}.mw-parser-output .ext-status-stable,.mw-parser-output .ext-status-stable td{border-color:#00af89}.mw-parser-output .ext-status-stable .ext-infobox-header{background-color:#068468;color:#FFF}.mw-parser-output .ext-status-stable .ext-infobox-header a{color:#fff}.mw-parser-output .ext-status-unmaintained,.mw-parser-output .ext-status-unmaintained td{border-color:#ac6600}.mw-parser-output .ext-status-unmaintained .ext-infobox-header{background-color:#ac6600;color:#FFF}.mw-parser-output .ext-status-unmaintained .ext-infobox-header a{color:#fff}</style> <table class="infobox infobox-ltr ext-infobox ext-status-stable"> <caption><b><a href="/wiki/Special:MyLanguage/Manual:Extensions" title="Special:MyLanguage/Manual:Extensions">MediaWiki extensions manual</a><span style="display:none"><a href="/wiki/Manual:Extensions" title="Manual:Extensions"> </a></span></b></caption> <tbody><tr class="infobox-header ext-infobox-header notheme"> <th colspan="2"><figure class="mw-halign-left" typeof="mw:File"><a href="/wiki/Special:MyLanguage/Template:Extension#Content" title="Special:MyLanguage/Template:Extension"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/40px-OOjs_UI_icon_advanced-invert.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/60px-OOjs_UI_icon_advanced-invert.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1b/OOjs_UI_icon_advanced-invert.svg/80px-OOjs_UI_icon_advanced-invert.svg.png 2x" data-file-width="20" data-file-height="20" /></a><figcaption></figcaption></figure> <span class="ext-infobox-name">Notifications</span><br /> <a href="/wiki/Special:MyLanguage/Extension_status" title="Special:MyLanguage/Extension status">Release status:</a><span style="display:none"><a href="/wiki/Extension_status" title="Extension status"> </a></span> stable</th> </tr> <tr> <td colspan="2" class="ext-infobox-image"><span typeof="mw:File"><a href="/wiki/File:Screenshot_of_Echo_notification_extension.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Screenshot_of_Echo_notification_extension.png/375px-Screenshot_of_Echo_notification_extension.png" decoding="async" width="375" height="210" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Screenshot_of_Echo_notification_extension.png/563px-Screenshot_of_Echo_notification_extension.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1e/Screenshot_of_Echo_notification_extension.png/750px-Screenshot_of_Echo_notification_extension.png 2x" data-file-width="1094" data-file-height="612" /></a></span></td> </tr> <tr> <td class="ext-infobox-type"><b><a href="/wiki/Special:MyLanguage/Template:Extension#type" title="Special:MyLanguage/Template:Extension">Implementation</a><span style="display:none"><a href="/wiki/Template:Extension#type" title="Template:Extension"> </a></span></b></td> <td>Notify </td></tr><tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#description" title="Special:MyLanguage/Template:Extension">Description</a><span style="display:none"><a href="/wiki/Template:Extension#description" title="Template:Extension"> </a></span></b></td> <td>Provides an in-wiki notification system that can be used by other extensions.</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#username" title="Special:MyLanguage/Template:Extension">Author(s)</a><span style="display:none"><a href="/wiki/Template:Extension#username" title="Template:Extension"> </a></span></b></td> <td> <ul><li><a href="/wiki/User:Werdna" title="User:Werdna">Andrew Garrett</a></li> <li><a href="/wiki/User:Kaldari" title="User:Kaldari">Ryan Kaldari</a></li> <li><a href="/wiki/User:Bsitu" title="User:Bsitu">Benny Situ</a></li></ul></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#version" title="Special:MyLanguage/Template:Extension">Latest version</a><span style="display:none"><a href="/wiki/Template:Extension#version" title="Template:Extension"> </a></span></b></td> <td>continuous updates</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Compatibility#mediawiki_extensions" title="Special:MyLanguage/Compatibility">Compatibility policy</a><span style="display:none"><a href="/wiki/Compatibility#mediawiki_extensions" title="Compatibility"> </a></span></b></td> <td>Snapshots releases along with MediaWiki. Master is not backward compatible.</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#mediawiki" title="Special:MyLanguage/Template:Extension"><b>MediaWiki</b></a><span style="display:none"><a href="/wiki/Template:Extension#mediawiki" title="Template:Extension"> </a></span></td> <td>>= 1.43</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#needs-updatephp" title="Special:MyLanguage/Template:Extension"><abbr title="'php update.php' needed after installation"><b>Database changes</b></abbr></a><span style="display:none"><a href="/wiki/Template:Extension#needs-updatephp" title="Template:Extension"> </a></span></td> <td>Yes</td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#table1" title="Special:MyLanguage/Template:Extension">Tables</a><span style="display:none"><a href="/wiki/Template:Extension#table1" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_email_batch_table" title="Special:MyLanguage/Extension:Echo/echo email batch table">echo_email_batch</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_email_batch_table" title="Extension:Echo/echo email batch table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_event_table" title="Special:MyLanguage/Extension:Echo/echo event table">echo_event</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_event_table" title="Extension:Echo/echo event table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_notification_table" title="Special:MyLanguage/Extension:Echo/echo notification table">echo_notification</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_notification_table" title="Extension:Echo/echo notification table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_subscription_table" title="Special:MyLanguage/Extension:Echo/echo subscription table">echo_subscription</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_subscription_table" title="Extension:Echo/echo subscription table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_target_page_table" title="Special:MyLanguage/Extension:Echo/echo target page table">echo_target_page</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_target_page_table" title="Extension:Echo/echo target page table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_push_provider_table" title="Special:MyLanguage/Extension:Echo/echo push provider table">echo_push_provider</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_push_provider_table" title="Extension:Echo/echo push provider table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_push_subscription_table" title="Special:MyLanguage/Extension:Echo/echo push subscription table">echo_push_subscription</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_push_subscription_table" title="Extension:Echo/echo push subscription table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_push_topic_table" title="Special:MyLanguage/Extension:Echo/echo push topic table">echo_push_topic</a><span style="display:none"><a href="/wiki/Extension:Echo/echo_push_topic_table" title="Extension:Echo/echo push topic table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Echo/echo_unread_wikis_table" class="new" title="Special:MyLanguage/Extension:Echo/echo unread wikis table (page does not exist)">echo_unread_wikis</a><span style="display:none"><a href="/w/index.php?title=Extension:Echo/echo_unread_wikis_table&action=edit&redlink=1" class="new" title="Extension:Echo/echo unread wikis table (page does not exist)"> </a></span></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#license" title="Special:MyLanguage/Template:Extension">License</a><span style="display:none"><a href="/wiki/Template:Extension#license" title="Template:Extension"> </a></span></b></td> <td><a rel="nofollow" class="external text" href="//opensource.org/licenses/mit-license.php">MIT License</a></td> </tr><tr> <td><b>Download</b></td> <td><div class="plainlinks"><a href="/wiki/Special:ExtensionDistributor/Echo" title="Special:ExtensionDistributor/Echo"><b>Download extension</b></a> <br />Git <sup>[<a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">?</a>]</sup>: <ul><li><span class="plainlinks"><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-Echo/archive/master.tar.gz">Download Git master</a></span></li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo" class="extiw" title="git:mediawiki/extensions/Echo">browse repository</a> (<a href="https://phabricator.wikimedia.org/diffusion/ECHO" class="extiw" title="phab:diffusion/ECHO">Phabricator</a> · <a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-Echo">GitHub</a>)</li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2Blog/master" class="extiw" title="git:mediawiki/extensions/Echo/+log/master">commit history</a></li> <li><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-Echo/graphs/contributors">repository contributors (GitHub)</a></li> <li><a href="https://gerrit.wikimedia.org/r/q/project:mediawiki/extensions/Echo" class="extiw" title="gerrit:q/project:mediawiki/extensions/Echo">code review</a></li></ul></div></td> </tr> <tr> <td><b><a href="/wiki/Special:MyLanguage/Template:Extension#help" title="Special:MyLanguage/Template:Extension">Help</a><span style="display:none"><a href="/wiki/Template:Extension#help" title="Template:Extension"> </a></span></b></td> <td><a href="/wiki/Special:MyLanguage/Help:Extension:Echo" title="Special:MyLanguage/Help:Extension:Echo">Help:Extension:Echo</a><span style="display:none"><a href="/wiki/Help:Extension:Echo" class="mw-redirect" title="Help:Extension:Echo"> </a></span></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#parameters" title="Special:MyLanguage/Template:Extension">Parameters</a><span style="display:none"><a href="/wiki/Template:Extension#parameters" title="Template:Extension"> </a></span></div> <div class="mw-collapsible-content"> <ul><li><span class="configvariable">$wgEchoNotificationCategories</span></li> <li><span class="configvariable">$wgEchoMaxMentionsCount</span></li> <li><span class="configvariable">$wgEchoPerUserWhitelistFormat</span></li> <li><span class="configvariable" title="Maximum number of push subscriptions that may be stored in the DB at any given time for a single central user ID.">$wgEchoPushMaxSubscriptionsPerUser</span></li> <li><span class="configvariable">$wgEchoMentionOnChanges</span></li> <li><span class="configvariable" title="This is the polling rate i.e. the time after which we check for notifications count on the client side. It also controls whether notification count will be displayed in browser title. If polling rate is 0 this means polling is disabled and notification count is also not shown in browser title">$wgEchoPollForUpdates</span></li> <li><span class="configvariable">$wgEchoUseJobQueue</span></li> <li><span class="configvariable">$wgEchoBundleEmailInterval</span></li> <li><span class="configvariable" title="Whether to enable the API for creating custom Echo events">$wgEchoEnableApiEvents</span></li> <li><span class="configvariable">$wgEchoMentionsOnMultipleSectionEdits</span></li> <li><span class="configvariable">$wgDefaultNotifyTypeAvailability</span></li> <li><span class="configvariable">$wgEchoSecondaryIcons</span></li> <li><span class="configvariable">$wgEchoCacheVersion</span></li> <li><span class="configvariable">$wgEchoMaxUpdateCount</span></li> <li><span class="configvariable">$wgEchoNotifiers</span></li> <li><span class="configvariable">$wgEchoAgentBlacklist</span></li> <li><span class="configvariable">$wgEchoSharedTrackingCluster</span></li> <li><span class="configvariable" title="Whether to enable push notifications">$wgEchoEnablePush</span></li> <li><span class="configvariable">$wgEchoPerUserBlacklist</span></li> <li><span class="configvariable">$wgEchoEnableEmailBatch</span></li> <li><span class="configvariable" title="Feature flag to enable Echo notifications whenever a page on a user's watchlist is changed, replacing the built-in preference to send emails in that circumstance.">$wgEchoWatchlistNotifications</span></li> <li><span class="configvariable">$wgNotifyTypeAvailabilityByCategory</span></li> <li><span class="configvariable" title="Maximum nubmer of users that will be notified that they were linked from an edit summary or 0 for no notifications">$wgEchoMaxMentionsInEditSummary</span></li> <li><span class="configvariable">$wgEchoNotifications</span></li> <li><span class="configvariable">$wgEchoCluster</span></li> <li><span class="configvariable" title="Request endpoint URL for the push notification service">$wgEchoPushServiceBaseUrl</span></li> <li><span class="configvariable" title="Whether to send email notifications each time a watched page is edited (if false) or only the first time the page is changed before being visited again by the user (if true)">$wgEchoWatchlistEmailOncePerPage</span></li> <li><span class="configvariable" title="This is a feature flag to the Article Reminder notification">$wgAllowArticleReminderNotification</span></li> <li><span class="configvariable">$wgEchoNotificationIcons</span></li> <li><span class="configvariable">$wgEchoSharedTrackingDB</span></li> <li><span class="configvariable">$wgEchoOnWikiBlacklist</span></li> <li><span class="configvariable">$wgEchoSeenTimeCacheType</span></li> <li><span class="configvariable">$wgEchoMentionStatusNotifications</span></li> <li><span class="configvariable">$wgEchoCrossWikiNotifications</span></li> <li><span class="configvariable">$wgEchoEmailFooterAddress</span></li></ul></div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#rights" title="Special:MyLanguage/Template:Extension">Added rights</a><span style="display:none"><a href="/wiki/Template:Extension#rights" title="Template:Extension"> </a></span></div> <div class="mw-collapsible-content"> <ul><li>manage-all-push-subscriptions</li> <li>echo-create</li></ul> </div></td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#hook" title="Special:MyLanguage/Template:Extension">Hooks used</a><span style="display:none"><a href="/wiki/Template:Extension#hook" title="Template:Extension"> </a></span></div> <style data-mw-deduplicate="TemplateStyles:r6219282">.mw-parser-output .plainlist ul{line-height:inherit;list-style:none none;margin:0}.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist mw-collapsible-content"><ul><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/AbortTalkPageEmailNotification" title="Special:MyLanguage/Manual:Hooks/AbortTalkPageEmailNotification">AbortTalkPageEmailNotification</a><span style="display:none"><a href="/wiki/Manual:Hooks/AbortTalkPageEmailNotification" title="Manual:Hooks/AbortTalkPageEmailNotification"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ApiMain::moduleManager" title="Special:MyLanguage/Manual:Hooks/ApiMain::moduleManager">ApiMain::moduleManager</a><span style="display:none"><a href="/wiki/Manual:Hooks/ApiMain::moduleManager" title="Manual:Hooks/ApiMain::moduleManager"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ArticleDeleteComplete" title="Special:MyLanguage/Manual:Hooks/ArticleDeleteComplete">ArticleDeleteComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/ArticleDeleteComplete" title="Manual:Hooks/ArticleDeleteComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ArticleUndelete" title="Special:MyLanguage/Manual:Hooks/ArticleUndelete">ArticleUndelete</a><span style="display:none"><a href="/wiki/Manual:Hooks/ArticleUndelete" title="Manual:Hooks/ArticleUndelete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/BeforePageDisplay" title="Special:MyLanguage/Manual:Hooks/BeforePageDisplay">BeforePageDisplay</a><span style="display:none"><a href="/wiki/Manual:Hooks/BeforePageDisplay" title="Manual:Hooks/BeforePageDisplay"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/EmailUserComplete" title="Special:MyLanguage/Manual:Hooks/EmailUserComplete">EmailUserComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/EmailUserComplete" title="Manual:Hooks/EmailUserComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetNewMessagesAlert" title="Special:MyLanguage/Manual:Hooks/GetNewMessagesAlert">GetNewMessagesAlert</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetNewMessagesAlert" title="Manual:Hooks/GetNewMessagesAlert"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetPreferences" title="Special:MyLanguage/Manual:Hooks/GetPreferences">GetPreferences</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetPreferences" title="Manual:Hooks/GetPreferences"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LinksUpdateComplete" title="Special:MyLanguage/Manual:Hooks/LinksUpdateComplete">LinksUpdateComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/LinksUpdateComplete" title="Manual:Hooks/LinksUpdateComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates" title="Special:MyLanguage/Manual:Hooks/LoadExtensionSchemaUpdates">LoadExtensionSchemaUpdates</a><span style="display:none"><a href="/wiki/Manual:Hooks/LoadExtensionSchemaUpdates" title="Manual:Hooks/LoadExtensionSchemaUpdates"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LoadUserOptions" title="Special:MyLanguage/Manual:Hooks/LoadUserOptions">LoadUserOptions</a><span style="display:none"><a href="/wiki/Manual:Hooks/LoadUserOptions" title="Manual:Hooks/LoadUserOptions"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LocalUserCreated" title="Special:MyLanguage/Manual:Hooks/LocalUserCreated">LocalUserCreated</a><span style="display:none"><a href="/wiki/Manual:Hooks/LocalUserCreated" title="Manual:Hooks/LocalUserCreated"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/LoginFormValidErrorMessages" title="Special:MyLanguage/Manual:Hooks/LoginFormValidErrorMessages">LoginFormValidErrorMessages</a><span style="display:none"><a href="/wiki/Manual:Hooks/LoginFormValidErrorMessages" title="Manual:Hooks/LoginFormValidErrorMessages"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/MergeAccountFromTo" title="Special:MyLanguage/Manual:Hooks/MergeAccountFromTo">MergeAccountFromTo</a><span style="display:none"><a href="/wiki/Manual:Hooks/MergeAccountFromTo" class="mw-redirect" title="Manual:Hooks/MergeAccountFromTo"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/OutputPageCheckLastModified" title="Special:MyLanguage/Manual:Hooks/OutputPageCheckLastModified">OutputPageCheckLastModified</a><span style="display:none"><a href="/wiki/Manual:Hooks/OutputPageCheckLastModified" title="Manual:Hooks/OutputPageCheckLastModified"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PageSaveComplete" title="Special:MyLanguage/Manual:Hooks/PageSaveComplete">PageSaveComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/PageSaveComplete" title="Manual:Hooks/PageSaveComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PreferencesGetIcon" title="Special:MyLanguage/Manual:Hooks/PreferencesGetIcon">PreferencesGetIcon</a><span style="display:none"><a href="/wiki/Manual:Hooks/PreferencesGetIcon" title="Manual:Hooks/PreferencesGetIcon"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RecentChange_save" title="Special:MyLanguage/Manual:Hooks/RecentChange save">RecentChange_save</a><span style="display:none"><a href="/wiki/Manual:Hooks/RecentChange_save" title="Manual:Hooks/RecentChange save"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ResourceLoaderRegisterModules" title="Special:MyLanguage/Manual:Hooks/ResourceLoaderRegisterModules">ResourceLoaderRegisterModules</a><span style="display:none"><a href="/wiki/Manual:Hooks/ResourceLoaderRegisterModules" title="Manual:Hooks/ResourceLoaderRegisterModules"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RollbackComplete" title="Special:MyLanguage/Manual:Hooks/RollbackComplete">RollbackComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/RollbackComplete" title="Manual:Hooks/RollbackComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SaveUserOptions" title="Special:MyLanguage/Manual:Hooks/SaveUserOptions">SaveUserOptions</a><span style="display:none"><a href="/wiki/Manual:Hooks/SaveUserOptions" title="Manual:Hooks/SaveUserOptions"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SendWatchlistEmailNotification" title="Special:MyLanguage/Manual:Hooks/SendWatchlistEmailNotification">SendWatchlistEmailNotification</a><span style="display:none"><a href="/wiki/Manual:Hooks/SendWatchlistEmailNotification" title="Manual:Hooks/SendWatchlistEmailNotification"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SkinTemplateNavigation::Universal" title="Special:MyLanguage/Manual:Hooks/SkinTemplateNavigation::Universal">SkinTemplateNavigation::Universal</a><span style="display:none"><a href="/wiki/Manual:Hooks/SkinTemplateNavigation::Universal" title="Manual:Hooks/SkinTemplateNavigation::Universal"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SpecialMuteModifyFormFields" title="Special:MyLanguage/Manual:Hooks/SpecialMuteModifyFormFields">SpecialMuteModifyFormFields</a><span style="display:none"><a href="/wiki/Manual:Hooks/SpecialMuteModifyFormFields" title="Manual:Hooks/SpecialMuteModifyFormFields"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserClearNewTalkNotification" title="Special:MyLanguage/Manual:Hooks/UserClearNewTalkNotification">UserClearNewTalkNotification</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserClearNewTalkNotification" title="Manual:Hooks/UserClearNewTalkNotification"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGetDefaultOptions" title="Special:MyLanguage/Manual:Hooks/UserGetDefaultOptions">UserGetDefaultOptions</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGetDefaultOptions" title="Manual:Hooks/UserGetDefaultOptions"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserGroupsChanged" title="Special:MyLanguage/Manual:Hooks/UserGroupsChanged">UserGroupsChanged</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserGroupsChanged" title="Manual:Hooks/UserGroupsChanged"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserMergeAccountDeleteTables" title="Special:MyLanguage/Manual:Hooks/UserMergeAccountDeleteTables">UserMergeAccountDeleteTables</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserMergeAccountDeleteTables" class="mw-redirect" title="Manual:Hooks/UserMergeAccountDeleteTables"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserMergeAccountFields" title="Special:MyLanguage/Manual:Hooks/UserMergeAccountFields">UserMergeAccountFields</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserMergeAccountFields" class="mw-redirect" title="Manual:Hooks/UserMergeAccountFields"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UserSaveSettings" title="Special:MyLanguage/Manual:Hooks/UserSaveSettings">UserSaveSettings</a><span style="display:none"><a href="/wiki/Manual:Hooks/UserSaveSettings" title="Manual:Hooks/UserSaveSettings"> </a></span></li></ul></div> </td> </tr> <tr> <td class="mw-collapsible mw-collapsed" colspan="2"> <div class="mw-collapsible-header"><a href="/wiki/Special:MyLanguage/Template:Extension#newhook" title="Special:MyLanguage/Template:Extension">Hooks provided</a><span style="display:none"><a href="/wiki/Template:Extension#newhook" title="Template:Extension"> </a></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6219282"><div class="plainlist mw-collapsible-content"><ul><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoGetEventsForRevision" title="Special:MyLanguage/Extension:Echo/Hooks/EchoGetEventsForRevision">EchoGetEventsForRevision</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoGetEventsForRevision" title="Extension:Echo/Hooks/EchoGetEventsForRevision"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/BeforeCreateEchoEvent" title="Special:MyLanguage/Extension:Echo/Hooks/BeforeCreateEchoEvent">BeforeCreateEchoEvent</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/BeforeCreateEchoEvent" title="Extension:Echo/Hooks/BeforeCreateEchoEvent"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/BeforeDisplayOrangeAlert" title="Special:MyLanguage/Extension:Echo/Hooks/BeforeDisplayOrangeAlert">BeforeDisplayOrangeAlert</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/BeforeDisplayOrangeAlert" title="Extension:Echo/Hooks/BeforeDisplayOrangeAlert"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoCanAbortNewMessagesAlert" title="Special:MyLanguage/Extension:Echo/Hooks/EchoCanAbortNewMessagesAlert">EchoCanAbortNewMessagesAlert</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoCanAbortNewMessagesAlert" title="Extension:Echo/Hooks/EchoCanAbortNewMessagesAlert"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoAbortEmailNotification" title="Special:MyLanguage/Extension:Echo/Hooks/EchoAbortEmailNotification">EchoAbortEmailNotification</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoAbortEmailNotification" title="Extension:Echo/Hooks/EchoAbortEmailNotification"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoGetBundleRules" title="Special:MyLanguage/Extension:Echo/Hooks/EchoGetBundleRules">EchoGetBundleRules</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoGetBundleRules" title="Extension:Echo/Hooks/EchoGetBundleRules"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoGetNotificationTypes" title="Special:MyLanguage/Extension:Echo/Hooks/EchoGetNotificationTypes">EchoGetNotificationTypes</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoGetNotificationTypes" title="Extension:Echo/Hooks/EchoGetNotificationTypes"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoGetDefaultNotifiedUsers" title="Special:MyLanguage/Extension:Echo/Hooks/EchoGetDefaultNotifiedUsers">EchoGetDefaultNotifiedUsers</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoGetDefaultNotifiedUsers" title="Extension:Echo/Hooks/EchoGetDefaultNotifiedUsers"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/BeforeEchoEventInsert" title="Special:MyLanguage/Extension:Echo/Hooks/BeforeEchoEventInsert">BeforeEchoEventInsert</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/BeforeEchoEventInsert" title="Extension:Echo/Hooks/BeforeEchoEventInsert"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoEventInsertComplete" title="Special:MyLanguage/Extension:Echo/Hooks/EchoEventInsertComplete">EchoEventInsertComplete</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoEventInsertComplete" title="Extension:Echo/Hooks/EchoEventInsertComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Echo/Hooks/EchoCreateNotificationComplete" title="Special:MyLanguage/Extension:Echo/Hooks/EchoCreateNotificationComplete">EchoCreateNotificationComplete</a><span style="display:none"><a href="/wiki/Extension:Echo/Hooks/EchoCreateNotificationComplete" title="Extension:Echo/Hooks/EchoCreateNotificationComplete"> </a></span></li></ul></div> </td> </tr> <tr> <td title="This only includes downloads from Special:ExtensionDistributor. Other download methods such as git or bundled extensions are not included."><b>Quarterly downloads</b></td> <td>130 (Ranked 46<sup>th</sup>)</td> </tr> <tr> <td title=""><a rel="nofollow" class="external text" href="https://wikiapiary.com/wiki/Extension:Echo"><b>Public wikis using</b></a></td> <td>2,698 (Ranked 187<sup>th</sup>)</td> </tr> <tr> <td colspan="2" class="ext-infobox-translate"> <a href="https://translatewiki.net/wiki/Special:Translate/ext-echo" class="extiw" title="translatewiki:Special:Translate/ext-echo">Translate the Echo extension</a> if it is available at translatewiki.net</td> </tr><tr class="mw-empty-elt"> </tr> <tr> <td> <b><a href="/wiki/Special:MyLanguage/Phabricator" title="Special:MyLanguage/Phabricator">Issues</a><span style="display:none"><a href="/wiki/Phabricator" title="Phabricator"> </a></span></b></td> <td><a href="https://phabricator.wikimedia.org/tag/notifications" class="extiw" title="phab:tag/notifications">Open tasks</a> · <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=Notifications">Report a bug</a></td> </tr> </tbody></table> <p>The <b>Notifications</b> extension, historically called <b>Echo</b> in code and documentation for sysadmins and developers, provides an in-wiki notification system that provides the user with alerts and notices about activity on the wiki, such as another user mentioning them on a talk page, or an edit of theirs being reverted. Other MediaWiki extensions can make use of Notifications to send their own notifications; <a href="/wiki/Special:MyLanguage/Extension:Thanks" title="Special:MyLanguage/Extension:Thanks">Thanks</a><span style="display:none"><a href="/wiki/Extension:Thanks" title="Extension:Thanks"> </a></span> and <a href="/wiki/Special:MyLanguage/Extension:DiscussionTools" title="Special:MyLanguage/Extension:DiscussionTools">DiscussionTools</a><span style="display:none"><a href="/wiki/Extension:DiscussionTools" title="Extension:DiscussionTools"> </a></span> are two such extensions. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Installation">Installation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=1" title="Edit section: Installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>The database user must have been granted the "REFERENCES" right for the database. How you check this depends on how you set up the database in the first place. For example, if you used a control panel application, then that interface should provide a way to check and change the privileges of the database user (<code>$wgDBuser</code> in <a href="/wiki/Special:MyLanguage/Manual:LocalSettings.php" title="Special:MyLanguage/Manual:LocalSettings.php">LocalSettings.php</a><span style="display:none"><a href="/wiki/Manual:LocalSettings.php" title="Manual:LocalSettings.php"> </a></span>).</li> <li><a href="/wiki/Special:ExtensionDistributor/Echo" title="Special:ExtensionDistributor/Echo">Download</a> and move the extracted <code>Echo</code> folder to your <code>extensions/</code> directory.<br />Developers and code contributors should install the extension <a href="/wiki/Special:MyLanguage/Download_from_Git" title="Special:MyLanguage/Download from Git">from Git</a> instead, using:<code class="mw-code mw-highlight" style="display:block">cd extensions/<br />git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo</code></li> <li>Add the following code at the bottom of your <a href="/wiki/Special:MyLanguage/Manual:LocalSettings.php" title="Special:MyLanguage/Manual:LocalSettings.php">LocalSettings.php</a><span style="display:none"><a href="/wiki/Manual:LocalSettings.php" title="Manual:LocalSettings.php"> </a></span> file: <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nx">wfLoadExtension</span><span class="p">(</span> <span class="s1">'Echo'</span> <span class="p">);</span> </pre></div></li> <li>Run the <b><a href="/wiki/Special:MyLanguage/Manual:Update.php" title="Special:MyLanguage/Manual:Update.php">update script</a></b> which will automatically create the necessary database tables that this extension needs.</li> <li><a href="#Configuration">If necessary configure at your convenience</a></li> <li><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span> <b>Done</b> – Navigate to <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> on your wiki to verify that the extension is successfully installed.</li></ul> <p>To allow daily or weekly summary notifications to be delivered by mail (for users that choose that in preferences), the following script inside the Echo extension directory needs to be run on a daily basis, which can be scheduled in a cron job: </p> <pre>maintenance/processEchoEmailBatch.php </pre> <div style="clear: both;"></div> <div class="mw-heading mw-heading2"><h2 id="Configuration">Configuration</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=2" title="Edit section: Configuration"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>It is possible to use <a href="/wiki/Special:MyLanguage/Manual:$wgConditionalUserOptions" title="Special:MyLanguage/Manual:$wgConditionalUserOptions">conditional user options</a><span style="display:none"><a href="/wiki/Manual:$wgConditionalUserOptions" title="Manual:$wgConditionalUserOptions"> </a></span> to set different notification preferences for new users, without affecting existing users. </p><p>See <a href="/wiki/Special:DisplayNotificationsConfiguration" title="Special:DisplayNotificationsConfiguration">Special:DisplayNotificationsConfiguration</a> for local details. </p> <div class="mw-heading mw-heading3"><h3 id="Parameters">Parameters</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=3" title="Edit section: Parameters"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable"> <caption>Configuration settings (defaults defined in <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a>) </caption> <tbody><tr> <th>Parameter </th> <th>Default </th> <th>Comment </th></tr> <tr> <td><code>$wgEchoEnableEmailBatch</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> </td> <td>Whether to turn on email batch function </td></tr> <tr> <td><code>$wgEchoUseJobQueue</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td> <ul><li><code>true</code> - Defer web and email notification delivery via job queue.</li> <li><code>false</code> - Deliver notifications immediately</li></ul> </td></tr> <tr> <td><code>$wgEchoEmailFooterAddress</code> </td> <td>'' </td> <td>The organization address (or whatever text you want to appear in the footer of the email notifications). Should be defined in LocalSettings.php </td></tr> <tr> <td><code>$wgNotificationSender</code> </td> <td><code>$wgPasswordSender</code> </td> <td>The email address for both "from" and "reply to" on email notifications. Should be defined in LocalSettings.php </td></tr> <tr> <td><code>$wgNotificationSenderName</code> </td> <td><a href="/wiki/MediaWiki:Emailsender" title="MediaWiki:Emailsender">"emailsender" message</a> (MediaWiki) </td> <td>Name for "from" on email notifications. Should be defined in LocalSettings.php </td></tr> <tr> <td><code>$wgNotificationReplyName</code> </td> <td>No Reply </td> <td>Name for "reply to" on email notifications. Should be defined in LocalSettings.php </td></tr> <tr> <td><code>$wgEchoCluster</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Use the main db if this is set to false, to use a specific external db, just use any key defined in <a href="/wiki/Special:MyLanguage/Manual:$wgExternalServers" title="Special:MyLanguage/Manual:$wgExternalServers">$wgExternalServers</a><span style="display:none"><a href="/wiki/Manual:$wgExternalServers" title="Manual:$wgExternalServers"> </a></span> </td></tr> <tr> <td><code>$wgEchoSharedTrackingDB</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Shared database to use for keeping track of cross-wiki unread notifications; false to not keep track of it at all </td></tr> <tr> <td><code>$wgEchoSharedTrackingCluster</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Cluster the shared tracking database is located on; false if it is on the main one. Must be a key defined in <a href="/wiki/Special:MyLanguage/Manual:$wgExternalServers" title="Special:MyLanguage/Manual:$wgExternalServers">$wgExternalServers</a><span style="display:none"><a href="/wiki/Manual:$wgExternalServers" title="Manual:$wgExternalServers"> </a></span> </td></tr> <tr> <td><code>$wgEchoMaxUpdateCount</code> </td> <td>2000 </td> <td>The max number of notifications allowed for a user to do a live update, this is also the number of max notifications allowed for a user to have. </td></tr> <tr> <td><code>$wgEchoMaxMentionsCount</code> </td> <td>50 </td> <td>The max number of mention notifications allowed for a user to send at once </td></tr> <tr> <td><code>$wgEchoMentionStatusNotifications</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Enable mention success/failure notifications </td></tr> <tr> <td><code>$wgEchoMentionsOnMultipleSectionEdits</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> </td> <td>Trigger mentions for multiple-section edits </td></tr> <tr> <td><code>$wgEchoMentionOnChanges</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> </td> <td>Trigger mentions for edits to existing comments, as long as a signature is added in the same section </td></tr> <tr> <td><code>$wgEchoMaxMentionsInEditSummary</code> </td> <td>0 </td> <td>Maximum number of users that will be notified that they were linked from an edit summary or 0 for no notifications </td></tr> <tr> <td><code>$wgEchoBundleEmailInterval</code> </td> <td>0 </td> <td>The time interval between each bundle email in seconds; set a small number for test wikis. This should be set to 0 to disable email bundling if there is no delay queue support </td></tr> <tr> <td><code>$wgEchoNewMsgAlert</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> </td> <td>Whether or not to enable a new talk page message alert for logged in users. </td></tr> <tr> <td><code>$wgNotifyTypeAvailabilityByCategory</code> </td> <td><div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="p">[</span> <span class="c1">// Otherwise, a user->user email could trigger an additional redundant notification email.</span> <span class="s1">'emailuser'</span> <span class="o">=></span> <span class="p">[</span> <span class="s1">'web'</span> <span class="o">=></span> <span class="k">true</span><span class="p">,</span> <span class="s1">'email'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span> <span class="p">],</span> <span class="s1">'mention-failure'</span> <span class="o">=></span> <span class="p">[</span> <span class="s1">'web'</span> <span class="o">=></span> <span class="k">true</span><span class="p">,</span> <span class="s1">'email'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span> <span class="p">],</span> <span class="s1">'mention-success'</span> <span class="o">=></span> <span class="p">[</span> <span class="s1">'web'</span> <span class="o">=></span> <span class="k">true</span><span class="p">,</span> <span class="s1">'email'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span> <span class="p">],</span> <span class="p">]</span> </pre></div> </td> <td>Define which notify types are available for each notification category. If any notify types are omitted, it defaults to $wgDefaultNotifyTypeAvailability. </td></tr> <tr> <td><code>$wgEchoNotifiers</code> </td> <td><div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="p">[</span> <span class="s1">'web'</span> <span class="o">=></span> <span class="p">[</span> <span class="s1">'EchoNotifier'</span><span class="p">,</span> <span class="s1">'notifyWithNotification'</span> <span class="p">],</span> <span class="s1">'email'</span> <span class="o">=></span> <span class="p">[</span> <span class="s1">'EchoNotifier'</span><span class="p">,</span> <span class="s1">'notifyWithEmail'</span> <span class="p">],</span> <span class="p">]</span> </pre></div> </td> <td>Definitions of the different types of notification delivery that are possible. Each definition consists of a class name and a function name. See also EchoNotificationController class. </td></tr> <tr> <td><code>$wgEchoAgentBlacklist</code> </td> <td>[] </td> <td>List of usernames which will not trigger notifications </td></tr> <tr> <td><code>$wgEchoOnWikiBlacklist</code> </td> <td>Echo-blacklist </td> <td>Page location of community maintained blacklist within NS_MEDIAWIKI containing one username per line which will not trigger notifications. Set to null to disable. </td></tr> <tr> <td><code>$wgEchoPerUserWhitelistFormat</code> </td> <td>%s/Echo-whitelist </td> <td>An sprintf format of the location of the per-user notification agent whitelist within the NS_USER namespace. %s will be replaced with the users name. The whitelists must contain one username per line which will always trigger notifications regardless of their existence in the blacklists. Set to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">null</span></code> to disable. </td></tr> <tr> <td><code>$wgEchoCrossWikiNotifications</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Whether to enable the cross-wiki notifications feature. To enable this feature you need to: <ul><li>have CentralAuth for a global user system (<a href="https://phabricator.wikimedia.org/T243412" class="extiw" title="phab:T243412">T243412</a>)</li> <li>have $wgMainStash and $wgMainWANCache shared between wikis</li> <li>configure $wgEchoSharedTrackingDB</li></ul> </td></tr> <tr> <td><code>$wgEchoUseCrossWikiBetaFeature</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> </td> <td>Feature flag for the cross-wiki notifications beta feature <p>If this is <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code>, the cross-wiki notifications preference will appear in the BetaFeatures section. If this is <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code>, it'll appear in the Notifications section instead. </p><p>This does not control whether cross-wiki notifications are enabled by default. For that, use <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="nv">$wgDefaultUserOptions</span><span class="p">[</span><span class="s1">'echo-cross-wiki-notifications'</span><span class="p">]</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span></code> </p> </td></tr> <tr> <td><code>$wgEchoNotificationCategories</code> </td> <td><i>See <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a></i> </td> <td>Define the categories that notifications can belong to. Categories can be assigned the following parameters. All parameters are optional: <ul><li><code>priority</code> - controls the order in which notifications are displayed in preferences and batch emails. Priority ranges from 1 to 10. If the priority is not specified, it defaults to 10, which is the lowest.</li> <li><code>no-dismiss</code> - disables the dismissability of notifications in the category. It can either be set to an array of output formats (see <code>$wgEchoNotifiers</code>) or an array containing 'all'.</li> <li><code>usergroups</code> - specifies an array of usergroups eligible to receive the notifications in the category. If no usergroups parameter is specified, all groups are eligible.</li></ul> <p>If a notifications type doesn't have a category parameter, it is automatically assigned to the <code>other</code> category which is lowest priority and has no preferences or dismissibility. </p> </td></tr> <tr> <td><code>$wgEchoNotificationIcons</code> </td> <td><i>See <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a></i> </td> <td>Defines icons, which are 30x30 images. This is passed to BeforeCreateEchoEvent so extensions can define their own icons with the same structure. It is recommended that extensions prefix their icon key. An example is myextension-name. This will help avoid namespace conflicts. <p>You can use either a path or a url, but not both. The value of 'path' is relative to <code>$wgExtensionAssetsPath</code>. </p><p>The value of 'url' should be a URL. </p><p>You should customize the site icon URL, which is: <code>$wgEchoNotificationIcons['site']['url']</code> </p> </td></tr> <tr> <td><code>$wgEchoNotifications</code> </td> <td><i>See <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a></i> </td> <td>Define the event types for echo. Event definitions are in the form of 'event-name' => [ ... ]. <ul><li><code>category</code> - defines the category the event belongs to. Defaults to 'other'.</li> <li><code>group</code> - defaults to 'neutral'.</li> <li><code>bundle</code> - define which output formats are available for bundling.</li> <li><code>presentation-model</code> - define which class is used to render notification messages and links for notification panels, special page and emails. It must extend <code>EchoEventPresentationModel</code>.</li></ul> </td></tr> <tr> <td><code>$wgEchoConfig</code> </td> <td><i>See <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a></i> </td> <td>Configuration for EventLogging. Individual schemas can be disabled. </td></tr> <tr> <td><code>$wgEchoPerUserBlacklist</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">null</span></code> </td> <td>Boolean that enabled Per User Blacklist. </td></tr></tbody></table> <p><br /> </p> <div class="mw-heading mw-heading3"><h3 id="User_preferences">User preferences</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=4" title="Edit section: User preferences"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable"> <caption>Preference settings (defaults defined in <a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/Echo/%2B/HEAD/extension.json" class="extiw" title="git:mediawiki/extensions/Echo/+/HEAD/extension.json">extension.json</a>) </caption> <tbody><tr> <th>Preference </th> <th>Default </th> <th>Comment </th></tr> <tr> <td><code>$wgDefaultUserOptions['echo-email-frequency']</code> </td> <td>0 </td> <td>How often to send emails, by default: <ul><li>0 - send emails for each notification as they come in (default)</li> <li>-1 - do not send emails</li> <li>1 - each day</li> <li>7 - each 7 days</li> <li>...</li></ul> </td></tr> <tr> <td><code>$wgDefaultUserOptions['echo-email-format']</code> </td> <td>Depends on <code>$wgAllowHTMLEmail</code> </td> <td>Default user preference for whether to use HTML or text email. Either <code>html</code> or <code>plain-text</code>. </td></tr> <tr> <td><code>$wgDefaultUserOptions["echo-subscriptions-email-{$category}"]</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">false</span></code> for most categories; depends </td> <td>Default user preference for whether to notify via email for a particular category </td></tr> <tr> <td><code>$wgDefaultUserOptions["echo-subscriptions-web-{$category}"]</code> </td> <td><code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> for most categories; depends </td> <td>Default user preference for whether to notify via web for a particular category </td></tr></tbody></table> <p><br /> </p> <div class="mw-heading mw-heading2"><h2 id="Architecture">Architecture</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=5" title="Edit section: Architecture"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>See <a href="/wiki/Special:MyLanguage/Echo_(Notifications)/Technical_Architecture" title="Special:MyLanguage/Echo (Notifications)/Technical Architecture">the architecture section of the feature page</a><span style="display:none"><a href="/wiki/Echo_(Notifications)/Technical_Architecture" class="mw-redirect" title="Echo (Notifications)/Technical Architecture"> </a></span>. </p> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=6" title="Edit section: Usage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Notification_negative_list_/_positive_list"><span id="Notification_negative_list_.2F_positive_list"></span>Notification negative list / positive list</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=7" title="Edit section: Notification negative list / positive list"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are occasionally specific users, typically bots, which perform maintenance tasks that should not generate notifications. To handle these cases, users can be globally blacklisted from the LocalSettings.php file (or InitialiseSettings.php in the case of WMF wikis): </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgEchoAgentBlacklist</span> <span class="o">=</span> <span class="p">[</span> <span class="s1">'SampleBot'</span><span class="p">,</span> <span class="s1">'SampleUser'</span> <span class="p">];</span> </pre></div> <p>There is also an on-wiki blacklist that can be maintained by the wiki's community. The location of the global on-wiki blacklist defaults to <a href="/wiki/MediaWiki:Echo-blacklist" title="MediaWiki:Echo-blacklist">MediaWiki:Echo-blacklist</a>. Individual users can override the blacklist by creating a whitelist. The whitelist location defaults to <a href="/wiki/Special:MyPage/Echo-whitelist" title="Special:MyPage/Echo-whitelist">Special:MyPage/Echo-whitelist</a>. All on-wiki lists expect to receive one case-specific username per line with no special markup or prefixes. For example: </p> <pre>SampleBot SampleUser </pre> <div class="mw-heading mw-heading3"><h3 id=""Mention"_option"><span id=".22Mention.22_option"></span>"Mention" option</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=8" title="Edit section: "Mention" option"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>One of the notification types that this extension allows is: "Notify me when someone links to my user page." It might not be obvious to some users, but this particular notification only works when the person linking to another user's page also signs (~~~~) the post.<br /> </p><p>After installation of the extension, a new tab "Notifications" is created in a user's <a href="/wiki/Special:Preferences" title="Special:Preferences">Special:Preferences</a> page. Under the section "Notify me about these events", in front of the "Mention" option, the hoverbox states: "Notify me when someone links to my user page." If an administrator feels, that the requirement for signing the post isn't obvious in this help text, it can be modified by changing the text in the Wiki's <a href="/wiki/MediaWiki:Echo-pref-tooltip-mention" title="MediaWiki:Echo-pref-tooltip-mention">MediaWiki:Echo-pref-tooltip-mention</a> page. </p> <div class="mw-heading mw-heading2"><h2 id="Terminology">Terminology</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=9" title="Edit section: Terminology"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>notification - Any individual notice that is delivered by Echo</li> <li>message - A notification about activity in a Flow discussion</li> <li>alert - Any notification other than a message</li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Echo&action=edit&section=10" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Special:MyLanguage/Notifications/API" title="Special:MyLanguage/Notifications/API">Notifications/API</a><span style="display:none"><a href="/wiki/Notifications/API" title="Notifications/API"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Echo" title="Special:MyLanguage/Manual:Echo">Manual:Echo</a><span style="display:none"><a href="/wiki/Manual:Echo" title="Manual:Echo"> </a></span> - for details on the Mention requirements</li> <li><a href="/wiki/Special:MyLanguage/Extension:Echo/Creating_a_new_notification_type" title="Special:MyLanguage/Extension:Echo/Creating a new notification type">Extension:Echo/Creating a new notification type</a><span style="display:none"><a href="/wiki/Extension:Echo/Creating_a_new_notification_type" title="Extension:Echo/Creating a new notification type"> </a></span> (current)</li> <li><a href="/wiki/Special:MyLanguage/Notifications/Developer_guide" title="Special:MyLanguage/Notifications/Developer guide">Notifications/Developer_guide</a><span style="display:none"><a href="/wiki/Notifications/Developer_guide" title="Notifications/Developer guide"> </a></span> (outdated)</li></ul> <style data-mw-deduplicate="TemplateStyles:r6651108">.mw-parser-output table.ombox{margin:4px 10%;border-collapse:collapse;border:1px solid #a2a9b1;background-color:#f8f9fa;color:#333;box-sizing:border-box}.mw-parser-output .ombox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox th.mbox-text,.mw-parser-output .ombox td.mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox td.mbox-image{border:none;text-align:center;padding:2px 0 2px 0.9em}.mw-parser-output .ombox td.mbox-imageright{border:none;text-align:center;padding:2px 0.9em 2px 0}.mw-parser-output table.ombox-notice{border-color:#a2a9b1}.mw-parser-output table.ombox-speedy{background-color:#fee7e6;color:#333}.mw-parser-output table.ombox-speedy,.mw-parser-output table.ombox-delete{border-color:#b32424;border-width:2px}.mw-parser-output table.ombox-content{border-color:#f28500}.mw-parser-output table.ombox-style{border-color:#fc3}.mw-parser-output table.ombox-move{border-color:#9932cc}.mw-parser-output table.ombox-protection{border-color:#a2a9b1;border-width:2px}html body.mediawiki .mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}@media screen{html.skin-theme-clientpref-night .mw-parser-output table.ombox{background-color:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output table.ombox{background-color:transparent;color:inherit}}</style><table class="ombox ombox-notice plainlinks" role="presentation" style="clear: both; margin-top: 0; margin-bottom: 0;"><tbody><tr><td class="mbox-image"><span class="skin-invert-image" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/40px-Wikimedia-logo_black.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/60px-Wikimedia-logo_black.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Wikimedia-logo_black.svg/80px-Wikimedia-logo_black.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This extension is being used on one or more <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Wikimedia_projects" class="extiw" title="m:Special:MyLanguage/Wikimedia projects">Wikimedia projects</a>. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=CommonSettings.php">CommonSettings.php</a> and <a class="external text" href="https://noc.wikimedia.org/conf/highlight.php?file=InitialiseSettings.php">InitialiseSettings.php</a> configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's <a href="/wiki/Special:Version" title="Special:Version">Special:Version</a> page.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6651108"><table class="ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/40px-OOjs_UI_icon_information-progressive.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/60px-OOjs_UI_icon_information-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ec/OOjs_UI_icon_information-progressive.svg/80px-OOjs_UI_icon_information-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></span></span></td><td class="mbox-text">This extension is included in the following wiki farms/hosts and/or packages: <style data-mw-deduplicate="TemplateStyles:r6387430">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}</style><div class="hlist"> <ul><li><a href="/wiki/Special:MyLanguage/BlueSpice" title="Special:MyLanguage/BlueSpice">BlueSpice</a><span style="display:none"><a href="/wiki/BlueSpice" title="BlueSpice"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Canasta" title="Special:MyLanguage/Canasta">Canasta</a><span style="display:none"><a href="/wiki/Canasta" title="Canasta"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Miraheze" title="Special:MyLanguage/Miraheze">Miraheze</a><span style="display:none"><a href="/wiki/Miraheze" title="Miraheze"> </a></span></li> <li><a rel="nofollow" class="external text" href="https://www.mywikis.com/">MyWikis</a></li> <li><a rel="nofollow" class="external text" href="https://www.pro.wiki/">ProWiki</a></li> <li><a rel="nofollow" class="external text" href="https://semantic.wiki/de/core">semantic::core</a></li> <li><a href="/wiki/Special:MyLanguage/ShoutWiki" title="Special:MyLanguage/ShoutWiki">ShoutWiki</a><span style="display:none"><a href="/wiki/ShoutWiki" title="ShoutWiki"> </a></span></li> <li><a rel="nofollow" class="external text" href="https://telepedia.net/">Telepedia</a></li> <li><a href="/wiki/Special:MyLanguage/wiki.gg" title="Special:MyLanguage/wiki.gg">wiki.gg</a><span style="display:none"><a href="/wiki/Wiki.gg" title="Wiki.gg"> </a></span></li> <li><a rel="nofollow" class="external text" href="https://wikiforge.net/">WikiForge</a></li></ul> </div> <small>This is not an authoritative list.</small> <small>Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here.</small> <small>Always check with your wiki farms/hosts or bundle to confirm.</small></td></tr></tbody></table> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐7fc47fc68d‐8vr44 Cached time: 20241128165136 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.914 seconds Real time usage: 1.172 seconds Preprocessor visited node count: 9907/1000000 Post‐expand include size: 147227/2097152 bytes Template argument size: 32657/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 51/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 21182/5000000 bytes Lua time usage: 0.424/10.000 seconds Lua memory usage: 16614757/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 833.853 1 -total 59.75% 498.265 1 Template:Extension 39.02% 325.400 105 Template:Ll 24.03% 200.363 154 Template:Pagelang 22.13% 184.542 241 Template:Translatable 16.75% 139.699 2 Template:Mbox 14.47% 120.662 1 Template:Used_by 13.71% 114.300 1 Template:Flatlist 7.83% 65.310 1 Template:Ambox 4.69% 39.132 1 Template:Foreach --> <!-- Saved in parser cache with key mediawikiwiki:pcache:94495:|#|:idhash:canonical and timestamp 20241128165136 and revision id 6859766. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Extension:Echo&oldid=6859766">https://www.mediawiki.org/w/index.php?title=Extension:Echo&oldid=6859766</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Extensions_bundled_with_MediaWiki_1.40" title="Category:Extensions bundled with MediaWiki 1.40">Extensions bundled with MediaWiki 1.40</a></li><li><a href="/wiki/Category:Stable_extensions" title="Category:Stable extensions">Stable extensions</a></li><li><a href="/wiki/Category:Notification_extensions" title="Category:Notification extensions">Notification extensions</a></li><li><a href="/wiki/Category:MIT_licensed_extensions" title="Category:MIT licensed extensions">MIT licensed extensions</a></li><li><a href="/wiki/Category:Extensions_in_Wikimedia_version_control" title="Category:Extensions in Wikimedia version control">Extensions in Wikimedia version control</a></li><li><a href="/wiki/Category:AbortTalkPageEmailNotification_extensions" title="Category:AbortTalkPageEmailNotification extensions">AbortTalkPageEmailNotification extensions</a></li><li><a href="/wiki/Category:ApiMain::moduleManager_extensions" title="Category:ApiMain::moduleManager extensions">ApiMain::moduleManager extensions</a></li><li><a href="/wiki/Category:ArticleDeleteComplete_extensions" title="Category:ArticleDeleteComplete extensions">ArticleDeleteComplete extensions</a></li><li><a href="/wiki/Category:ArticleUndelete_extensions" title="Category:ArticleUndelete extensions">ArticleUndelete extensions</a></li><li><a href="/wiki/Category:BeforePageDisplay_extensions" title="Category:BeforePageDisplay extensions">BeforePageDisplay extensions</a></li><li><a href="/wiki/Category:EmailUserComplete_extensions" title="Category:EmailUserComplete extensions">EmailUserComplete extensions</a></li><li><a href="/wiki/Category:GetNewMessagesAlert_extensions" title="Category:GetNewMessagesAlert extensions">GetNewMessagesAlert extensions</a></li><li><a href="/wiki/Category:GetPreferences_extensions" title="Category:GetPreferences extensions">GetPreferences extensions</a></li><li><a href="/wiki/Category:LinksUpdateComplete_extensions" title="Category:LinksUpdateComplete extensions">LinksUpdateComplete extensions</a></li><li><a href="/wiki/Category:LoadExtensionSchemaUpdates_extensions" title="Category:LoadExtensionSchemaUpdates extensions">LoadExtensionSchemaUpdates extensions</a></li><li><a href="/wiki/Category:LoadUserOptions_extensions" title="Category:LoadUserOptions extensions">LoadUserOptions extensions</a></li><li><a href="/wiki/Category:LocalUserCreated_extensions" title="Category:LocalUserCreated extensions">LocalUserCreated extensions</a></li><li><a href="/wiki/Category:LoginFormValidErrorMessages_extensions" title="Category:LoginFormValidErrorMessages extensions">LoginFormValidErrorMessages extensions</a></li><li><a href="/wiki/Category:MergeAccountFromTo_extensions" title="Category:MergeAccountFromTo extensions">MergeAccountFromTo extensions</a></li><li><a href="/wiki/Category:OutputPageCheckLastModified_extensions" title="Category:OutputPageCheckLastModified extensions">OutputPageCheckLastModified extensions</a></li><li><a href="/wiki/Category:PageSaveComplete_extensions" title="Category:PageSaveComplete extensions">PageSaveComplete extensions</a></li><li><a href="/wiki/Category:PreferencesGetIcon_extensions" title="Category:PreferencesGetIcon extensions">PreferencesGetIcon extensions</a></li><li><a href="/wiki/Category:RecentChange_save_extensions" title="Category:RecentChange save extensions">RecentChange save extensions</a></li><li><a href="/wiki/Category:ResourceLoaderRegisterModules_extensions" title="Category:ResourceLoaderRegisterModules extensions">ResourceLoaderRegisterModules extensions</a></li><li><a href="/wiki/Category:RollbackComplete_extensions" title="Category:RollbackComplete extensions">RollbackComplete extensions</a></li><li><a href="/wiki/Category:SaveUserOptions_extensions" title="Category:SaveUserOptions extensions">SaveUserOptions extensions</a></li><li><a href="/wiki/Category:SendWatchlistEmailNotification_extensions" title="Category:SendWatchlistEmailNotification extensions">SendWatchlistEmailNotification extensions</a></li><li><a href="/wiki/Category:SkinTemplateNavigation::Universal_extensions" title="Category:SkinTemplateNavigation::Universal extensions">SkinTemplateNavigation::Universal extensions</a></li><li><a href="/wiki/Category:SpecialMuteModifyFormFields_extensions" title="Category:SpecialMuteModifyFormFields extensions">SpecialMuteModifyFormFields extensions</a></li><li><a href="/wiki/Category:UserClearNewTalkNotification_extensions" title="Category:UserClearNewTalkNotification extensions">UserClearNewTalkNotification extensions</a></li><li><a href="/wiki/Category:UserGetDefaultOptions_extensions" title="Category:UserGetDefaultOptions extensions">UserGetDefaultOptions extensions</a></li><li><a href="/wiki/Category:UserGroupsChanged_extensions" title="Category:UserGroupsChanged extensions">UserGroupsChanged extensions</a></li><li><a href="/wiki/Category:UserMergeAccountDeleteTables_extensions" title="Category:UserMergeAccountDeleteTables extensions">UserMergeAccountDeleteTables extensions</a></li><li><a href="/wiki/Category:UserMergeAccountFields_extensions" title="Category:UserMergeAccountFields extensions">UserMergeAccountFields extensions</a></li><li><a href="/wiki/Category:UserSaveSettings_extensions" title="Category:UserSaveSettings extensions">UserSaveSettings extensions</a></li><li><a href="/wiki/Category:All_extensions" title="Category:All extensions">All extensions</a></li><li><a href="/wiki/Category:Extensions_used_on_Wikimedia" title="Category:Extensions used on Wikimedia">Extensions used on Wikimedia</a></li><li><a href="/wiki/Category:Extensions_included_in_BlueSpice" title="Category:Extensions included in BlueSpice">Extensions included in BlueSpice</a></li><li><a href="/wiki/Category:Extensions_included_in_Canasta" title="Category:Extensions included in Canasta">Extensions included in Canasta</a></li><li><a href="/wiki/Category:Extensions_included_in_Miraheze" title="Category:Extensions included in Miraheze">Extensions included in Miraheze</a></li><li><a href="/wiki/Category:Extensions_included_in_MyWikis" title="Category:Extensions included in MyWikis">Extensions included in MyWikis</a></li><li><a href="/wiki/Category:Extensions_included_in_ProWiki" title="Category:Extensions included in ProWiki">Extensions included in ProWiki</a></li><li><a href="/wiki/Category:Extensions_included_in_semantic::core" title="Category:Extensions included in semantic::core">Extensions included in semantic::core</a></li><li><a href="/wiki/Category:Extensions_included_in_ShoutWiki" title="Category:Extensions included in ShoutWiki">Extensions included in ShoutWiki</a></li><li><a href="/wiki/Category:Extensions_included_in_Telepedia" title="Category:Extensions included in Telepedia">Extensions included in Telepedia</a></li><li><a href="/wiki/Category:Extensions_included_in_wiki.gg" title="Category:Extensions included in wiki.gg">Extensions included in wiki.gg</a></li><li><a href="/wiki/Category:Extensions_included_in_WikiForge" title="Category:Extensions included in WikiForge">Extensions included in WikiForge</a></li><li><a href="/wiki/Category:Echo" title="Category:Echo">Echo</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden category: <ul><li><a href="/wiki/Category:Extensions_with_release_branches_compatibility_policy" title="Category:Extensions with release branches compatibility policy">Extensions with release branches compatibility policy</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 18 November 2024, at 23:44.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Extension:Echo&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-7fc47fc68d-8vr44","wgBackendResponseTime":1323,"wgPageParseReport":{"limitreport":{"cputime":"0.914","walltime":"1.172","ppvisitednodes":{"value":9907,"limit":1000000},"postexpandincludesize":{"value":147227,"limit":2097152},"templateargumentsize":{"value":32657,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":51,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":21182,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 833.853 1 -total"," 59.75% 498.265 1 Template:Extension"," 39.02% 325.400 105 Template:Ll"," 24.03% 200.363 154 Template:Pagelang"," 22.13% 184.542 241 Template:Translatable"," 16.75% 139.699 2 Template:Mbox"," 14.47% 120.662 1 Template:Used_by"," 13.71% 114.300 1 Template:Flatlist"," 7.83% 65.310 1 Template:Ambox"," 4.69% 39.132 1 Template:Foreach"]},"scribunto":{"limitreport-timeusage":{"value":"0.424","limit":"10.000"},"limitreport-memusage":{"value":16614757,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-7fc47fc68d-8vr44","timestamp":"20241128165136","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>