CINXE.COM

Extension:Approved Revs - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-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-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Extension:Approved Revs - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-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-sticky-header-enabled 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":"871b5ff0-b696-46bb-a11e-2a95b304ae3c","wgCanonicalNamespace":"Extension","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":102,"wgPageName":"Extension:Approved_Revs","wgTitle":"Approved Revs","wgCurRevisionId":7015535,"wgRevisionId":7015535,"wgArticleId":48241,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Extensions without an image","Extensions with master compatibility policy","Extensions with manual MediaWiki version","Stable extensions","Hook extensions","Extensions supporting Composer","GPL licensed extensions","Extensions in Wikimedia version control","Extensions which add rights","AdminLinks extensions","ArticleFromTitle extensions","ArticleRevisionViewCustom extensions","ArticleViewHeader extensions","BeforeParserFetchFileAndTitle extensions","BeforeParserFetchTemplateRevisionRecord extensions","DiffTools extensions","DisplayOldSubtitle extensions","FileDeleteComplete extensions","GetMagicVariableIDs extensions","ImagePageFileHistoryLine extensions","ImagePageFindFile extensions","LoadExtensionSchemaUpdates extensions","MpdfGetArticle extensions","OutputPageBodyAttributes extensions","PageDeleteComplete extensions","PageForms::HTMLBeforeForm extensions","PageHistoryLineEnding extensions","PageMoveComplete extensions","PageSaveComplete extensions","ParserAfterTidy extensions","ParserBeforeInternalParse extensions","ParserFirstCallInit extensions","ParserGetVariableValueSwitch extensions","RevisionDataUpdates extensions","SearchResultInitFromTitle extensions","SkinTemplateNavigation::Universal extensions","TitleGetEditNotices extensions","UploadComplete extensions","WgQueryPages extensions","All extensions","Extensions included in Canasta","Extensions included in Miraheze","Extensions included in MyWikis","Extensions included in ProWiki","Extensions included in semantic::core","Extensions included in WikiForge","Revision management extensions"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Extension:Approved_Revs","wgRelevantArticleId":48241,"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,"wgTranslatePageTranslation":"source","wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q21676333","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"wgSiteNoticeId":"2.8"}; 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.dismissableSiteNotice.styles":"ready"};RLPAGEMODULES=["ext.pygments.view","mediawiki.page.media","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","ext.dismissableSiteNotice"];</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&amp;modules=ext.dismissableSiteNotice.styles%7Cext.pygments%2Ctranslate%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&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.22"> <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/e/e0/Approved_revs_file_approval.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1233"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Approved_revs_file_approval.png/800px-Approved_revs_file_approval.png"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="822"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Approved_revs_file_approval.png/640px-Approved_revs_file_approval.png"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="658"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Extension:Approved Revs - 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:Approved_Revs"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Extension:Approved_Revs&amp;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:Approved_Revs"> <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&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="auth.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_Approved_Revs rootpage-Extension_Approved_Revs 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" title="Main menu" > <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-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</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/Q21676333#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.org" aria-label="Search mediawiki.org" 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&#039;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&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;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&amp;returnto=Extension%3AApproved+Revs" 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&amp;returnto=Extension%3AApproved+Revs" 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&amp;wmf_medium=sidebar&amp;wmf_campaign=www.mediawiki.org&amp;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&amp;returnto=Extension%3AApproved+Revs" 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&amp;returnto=Extension%3AApproved+Revs" 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:Contents" 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"><div id="mw-dismissablenotice-anonplace"></div><script>(function(){var node=document.getElementById("mw-dismissablenotice-anonplace");if(node){node.outerHTML="\u003Cdiv class=\"mw-dismissable-notice\"\u003E\u003Cdiv class=\"mw-dismissable-notice-close\"\u003E[\u003Ca tabindex=\"0\" role=\"button\"\u003Edismiss\u003C/a\u003E]\u003C/div\u003E\u003Cdiv class=\"mw-dismissable-notice-body\"\u003E\u003C!-- CentralNotice --\u003E\u003Cdiv id=\"localNotice\" data-nosnippet=\"\"\u003E\u003Cdiv class=\"sitenotice\" lang=\"en\" dir=\"ltr\"\u003E\u003Ccenter\u003E\n\u003Cdiv style=\"width:100%; padding:15px; border-style:solid; border-width:2px; border-color:var(--color-placeholder, black); font-size:14px; text-align:center;\" class=\"plainlinks\"\u003E\u003Cdiv style=\"vertical-align:middle;margin-top:0.5em\"\u003E\u003Cfigure class=\"mw-halign-left skin-invert\" typeof=\"mw:File\"\u003E\u003Ca href=\"/wiki/MediaWiki_Users_and_Developers_Conference\" title=\"MediaWiki Users and Developers Conference\"\u003E\u003Cimg src=\"//upload.wikimedia.org/wikipedia/commons/thumb/7/71/MediaWikiUsersDevelopersConferenceWordmark.png/120px-MediaWikiUsersDevelopersConferenceWordmark.png\" decoding=\"async\" width=\"100\" height=\"44\" class=\"mw-file-element\" srcset=\"//upload.wikimedia.org/wikipedia/commons/thumb/7/71/MediaWikiUsersDevelopersConferenceWordmark.png/250px-MediaWikiUsersDevelopersConferenceWordmark.png 1.5x\" data-file-width=\"1080\" data-file-height=\"480\" /\u003E\u003C/a\u003E\u003Cfigcaption\u003E\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\n\u003Cp\u003EEarly bird tickets for the \u003Ca href=\"/wiki/MediaWiki_Users_and_Developers_Conference_Spring_2025\" title=\"MediaWiki Users and Developers Conference Spring 2025\"\u003EMediaWiki Users and Developers Conference Spring 2025\u003C/a\u003E in \u003Ca href=\"https://en.wikipedia.org/wiki/Sandusky,_Ohio\" class=\"extiw\" title=\"w:Sandusky, Ohio\"\u003ESandusky\u003C/a\u003E, Ohio, USA are now \u003Ca rel=\"nofollow\" class=\"external text\" href=\"https://www.eventbrite.com/e/mediawiki-users-and-developers-conference-spring-2025-tickets-1254864847539\"\u003E\u003Cb\u003Eon sale on Eventbrite\u003C/b\u003E\u003C/a\u003E until April 13! In addition, the \u003Ca href=\"/wiki/MediaWiki_Users_and_Developers_Conference/Scholarships\" title=\"MediaWiki Users and Developers Conference/Scholarships\"\u003Escholarship application\u003C/a\u003E is open now until April 15.\n\u003C/p\u003E\n\u003C/div\u003E\n\u003C/center\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E";}}());</script></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-Download" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Download"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Download</span> </div> </a> <ul id="toc-Download-sublist" class="vector-toc-list"> </ul> </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">2</span> <span>Installation</span> </div> </a> <ul id="toc-Installation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Authors" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Authors"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Authors</span> </div> </a> <ul id="toc-Authors-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-Special:ApprovedRevs_page" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Special:ApprovedRevs_page"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Special:ApprovedRevs page</span> </div> </a> <ul id="toc-Special:ApprovedRevs_page-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Storage_of_approval_information" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Storage_of_approval_information"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Storage of approval information</span> </div> </a> <ul id="toc-Storage_of_approval_information-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Displaying_unapproved_pages_as_blank" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Displaying_unapproved_pages_as_blank"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>Displaying unapproved pages as blank</span> </div> </a> <ul id="toc-Displaying_unapproved_pages_as_blank-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Indicating_unapproved_pages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Indicating_unapproved_pages"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.4</span> <span>Indicating unapproved pages</span> </div> </a> <ul id="toc-Indicating_unapproved_pages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Setting_pages_as_approvable" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Setting_pages_as_approvable"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5</span> <span>Setting pages as approvable</span> </div> </a> <ul id="toc-Setting_pages_as_approvable-sublist" class="vector-toc-list"> <li id="toc-Setting_all_pages_in_a_namespace_as_approvable" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Setting_all_pages_in_a_namespace_as_approvable"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5.1</span> <span>Setting all pages in a namespace as approvable</span> </div> </a> <ul id="toc-Setting_all_pages_in_a_namespace_as_approvable-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Making_pages_approvable_with_#approvable_by" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Making_pages_approvable_with_#approvable_by"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5.2</span> <span>Making pages approvable with #approvable_by</span> </div> </a> <ul id="toc-Making_pages_approvable_with_#approvable_by-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Setting_pages_approvable_via_magic_word" class="vector-toc-list-item vector-toc-level-3"> <a class="vector-toc-link" href="#Setting_pages_approvable_via_magic_word"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5.3</span> <span>Setting pages approvable via magic word</span> </div> </a> <ul id="toc-Setting_pages_approvable_via_magic_word-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Letting_non-administrators_&quot;own&quot;_pages" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Letting_non-administrators_&quot;own&quot;_pages"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.6</span> <span>Letting non-administrators "own" pages</span> </div> </a> <ul id="toc-Letting_non-administrators_&quot;own&quot;_pages-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Displaying_approval_information" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Displaying_approval_information"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.7</span> <span>Displaying approval information</span> </div> </a> <ul id="toc-Displaying_approval_information-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-API" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#API"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.8</span> <span>API</span> </div> </a> <ul id="toc-API-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Marking_all_pages_as_approved" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Marking_all_pages_as_approved"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.9</span> <span>Marking all pages as approved</span> </div> </a> <ul id="toc-Marking_all_pages_as_approved-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-File_approvals" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#File_approvals"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>File approvals</span> </div> </a> <ul id="toc-File_approvals-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Version_history" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Version_history"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Version history</span> </div> </a> <ul id="toc-Version_history-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Known_issues" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Known_issues"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Known issues</span> </div> </a> <ul id="toc-Known_issues-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Contributing_to_the_project" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Contributing_to_the_project"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Contributing to the project</span> </div> </a> <button aria-controls="toc-Contributing_to_the_project-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 Contributing to the project subsection</span> </button> <ul id="toc-Contributing_to_the_project-sublist" class="vector-toc-list"> <li id="toc-Bugs_and_feature_requests" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Bugs_and_feature_requests"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Bugs and feature requests</span> </div> </a> <ul id="toc-Bugs_and_feature_requests-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Contributing_patches_to_the_project" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Contributing_patches_to_the_project"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Contributing patches to the project</span> </div> </a> <ul id="toc-Contributing_patches_to_the_project-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Translating" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Translating"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.3</span> <span>Translating</span> </div> </a> <ul id="toc-Translating-sublist" class="vector-toc-list"> </ul> </li> </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">9</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" title="Table of Contents" > <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">Approved Revs</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/mediawiki-extensions-approved-revs/" class="extiw" title="phab:tag/mediawiki-extensions-approved-revs/"><b>#mediawiki-extensions-approved-revs</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:Approved_Revs" 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:Approved_Revs" 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:Approved_Revs"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Extension:Approved_Revs&amp;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:Approved_Revs&amp;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:Approved_Revs"><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:Approved_Revs&amp;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:Approved_Revs&amp;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:Approved_Revs" 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:Approved_Revs" 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-permalink" class="mw-list-item"><a href="/w/index.php?title=Extension:Approved_Revs&amp;oldid=7015535" 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:Approved_Revs&amp;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&amp;page=Extension%3AApproved_Revs&amp;id=7015535&amp;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&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AApproved_Revs"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AApproved_Revs"><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&amp;bookcmd=book_creator&amp;referer=Extension%3AApproved+Revs"><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&amp;page=Extension%3AApproved_Revs&amp;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:Approved_Revs&amp;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/Q21676333" 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&amp;group=page-Extension%3AApproved+Revs&amp;action=page&amp;filter=&amp;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="/w/index.php?title=Special:Translate&amp;group=page-Extension%3AApproved+Revs&amp;language=&amp;task=view" class="new" title="Start translation for this language" lang="" dir="ltr"></a></li> <li><a href="/wiki/Extension:Approved_Revs/de" class="mw-pt-progress mw-pt-progress--med" title="Erweiterung:Approved Revs (48% 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:Approved_Revs/ha" class="mw-pt-progress mw-pt-progress--low" title="Extension:Approved Revs/ha (0% translated)" lang="ha" dir="ltr">Hausa</a></li> <li><a href="/wiki/Extension:Approved_Revs/tr" class="mw-pt-progress mw-pt-progress--med" title="Extension:Approved Revs (18% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Extension:Approved_Revs/es" class="mw-pt-progress mw-pt-progress--med" title="Extensión:Approved Revs (26% translated)" lang="es" dir="ltr">español</a></li> <li><a href="/wiki/Extension:Approved_Revs/fr" class="mw-pt-progress mw-pt-progress--high" title="Extension:Approved Revs (98% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Extension:Approved_Revs/pl" class="mw-pt-progress mw-pt-progress--high" title="Rozszerzenie:Zatwierdzane Wersje (Approved Revs) (98% translated)" lang="pl" dir="ltr">polski</a></li> <li><a href="/wiki/Extension:Approved_Revs/cs" class="mw-pt-progress mw-pt-progress--complete" title="Rozšíření:Approved Revs (100% translated)" lang="cs" dir="ltr">čeština</a></li> <li><a href="/wiki/Extension:Approved_Revs/ru" class="mw-pt-progress mw-pt-progress--low" title="Extension:Approved Revs/ru (6% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Extension:Approved_Revs/ar" class="mw-pt-progress mw-pt-progress--complete" title="امتداد:مراجعات معتمدة (100% translated)" lang="ar" dir="rtl">العربية</a></li> <li><a href="/wiki/Extension:Approved_Revs/bn" class="mw-pt-progress mw-pt-progress--low" title="Extension:Approved Revs/bn (7% translated)" lang="bn" dir="ltr">বাংলা</a></li> <li><a href="/wiki/Extension:Approved_Revs/ja" class="mw-pt-progress mw-pt-progress--high" title="Extension:Approved Revs (95% translated)" lang="ja" dir="ltr">日本語</a></li></ul></div> <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 notheme 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">Approved Revs</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 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><a href="/wiki/Special:MyLanguage/Manual:Hooks" title="Special:MyLanguage/Manual:Hooks">Hook</a><span style="display:none"><a href="/wiki/Manual:Hooks" title="Manual:Hooks"> </a></span> </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>Allows administrators to mark a certain revision of a page as "approved".</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><a href="/wiki/User:Yaron_Koren" title="User:Yaron Koren">Yaron Koren</a> &lt;yaron57@gmail.com&gt; and others</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>2.1.2&#160;(February 2025)</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>Master maintains backward compatibility.</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.38+</td> </tr> <tr> <td><a href="/wiki/Special:MyLanguage/Template:Extension#needs-updatephp" title="Special:MyLanguage/Template:Extension"><abbr title="&#39;php update.php&#39; 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><a href="/wiki/Special:MyLanguage/Composer" title="Special:MyLanguage/Composer"><abbr title="Supports &#39;Composer&#39; for installation"><b>Composer</b></abbr></a><span style="display:none"><a href="/wiki/Composer" title="Composer"> </a></span></td> <td><a rel="nofollow" class="external text" href="https://packagist.org/packages/mediawiki/approved-revs">mediawiki/approved-revs</a></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:Approved_Revs/approved_revs_table" title="Special:MyLanguage/Extension:Approved Revs/approved revs table">approved_revs</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/approved_revs_table" title="Extension:Approved Revs/approved revs table"> </a></span><br /><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/approved_revs_files_table" title="Special:MyLanguage/Extension:Approved Revs/approved revs files table">approved_revs_files</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/approved_revs_files_table" title="Extension:Approved Revs/approved revs files table"> </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="//www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html">GNU General Public License 2.0 or later</a></td> </tr><tr> <td><b>Download</b></td> <td><div class="plainlinks"><a href="/wiki/Special:ExtensionDistributor/ApprovedRevs" title="Special:ExtensionDistributor/ApprovedRevs"><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><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/ApprovedRevs" class="extiw" title="git:mediawiki/extensions/ApprovedRevs">Browse&#160;repository</a> (<a href="https://phabricator.wikimedia.org/diffusion/EARE" class="extiw" title="phab:diffusion/EARE">Phabricator</a> ·&#160;<a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-ApprovedRevs">GitHub</a>)</li> <li><a href="https://gerrit.wikimedia.org/r/q/project:mediawiki/extensions/ApprovedRevs" class="extiw" title="gerrit:q/project:mediawiki/extensions/ApprovedRevs">Gerrit code review</a></li> <li><a href="https://gerrit.wikimedia.org/g/mediawiki/extensions/ApprovedRevs/%2Blog/master" class="extiw" title="git:mediawiki/extensions/ApprovedRevs/+log/master">Git commit&#160;log</a></li> <li><span class="plainlinks"><a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-ApprovedRevs/archive/master.tar.gz">Download source tarball</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#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">$wgApprovedRevsBlankIfUnapproved</span></li> <li><span class="configvariable">$wgApprovedRevsShowNotApprovedMessage</span></li> <li><span class="configvariable">$wgApprovedRevsEnabledNamespaces</span></li> <li><span class="configvariable">$wgApprovedRevsFileAutomaticApprovals</span></li> <li><span class="configvariable">$wgApprovedRevsShowApproveLatest</span></li> <li><span class="configvariable">$wgApprovedRevsBlankFileIfUnapproved</span></li> <li><span class="configvariable">$wgApprovedRevsSelfOwnedNamespaces</span></li> <li><span class="configvariable">$wgApprovedRevsAutomaticApprovals</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"> <p class="mw-empty-elt"> </p> <ul><li>viewlinktolatest</li> <li>approverevisions</li> <li>viewapprover</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/AdminLinks" title="Special:MyLanguage/Manual:Hooks/AdminLinks">AdminLinks</a><span style="display:none"><a href="/wiki/Manual:Hooks/AdminLinks" class="mw-redirect" title="Manual:Hooks/AdminLinks"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ArticleFromTitle" title="Special:MyLanguage/Manual:Hooks/ArticleFromTitle">ArticleFromTitle</a><span style="display:none"><a href="/wiki/Manual:Hooks/ArticleFromTitle" title="Manual:Hooks/ArticleFromTitle"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ArticleRevisionViewCustom" title="Special:MyLanguage/Manual:Hooks/ArticleRevisionViewCustom">ArticleRevisionViewCustom</a><span style="display:none"><a href="/wiki/Manual:Hooks/ArticleRevisionViewCustom" title="Manual:Hooks/ArticleRevisionViewCustom"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ArticleViewHeader" title="Special:MyLanguage/Manual:Hooks/ArticleViewHeader">ArticleViewHeader</a><span style="display:none"><a href="/wiki/Manual:Hooks/ArticleViewHeader" title="Manual:Hooks/ArticleViewHeader"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/BeforeParserFetchFileAndTitle" title="Special:MyLanguage/Manual:Hooks/BeforeParserFetchFileAndTitle">BeforeParserFetchFileAndTitle</a><span style="display:none"><a href="/wiki/Manual:Hooks/BeforeParserFetchFileAndTitle" title="Manual:Hooks/BeforeParserFetchFileAndTitle"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/BeforeParserFetchTemplateRevisionRecord" title="Special:MyLanguage/Manual:Hooks/BeforeParserFetchTemplateRevisionRecord">BeforeParserFetchTemplateRevisionRecord</a><span style="display:none"><a href="/wiki/Manual:Hooks/BeforeParserFetchTemplateRevisionRecord" title="Manual:Hooks/BeforeParserFetchTemplateRevisionRecord"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/DiffTools" title="Special:MyLanguage/Manual:Hooks/DiffTools">DiffTools</a><span style="display:none"><a href="/wiki/Manual:Hooks/DiffTools" title="Manual:Hooks/DiffTools"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/DisplayOldSubtitle" title="Special:MyLanguage/Manual:Hooks/DisplayOldSubtitle">DisplayOldSubtitle</a><span style="display:none"><a href="/wiki/Manual:Hooks/DisplayOldSubtitle" title="Manual:Hooks/DisplayOldSubtitle"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/FileDeleteComplete" title="Special:MyLanguage/Manual:Hooks/FileDeleteComplete">FileDeleteComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/FileDeleteComplete" title="Manual:Hooks/FileDeleteComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/GetMagicVariableIDs" title="Special:MyLanguage/Manual:Hooks/GetMagicVariableIDs">GetMagicVariableIDs</a><span style="display:none"><a href="/wiki/Manual:Hooks/GetMagicVariableIDs" title="Manual:Hooks/GetMagicVariableIDs"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ImagePageFileHistoryLine" title="Special:MyLanguage/Manual:Hooks/ImagePageFileHistoryLine">ImagePageFileHistoryLine</a><span style="display:none"><a href="/wiki/Manual:Hooks/ImagePageFileHistoryLine" title="Manual:Hooks/ImagePageFileHistoryLine"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ImagePageFindFile" title="Special:MyLanguage/Manual:Hooks/ImagePageFindFile">ImagePageFindFile</a><span style="display:none"><a href="/wiki/Manual:Hooks/ImagePageFindFile" title="Manual:Hooks/ImagePageFindFile"> </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/MpdfGetArticle" title="Special:MyLanguage/Manual:Hooks/MpdfGetArticle">MpdfGetArticle</a><span style="display:none"><a href="/wiki/Manual:Hooks/MpdfGetArticle" class="mw-redirect" title="Manual:Hooks/MpdfGetArticle"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/OutputPageBodyAttributes" title="Special:MyLanguage/Manual:Hooks/OutputPageBodyAttributes">OutputPageBodyAttributes</a><span style="display:none"><a href="/wiki/Manual:Hooks/OutputPageBodyAttributes" title="Manual:Hooks/OutputPageBodyAttributes"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PageDeleteComplete" title="Special:MyLanguage/Manual:Hooks/PageDeleteComplete">PageDeleteComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/PageDeleteComplete" title="Manual:Hooks/PageDeleteComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PageForms::HTMLBeforeForm" title="Special:MyLanguage/Manual:Hooks/PageForms::HTMLBeforeForm">PageForms::HTMLBeforeForm</a><span style="display:none"><a href="/wiki/Manual:Hooks/PageForms::HTMLBeforeForm" class="mw-redirect" title="Manual:Hooks/PageForms::HTMLBeforeForm"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PageHistoryLineEnding" title="Special:MyLanguage/Manual:Hooks/PageHistoryLineEnding">PageHistoryLineEnding</a><span style="display:none"><a href="/wiki/Manual:Hooks/PageHistoryLineEnding" title="Manual:Hooks/PageHistoryLineEnding"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/PageMoveComplete" title="Special:MyLanguage/Manual:Hooks/PageMoveComplete">PageMoveComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/PageMoveComplete" title="Manual:Hooks/PageMoveComplete"> </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/ParserAfterTidy" title="Special:MyLanguage/Manual:Hooks/ParserAfterTidy">ParserAfterTidy</a><span style="display:none"><a href="/wiki/Manual:Hooks/ParserAfterTidy" title="Manual:Hooks/ParserAfterTidy"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ParserBeforeInternalParse" title="Special:MyLanguage/Manual:Hooks/ParserBeforeInternalParse">ParserBeforeInternalParse</a><span style="display:none"><a href="/wiki/Manual:Hooks/ParserBeforeInternalParse" title="Manual:Hooks/ParserBeforeInternalParse"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ParserFirstCallInit" title="Special:MyLanguage/Manual:Hooks/ParserFirstCallInit">ParserFirstCallInit</a><span style="display:none"><a href="/wiki/Manual:Hooks/ParserFirstCallInit" title="Manual:Hooks/ParserFirstCallInit"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/ParserGetVariableValueSwitch" title="Special:MyLanguage/Manual:Hooks/ParserGetVariableValueSwitch">ParserGetVariableValueSwitch</a><span style="display:none"><a href="/wiki/Manual:Hooks/ParserGetVariableValueSwitch" title="Manual:Hooks/ParserGetVariableValueSwitch"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/RevisionDataUpdates" title="Special:MyLanguage/Manual:Hooks/RevisionDataUpdates">RevisionDataUpdates</a><span style="display:none"><a href="/wiki/Manual:Hooks/RevisionDataUpdates" title="Manual:Hooks/RevisionDataUpdates"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/SearchResultInitFromTitle" title="Special:MyLanguage/Manual:Hooks/SearchResultInitFromTitle">SearchResultInitFromTitle</a><span style="display:none"><a href="/wiki/Manual:Hooks/SearchResultInitFromTitle" title="Manual:Hooks/SearchResultInitFromTitle"> </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/TitleGetEditNotices" title="Special:MyLanguage/Manual:Hooks/TitleGetEditNotices">TitleGetEditNotices</a><span style="display:none"><a href="/wiki/Manual:Hooks/TitleGetEditNotices" title="Manual:Hooks/TitleGetEditNotices"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/UploadComplete" title="Special:MyLanguage/Manual:Hooks/UploadComplete">UploadComplete</a><span style="display:none"><a href="/wiki/Manual:Hooks/UploadComplete" title="Manual:Hooks/UploadComplete"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Manual:Hooks/wgQueryPages" title="Special:MyLanguage/Manual:Hooks/wgQueryPages">wgQueryPages</a><span style="display:none"><a href="/wiki/Manual:Hooks/wgQueryPages" title="Manual:Hooks/wgQueryPages"> </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:Approved_Revs/Hooks/ApprovedRevsPageIsApprovable" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsPageIsApprovable">ApprovedRevsPageIsApprovable</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsPageIsApprovable" title="Extension:Approved Revs/Hooks/ApprovedRevsPageIsApprovable"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Hooks/ApprovedRevsFileIsApprovable" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsFileIsApprovable">ApprovedRevsFileIsApprovable</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsFileIsApprovable" title="Extension:Approved Revs/Hooks/ApprovedRevsFileIsApprovable"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Hooks/ApprovedRevsRevisionApproved" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsRevisionApproved">ApprovedRevsRevisionApproved</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsRevisionApproved" title="Extension:Approved Revs/Hooks/ApprovedRevsRevisionApproved"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Hooks/ApprovedRevsRevisionUnapproved" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsRevisionUnapproved">ApprovedRevsRevisionUnapproved</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsRevisionUnapproved" title="Extension:Approved Revs/Hooks/ApprovedRevsRevisionUnapproved"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Hooks/ApprovedRevsFileRevisionApproved" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsFileRevisionApproved">ApprovedRevsFileRevisionApproved</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsFileRevisionApproved" title="Extension:Approved Revs/Hooks/ApprovedRevsFileRevisionApproved"> </a></span></li><li><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Hooks/ApprovedRevsFileRevisionUnapproved" title="Special:MyLanguage/Extension:Approved Revs/Hooks/ApprovedRevsFileRevisionUnapproved">ApprovedRevsFileRevisionUnapproved</a><span style="display:none"><a href="/wiki/Extension:Approved_Revs/Hooks/ApprovedRevsFileRevisionUnapproved" title="Extension:Approved Revs/Hooks/ApprovedRevsFileRevisionUnapproved"> </a></span></li></ul></div> </td> </tr> <tr> <td colspan="2" class="ext-infobox-translate"> <a href="https://translatewiki.net/wiki/Special:Translate/ext-approvedrevs" class="extiw" title="translatewiki:Special:Translate/ext-approvedrevs">Translate the Approved Revs 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/mediawiki-extensions-approved-revs" class="extiw" title="phab:tag/mediawiki-extensions-approved-revs">Open tasks</a> · <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=mediawiki-extensions-approved-revs">Report a bug</a></td> </tr> </tbody></table> <p><b>Approved Revs</b> is an extension that lets administrators mark a certain revision of a page as "approved". The approved revision is the one displayed when users view the page at its main URL. </p><p>Even if a revision is approved, most extensions that retrieve the contents of pages will still get the last revision, and not the approved one (if the two are different). Extensions that get specific <i>data</i> from pages, however, such as <a href="/wiki/Special:MyLanguage/Extension:Cargo" title="Special:MyLanguage/Extension:Cargo">Cargo</a><span style="display:none"><a href="/wiki/Extension:Cargo" title="Extension:Cargo"> </a></span> and <a href="/wiki/Special:MyLanguage/Extension:Semantic_MediaWiki" title="Special:MyLanguage/Extension:Semantic MediaWiki">Semantic MediaWiki</a><span style="display:none"><a href="/wiki/Extension:Semantic_MediaWiki" title="Extension:Semantic MediaWiki"> </a></span>, fortunately, display the correct (i.e., approved) data. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Download">Download</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=1" title="Edit section: Download"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>You can download the Approved Revs code, in .zip format, <a rel="nofollow" class="external text" href="https://github.com/wikimedia/mediawiki-extensions-ApprovedRevs/archive/2.1.2.zip">here</a>. </p><p>You can also download the code directly via Git from the MediaWiki source code repository. From a command line, you can call the following: </p><p><code class="mw-code plainlinks" style="display:block">git clone <a class="external free" href="https://gerrit.wikimedia.org/r/mediawiki/extensions/ApprovedRevs.git">https://gerrit.wikimedia.org/r/mediawiki/extensions/ApprovedRevs.git</a> </code> </p><p>To view the code online, including version history for each file, go to <a href="https://phabricator.wikimedia.org/diffusion/EARE/browse/master/" class="extiw" title="phab:diffusion/EARE/browse/master/">phab:diffusion/EARE/browse/master/</a>. </p> <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:Approved_Revs&amp;action=edit&amp;section=2" title="Edit section: Installation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>To install this extension, create an '<code>ApprovedRevs</code>' directory (either by extracting a compressed file or downloading via Git), and place this directory within the main MediaWiki 'extensions' directory. Then, in the file '<code>LocalSettings.php</code>', add the following line: </p> <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">&#39;ApprovedRevs&#39;</span> <span class="p">);</span> </pre></div> <p>You will also need to install two database tables for this extension: "approved_revs" and "approved_revs_files". You can do this in one of two ways: either run the script "<a href="/wiki/Special:MyLanguage/Manual:Update.php" title="Special:MyLanguage/Manual:Update.php">update.php</a><span style="display:none"><a href="/wiki/Manual:Update.php" title="Manual:Update.php"> </a></span>" in MediaWiki's /maintenance directory, or call the SQL directly in your database - you can find it in the files <code>ApprovedRevs.sql</code> and <code>ApprovedFiles.sql</code>, both located in the extension's /sql directory. </p><p>Finally, there are the following <a href="/wiki/Special:MyLanguage/Manual:User_rights" title="Special:MyLanguage/Manual:User rights">user rights</a> defined for Approved Revs: </p> <ul><li>'<code>approverevisions</code>' - The permission to approve and unapprove revisions of pages. By default it is given to all members of the 'sysop' group.</li> <li>'<code>viewlinktolatest</code>' - The permission to see a note at the top of pages that have an approved revision, explaining that what the user is seeing is not necessarily the latest revision. By default it is given to everyone (i.e, '*').</li> <li>'<code>viewapprover</code>' - The permission to see another note at the top of pages that have an approved revision, stating who last approved it. By default it is given to all members of the 'sysop' group.</li></ul> <p>You can modify the set of users who have any of these permissions. For example, to have the "view most recent revision" link show up only for administrators, you could add the following, below the inclusion of Approved Revs: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$wgGroupPermissions</span><span class="p">[</span><span class="s1">&#39;*&#39;</span><span class="p">][</span><span class="s1">&#39;viewlinktolatest&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> <span class="nv">$wgGroupPermissions</span><span class="p">[</span><span class="s1">&#39;sysop&#39;</span><span class="p">][</span><span class="s1">&#39;viewlinktolatest&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Authors">Authors</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=3" title="Edit section: Authors"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs was written by Yaron Koren. Important code contributions were also made by Raimond Spekking, Siebrand Mazeland, Jeroen De Dauw, Eli Handel, Andrew Engelbrecht, hashar, Anomie, Mark Hershberger, Flo, Addshore, James Montalvo, Fodagus, Kris Field and others. </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:Approved_Revs&amp;action=edit&amp;section=4" title="Edit section: Usage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Approved_Revs_history_page.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Approved_Revs_history_page.png/960px-Approved_Revs_history_page.png" decoding="async" width="750" height="86" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Approved_Revs_history_page.png/1125px-Approved_Revs_history_page.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Approved_Revs_history_page.png/1500px-Approved_Revs_history_page.png 2x" data-file-width="1516" data-file-height="174" /></a><figcaption>A history page, with "approve" links, plus a star and an "unapprove" link for the approved revision</figcaption></figure> <p>Once the extension is installed, anyone with the '<code>approverevisions</code>' permission will see a link that reads "(approve)" on each row of a page history page. Clicking on that link will set that revision as the approved one. If you then go back to the history page, you will see an "approve" link next to every other revision, along with an "unapprove" link for the approved revision; the approved revision's row will also have a star next to it. Clicking "approve" for any other revision will re-set the approval to that revision; while clicking "unapprove" will mean that there will no longer be an approved revision for this page. </p><p>Users without '<code>approverevisions</code>' permission will see nothing special in the history page, other than a star icon on the approved revision's row. </p><p>By default, if a user with '<code>approverevisions</code>' permission makes an edit to a page that already has an approved revision, that edit, i.e. the latest revision of the page, gets automatically marked as approved. By contrast, if a page has no approved revision (this of course includes new pages), automatic approvals will not be applied. The one exception to this is if <b><a href="/wiki/Special:MyLanguage/Extension:Approved_Revs#Displaying_unapproved_pages_as_blank" title="Special:MyLanguage/Extension:Approved Revs">$egApprovedRevsBlankIfUnapproved</a></b><span style="display:none"><a class="mw-selflink-fragment" href="#Displaying_unapproved_pages_as_blank"> </a></span> is set to <code class="mw-highlight mw-highlight-lang-php mw-content-ltr" style="" dir="ltr"><span class="k">true</span></code> for the wiki; if it is, any edit by an <code>approverevisions</code>-permitted user to an unapproved page will also automatically become approved, thus turning that page non-blank. </p><p>You can eliminate automatic approvals, thus requiring that every approval has to be done manually, by adding the following to <code>LocalSettings.php</code> below the inclusion of Approved Revs: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsAutomaticApprovals</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> </pre></div> <p>A similar logic applies for new versions of files; these automatic approvals, too, can be turned off automatically with the following line: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsFileAutomaticApprovals</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> </pre></div> <p>Conversely, if you set "<code>$egApprovedRevsBlankIfUnapproved</code>" or "<code>$egApprovedRevsBlankFileIfUnapproved</code>" to true in <code>LocalSettings.php</code> (see below), every edit to pages and/or files made by a user with '<code>approverevisions</code>' permission becomes approved - even edits to pages/files that don't have an approved revision. </p><p>Manual revision approvals and unapprovals get stored in the 'approval' log; though approvals that happen automatically, as a result of someone with approval power editing a page, do not. </p> <div class="mw-heading mw-heading3"><h3 id="Special:ApprovedRevs_page">Special:ApprovedRevs page</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=5" title="Edit section: Special:ApprovedRevs page"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs defines a special page, "<code>Special:ApprovedRevs</code>" which shows four separate lists: </p> <ul><li>pages whose approved revision is not their latest</li> <li>all pages with an approved revision</li> <li>"unapproved pages" (all pages without an approved revision)</li> <li>pages with invalid approvals (such as pages in a namespace that was previously approvable but no longer is).</li></ul> <p>For the third list, of pages with no approved revision, you can optionally include a link for each page to mark that page's latest revision as approved. To include such links, add the following to <code>LocalSettings.php</code>: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsShowApproveLatest</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Storage_of_approval_information">Storage of approval information</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=6" title="Edit section: Storage of approval information"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Information about approvals - who made them, and when they were made - is stored in the "Revision approval" log, which can be viewed at the page Special:Log. Recent approvals are also shown in Special:RecentChanges. </p> <div class="mw-heading mw-heading3"><h3 id="Displaying_unapproved_pages_as_blank">Displaying unapproved pages as blank</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=7" title="Edit section: Displaying unapproved pages as blank"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If you want to, you can have pages that have no approved revision show up as blank - users will still be able to see all the revisions if they click on the "history" tab, but the main display will be a blank page. To do that, just add the following line to <code>LocalSettings.php</code>, anywhere after the inclusion of Approved Revs: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsBlankIfUnapproved</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <p>Similarly, you can set files with no approved version to not show up when embedded in other pages, by adding the following line: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsBlankFileIfUnapproved</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Indicating_unapproved_pages">Indicating unapproved pages</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=8" title="Edit section: Indicating unapproved pages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>By default, pages with no approved revision simply show up normally, with no indication of their status. You can have such pages display a message at the top saying, "This is the latest revision of this page; it has no approved revision." To do that, add the following line to <code>LocalSettings.php</code>: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsShowNotApprovedMessage</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading3"><h3 id="Setting_pages_as_approvable">Setting pages as approvable</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=9" title="Edit section: Setting pages as approvable"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some wiki pages can have their revisions approved, while others cannot; this is determined in one of three ways. </p> <div class="mw-heading mw-heading4"><h4 id="Setting_all_pages_in_a_namespace_as_approvable">Setting all pages in a namespace as approvable</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=10" title="Edit section: Setting all pages in a namespace as approvable"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A global variable, <code>$egApprovedRevsEnabledNamespaces</code>, exists, which determines which namespaces are handled by the extension. This variable is an array, and by default it holds six namespaces: <code>NS_MAIN</code> (defined as 0, the main namespace), <code>NS_USER</code> (2, user pages), <code>NS_FILE</code> (6, files), <code>NS_TEMPLATE</code> (10, templates), <code>NS_HELP</code> (12, help pages) and <code>NS_PROJECT</code> (4, the project namespace, which usually has the same name as the wiki). You can add additional namespaces to this set - after the inclusion of Approved Revs in LocalSettings.php, add something like: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsEnabledNamespaces</span><span class="p">[</span><span class="nx">NS_USER_TALK</span><span class="p">]</span> <span class="o">=</span> <span class="k">true</span><span class="p">;</span> </pre></div> <p>It is not recommended to add the Category or MediaWiki namespaces to this array, because, due to their special implementation in MediaWiki, approvals will not work correctly on those pages. </p><p>To remove default namespaces as approvable, set their value to false. For example, to make files unapprovable, add the following: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsEnabledNamespaces</span><span class="p">[</span><span class="nx">NS_FILE</span><span class="p">]</span> <span class="o">=</span> <span class="k">false</span><span class="p">;</span> </pre></div> <div class="mw-heading mw-heading4"><h4 id="Making_pages_approvable_with_#approvable_by"><span id="Making_pages_approvable_with_.23approvable_by"></span>Making pages approvable with #approvable_by</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=11" title="Edit section: Making pages approvable with #approvable_by"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs defines the <code>#approvable_by</code> parser function, which lets you define certain pages as being approvable by certain individual users and groups. For example, the following call would allow user Alice Jones, as well as users in the Bureaucrat and Sysop groups, to approve the page on which it was called: </p> <div class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr"><pre><span></span>{{#approvable_by: users = Alice Jones | groups = bureaucrat,sysop }} </pre></div> <p>Note that, if a user who is allowed to edit a page because of this parser function approves a revision <i>before</i> this function was added, then they will lose the ability to make any other approvals (since the approved revision does not contain this call), until an administrator comes in and undoes their action. </p> <div class="mw-heading mw-heading4"><h4 id="Setting_pages_approvable_via_magic_word">Setting pages approvable via magic word</h4><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=12" title="Edit section: Setting pages approvable via magic word"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Individual pages not within one of the specified namespaces can also be made approvable, by adding the <code>__APPROVEDREVS__ </code> <a href="/wiki/Special:MyLanguage/Help:Magic_words" title="Special:MyLanguage/Help:Magic words">magic word</a> anywhere within the page. It is recommended to add in this magic word to pages via a template. If <code>__APPROVEDREVS__</code> is added directly to a page, just be careful not to approve a revision of the page from before that string was added; this could lead to unexpected behavior. </p> <div class="mw-heading mw-heading3"><h3 id="Letting_non-administrators_&quot;own&quot;_pages"><span id="Letting_non-administrators_.22own.22_pages"></span>Letting non-administrators "own" pages</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=13" title="Edit section: Letting non-administrators &quot;own&quot; pages"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Sometimes it's helpful to allow those without the general '<code>approverevisions</code>' permission to be able to approve revisions of certain pages - in other words, to have ownership of certain pages. An obvious example is user pages - it makes sense to allow each user to be able to approve revisions on their own user pages. For namespaces other than "User", you can choose to have the user who originally created any page in that namespace be designated as the page owner, who then has revision-approval permission for that page. </p><p>To have this kind of "ownership" for a specific namespace, you need to add the namespace to the variable <code>$egApprovedRevsSelfOwnedNamespaces</code>. To allow users to "own", i.e. be able to approve, pages in the main and user namespaces, for instance, you should add the following to LocalSettings.php: </p> <div class="mw-highlight mw-highlight-lang-php mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">$egApprovedRevsSelfOwnedNamespaces</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span> <span class="nx">NS_MAIN</span><span class="p">,</span> <span class="nx">NS_USER</span> <span class="p">);</span> </pre></div> <p>A namespace needs to belong to <code>$egApprovedRevsEnabledNamespaces</code> before it can be added to <code>$egApprovedRevsSelfOwnedNamespaces</code>. </p> <div class="mw-heading mw-heading3"><h3 id="Displaying_approval_information">Displaying approval information</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=14" title="Edit section: Displaying approval information"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs defines five "magic words" that can be used to display approval information about a specific page (or file). They are: </p> <ul><li><code>APPROVALYEAR</code> - the year in which the page was last approved</li> <li><code>APPROVALMONTH</code> - the month in which the page was last approved</li> <li><code>APPROVALDAY</code> - the day of the month in which the page was last approved</li> <li><code>APPROVALTIMESTAMP</code> - the full timestamp of the date/time in which the page was last approved</li> <li><code>APPROVALUSER</code> - the user who last approved the page.</li></ul> <p>All five can be simply called by themselves (which will return that information for the page on which the call is located), or called with a page name passed in (which will return that information for the specified page). So, for example, in the page "Main Page", the call <code>{{APPROVALYEAR}}</code> will display the year in which the page "Main Page" was last approved, while the call <code>{{APPROVALYEAR:Employees list}}</code> will display the year in which the page "Employees list" was last approved. </p><p>If any of these magic words are called for a page that has no approved revision, or for a page that does not exist, they will simply not display anything. </p><p>The first four of these magic words can also be called for files; the last one, APPROVALUSER, unfortunately will not work. </p><p>Note that, if you began using Approved Revs before version 1.4, the first four magic words, which all have to do with the time in which the revision was made, will most likely display a blank for any page whose revision was approved while Approved Revs was still on an older version. </p> <div class="mw-heading mw-heading3"><h3 id="API">API</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=15" title="Edit section: API"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs defines an API action, "approve", which lets you either approve or (if the extra parameter "unapprove" is added) unapprove any revision via the MediaWiki API. See <a rel="nofollow" class="external text" href="http://www.discoursedb.org/w/api.php?action=help&amp;modules=approve">here</a> for an explanation of the syntax for this API. </p> <div class="mw-heading mw-heading3"><h3 id="Marking_all_pages_as_approved">Marking all pages as approved</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=16" title="Edit section: Marking all pages as approved"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>For pages that do not yet have an approved revision, you may want to automatically approve their latest revision, as a way to quickly initialize their content. For that, you can use the command line script '<code>ApprovedRevs/maintenance/approveAllPages.php</code>'. This script approves the latest revision of all pages that can be approved but do not have an approved revision. (The script has various optional flags, including one that lets you also handle pages that already do have an approved revision.) </p> <div class="mw-heading mw-heading2"><h2 id="File_approvals">File approvals</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=17" title="Edit section: File approvals"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Approved_revs_file_approval.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Approved_revs_file_approval.png/250px-Approved_revs_file_approval.png" decoding="async" width="220" height="226" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Approved_revs_file_approval.png/330px-Approved_revs_file_approval.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Approved_revs_file_approval.png/500px-Approved_revs_file_approval.png 2x" data-file-width="860" data-file-height="884" /></a><figcaption>Selecting version of a file to be approved</figcaption></figure> <p>You can also approve file revisions with Approved Revs. It should be noted that only revisions to the actual file are approvable; revisions to the wikitext of the file pages are not. As such, approval of files is not done by clicking the "view history" link in the top-right of the file's page. Instead, scroll to the "File history" section near the bottom of the file page, and click "approve" on the right of the file history table. </p><p>When a version of an image is approved, that version is displayed when the image is included on other pages. For non-image uploads (e.g. PDFs), any links directly to the file will go to the approved version, not the latest. </p><p>Just like the <code>approveAllPages.php</code> script, there is another script, <code>approveAllFiles.php</code>, that exists specifically for file approvals. </p> <div class="mw-heading mw-heading2"><h2 id="Version_history">Version history</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=18" title="Edit section: Version history"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Approved Revs is currently at version 2.1.2. See the entire <a href="/wiki/Special:MyLanguage/Extension:Approved_Revs/Version_history" title="Special:MyLanguage/Extension:Approved Revs/Version history">version history</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Known_issues">Known issues</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=19" title="Edit section: Known issues"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Approved Revs does not work for anonymous users with the <a href="/wiki/Special:MyLanguage/Extension:AccessControl" title="Special:MyLanguage/Extension:AccessControl">AccessControl</a><span style="display:none"><a href="/wiki/Extension:AccessControl" title="Extension:AccessControl"> </a></span> extension - approving a revision leads to a "Deny_action" error, because these users do not have access to history.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Contributing_to_the_project">Contributing to the project</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=20" title="Edit section: Contributing to the project"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Bugs_and_feature_requests">Bugs and feature requests</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=21" title="Edit section: Bugs and feature requests"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Send any bug reports and requests to Yaron Koren (yaron57<span class="nowrap"><span class="skin-invert-image noviewer" typeof="mw:File"><span><img alt="@" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/88/At_sign.svg/20px-At_sign.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/88/At_sign.svg/40px-At_sign.svg.png 1.5x" data-file-width="145" data-file-height="145" /></span></span></span>gmail.com). </p> <div class="mw-heading mw-heading3"><h3 id="Contributing_patches_to_the_project">Contributing patches to the project</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=22" title="Edit section: Contributing patches to the project"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If you found some bug and fixed it, or if you wrote code for a new feature, please either do a Git commit for it, or create a patch by going to the "<code>ApprovedRevs</code>" directory, and typing: </p> <pre>git diff &gt; descriptivename.patch </pre> <p>If you create a patch, please send it, with a description, to Yaron Koren. </p> <div class="mw-heading mw-heading3"><h3 id="Translating">Translating</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Extension:Approved_Revs&amp;action=edit&amp;section=23" title="Edit section: Translating"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Translation of Approved Revs is done through <a href="https://translatewiki.net/wiki/" class="extiw" title="translatewiki:">translatewiki.net</a>. The translation for this extension can be found here: <a rel="nofollow" class="external free" href="https://translatewiki.net/w/?title=Special:Translate&amp;group=ext-approvedrevs">https://translatewiki.net/w/?title=Special:Translate&amp;group=ext-approvedrevs</a>. To add language values or change existing ones, you should create an account on translatewiki.net, then request permission from the administrators to translate a certain language or languages on <a href="https://translatewiki.net/wiki/Project:Translator" class="extiw" title="translatewiki:Project:Translator">this page</a> (this is a very simple process). Once you have permission for a given language, you can log in and add or edit whatever messages you want to in that language. </p> <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:Approved_Revs&amp;action=edit&amp;section=24" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Special:MyLanguage/Content_approval_extensions" title="Special:MyLanguage/Content approval extensions">Content approval extensions</a><span style="display:none"><a href="/wiki/Content_approval_extensions" title="Content approval extensions"> </a></span></li></ul> <style data-mw-deduplicate="TemplateStyles:r7217340">.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}}@media screen and (max-width:720px){.mw-parser-output table.ombox{margin:4px auto}}</style><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/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 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‐5c6f46dcf‐trq8q Cached time: 20250329175233 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.566 seconds Real time usage: 0.677 seconds Preprocessor visited node count: 6503/1000000 Post‐expand include size: 97557/2097152 bytes Template argument size: 24958/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 25/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 15040/5000000 bytes Lua time usage: 0.248/10.000 seconds Lua memory usage: 18181504/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 449.709 1 -total 78.14% 351.390 1 Template:Extension 36.35% 163.452 83 Template:Ll 24.82% 111.632 96 Template:Pagelang 24.66% 110.880 177 Template:Translatable 15.02% 67.532 1 Template:Used_by 14.42% 64.849 1 Template:Mbox 9.52% 42.791 1 Template:Flatlist 4.78% 21.511 1 Template:Foreach 3.61% 16.222 6 Template:Extension/HookProvided --> <!-- Saved in parser cache with key mediawikiwiki:pcache:48241:|#|:idhash:canonical and timestamp 20250329175233 and revision id 7015535. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://auth.wikimedia.org/loginwiki/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=1" 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:Approved_Revs&amp;oldid=7015535">https://www.mediawiki.org/w/index.php?title=Extension:Approved_Revs&amp;oldid=7015535</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:Stable_extensions" title="Category:Stable extensions">Stable extensions</a></li><li><a href="/wiki/Category:Hook_extensions" title="Category:Hook extensions">Hook extensions</a></li><li><a href="/wiki/Category:Extensions_supporting_Composer" title="Category:Extensions supporting Composer">Extensions supporting Composer</a></li><li><a href="/wiki/Category:GPL_licensed_extensions" title="Category:GPL licensed extensions">GPL 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:Extensions_which_add_rights" title="Category:Extensions which add rights">Extensions which add rights</a></li><li><a href="/wiki/Category:AdminLinks_extensions" title="Category:AdminLinks extensions">AdminLinks extensions</a></li><li><a href="/wiki/Category:ArticleFromTitle_extensions" title="Category:ArticleFromTitle extensions">ArticleFromTitle extensions</a></li><li><a href="/wiki/Category:ArticleRevisionViewCustom_extensions" title="Category:ArticleRevisionViewCustom extensions">ArticleRevisionViewCustom extensions</a></li><li><a href="/wiki/Category:ArticleViewHeader_extensions" title="Category:ArticleViewHeader extensions">ArticleViewHeader extensions</a></li><li><a href="/wiki/Category:BeforeParserFetchFileAndTitle_extensions" title="Category:BeforeParserFetchFileAndTitle extensions">BeforeParserFetchFileAndTitle extensions</a></li><li><a href="/wiki/Category:BeforeParserFetchTemplateRevisionRecord_extensions" title="Category:BeforeParserFetchTemplateRevisionRecord extensions">BeforeParserFetchTemplateRevisionRecord extensions</a></li><li><a href="/wiki/Category:DiffTools_extensions" title="Category:DiffTools extensions">DiffTools extensions</a></li><li><a href="/wiki/Category:DisplayOldSubtitle_extensions" title="Category:DisplayOldSubtitle extensions">DisplayOldSubtitle extensions</a></li><li><a href="/wiki/Category:FileDeleteComplete_extensions" title="Category:FileDeleteComplete extensions">FileDeleteComplete extensions</a></li><li><a href="/wiki/Category:GetMagicVariableIDs_extensions" title="Category:GetMagicVariableIDs extensions">GetMagicVariableIDs extensions</a></li><li><a href="/wiki/Category:ImagePageFileHistoryLine_extensions" title="Category:ImagePageFileHistoryLine extensions">ImagePageFileHistoryLine extensions</a></li><li><a href="/wiki/Category:ImagePageFindFile_extensions" title="Category:ImagePageFindFile extensions">ImagePageFindFile extensions</a></li><li><a href="/wiki/Category:LoadExtensionSchemaUpdates_extensions" title="Category:LoadExtensionSchemaUpdates extensions">LoadExtensionSchemaUpdates extensions</a></li><li><a href="/wiki/Category:MpdfGetArticle_extensions" title="Category:MpdfGetArticle extensions">MpdfGetArticle extensions</a></li><li><a href="/wiki/Category:OutputPageBodyAttributes_extensions" title="Category:OutputPageBodyAttributes extensions">OutputPageBodyAttributes extensions</a></li><li><a href="/wiki/Category:PageDeleteComplete_extensions" title="Category:PageDeleteComplete extensions">PageDeleteComplete extensions</a></li><li><a href="/wiki/Category:PageForms::HTMLBeforeForm_extensions" title="Category:PageForms::HTMLBeforeForm extensions">PageForms::HTMLBeforeForm extensions</a></li><li><a href="/wiki/Category:PageHistoryLineEnding_extensions" title="Category:PageHistoryLineEnding extensions">PageHistoryLineEnding extensions</a></li><li><a href="/wiki/Category:PageMoveComplete_extensions" title="Category:PageMoveComplete extensions">PageMoveComplete extensions</a></li><li><a href="/wiki/Category:PageSaveComplete_extensions" title="Category:PageSaveComplete extensions">PageSaveComplete extensions</a></li><li><a href="/wiki/Category:ParserAfterTidy_extensions" title="Category:ParserAfterTidy extensions">ParserAfterTidy extensions</a></li><li><a href="/wiki/Category:ParserBeforeInternalParse_extensions" title="Category:ParserBeforeInternalParse extensions">ParserBeforeInternalParse extensions</a></li><li><a href="/wiki/Category:ParserFirstCallInit_extensions" title="Category:ParserFirstCallInit extensions">ParserFirstCallInit extensions</a></li><li><a href="/wiki/Category:ParserGetVariableValueSwitch_extensions" title="Category:ParserGetVariableValueSwitch extensions">ParserGetVariableValueSwitch extensions</a></li><li><a href="/wiki/Category:RevisionDataUpdates_extensions" title="Category:RevisionDataUpdates extensions">RevisionDataUpdates extensions</a></li><li><a href="/wiki/Category:SearchResultInitFromTitle_extensions" title="Category:SearchResultInitFromTitle extensions">SearchResultInitFromTitle 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:TitleGetEditNotices_extensions" title="Category:TitleGetEditNotices extensions">TitleGetEditNotices extensions</a></li><li><a href="/wiki/Category:UploadComplete_extensions" title="Category:UploadComplete extensions">UploadComplete extensions</a></li><li><a href="/wiki/Category:WgQueryPages_extensions" title="Category:WgQueryPages extensions">WgQueryPages extensions</a></li><li><a href="/wiki/Category:All_extensions" title="Category:All extensions">All extensions</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_WikiForge" title="Category:Extensions included in WikiForge">Extensions included in WikiForge</a></li><li><a href="/wiki/Category:Revision_management_extensions" title="Category:Revision management extensions">Revision management extensions</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Extensions_without_an_image" title="Category:Extensions without an image">Extensions without an image</a></li><li><a href="/wiki/Category:Extensions_with_master_compatibility_policy" title="Category:Extensions with master compatibility policy">Extensions with master compatibility policy</a></li><li><a href="/wiki/Category:Extensions_with_manual_MediaWiki_version" title="Category:Extensions with manual MediaWiki version">Extensions with manual MediaWiki version</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 11 February 2025, at 16:22.</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/">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:Approved_Revs&amp;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://www.wikimedia.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></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"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div 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.org"> <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> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-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-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-namespace">Extension</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Approved Revs</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c6f46dcf-trq8q","wgBackendResponseTime":835,"wgPageParseReport":{"limitreport":{"cputime":"0.566","walltime":"0.677","ppvisitednodes":{"value":6503,"limit":1000000},"postexpandincludesize":{"value":97557,"limit":2097152},"templateargumentsize":{"value":24958,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":25,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":15040,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 449.709 1 -total"," 78.14% 351.390 1 Template:Extension"," 36.35% 163.452 83 Template:Ll"," 24.82% 111.632 96 Template:Pagelang"," 24.66% 110.880 177 Template:Translatable"," 15.02% 67.532 1 Template:Used_by"," 14.42% 64.849 1 Template:Mbox"," 9.52% 42.791 1 Template:Flatlist"," 4.78% 21.511 1 Template:Foreach"," 3.61% 16.222 6 Template:Extension/HookProvided"]},"scribunto":{"limitreport-timeusage":{"value":"0.248","limit":"10.000"},"limitreport-memusage":{"value":18181504,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5c6f46dcf-trq8q","timestamp":"20250329175233","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10