CINXE.COM
Developer Portal - MediaWiki
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Developer Portal - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"c2460797-a4ef-4d4a-a1b9-2a797ffab2ee","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Developer_Portal","wgTitle":"Developer Portal","wgCurRevisionId":6694074,"wgRevisionId":6694074,"wgArticleId":1184297,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["WMF Projects 2020q3","WMF Projects 2020q4","WMF Projects 2021q1","WMF Projects 2021q2","WMF Projects 2021q3","WMF Projects 2021q4","WMF Projects 2022q1","WMF Projects 2022q2","WMF Projects"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Developer_Portal","wgRelevantArticleId":1184297,"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":10000,"wgInternalRedirectTargetUrl":"/wiki/Developer_Portal","wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands", "architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","mediawiki.ui.button":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.urlShortener.toolbar", "ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.discussionTools.init.styles%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cmediawiki.ui.button%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <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 name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Developer Portal - 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/Developer_Portal"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Developer_Portal&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/Developer_Portal"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Developer_Portal rootpage-Developer_Portal skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mediawikiwiki&page=Developer+Portal" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&utm_medium=sidebar&utm_campaign=spontaneous&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Developer+Portal" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Developer+Portal" 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/?utm_source=donate&utm_medium=sidebar&utm_campaign=spontaneous&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Developer+Portal" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Developer+Portal" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Problem" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Problem"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Problem</span> </div> </a> <ul id="toc-Problem-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Goal" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Goal"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Goal</span> </div> </a> <ul id="toc-Goal-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Scope" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Scope"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Scope</span> </div> </a> <ul id="toc-Scope-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Principles" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Principles"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Principles</span> </div> </a> <ul id="toc-Principles-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-License" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#License"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>License</span> </div> </a> <ul id="toc-License-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Image_credits" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Image_credits"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Image credits</span> </div> </a> <ul id="toc-Image_credits-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Core_audiences" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Core_audiences"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Core audiences</span> </div> </a> <ul id="toc-Core_audiences-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-User_journeys" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#User_journeys"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>User journeys</span> </div> </a> <button aria-controls="toc-User_journeys-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 User journeys subsection</span> </button> <ul id="toc-User_journeys-sublist" class="vector-toc-list"> <li id="toc-Get_started" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Get_started"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.1</span> <span>Get started</span> </div> </a> <ul id="toc-Get_started-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Use_content_or_data" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Use_content_or_data"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.2</span> <span>Use content or data</span> </div> </a> <ul id="toc-Use_content_or_data-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Build_and_discover_tools" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Build_and_discover_tools"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.3</span> <span>Build and discover tools</span> </div> </a> <ul id="toc-Build_and_discover_tools-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Contribute_to_Wikimedia_open_source" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Contribute_to_Wikimedia_open_source"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.4</span> <span>Contribute to Wikimedia open source</span> </div> </a> <ul id="toc-Contribute_to_Wikimedia_open_source-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Connect_and_learn" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Connect_and_learn"> <div class="vector-toc-text"> <span class="vector-toc-numb">8.5</span> <span>Connect and learn</span> </div> </a> <ul id="toc-Connect_and_learn-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Feedback" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Feedback"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>Feedback</span> </div> </a> <ul id="toc-Feedback-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Maintainers" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Maintainers"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>Maintainers</span> </div> </a> <ul id="toc-Maintainers-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Developer Portal</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/wikimedia-developer-portal/" class="extiw" title="phab:tag/wikimedia-developer-portal/"><b>#Wikimedia-Developer-Portal</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-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Developer_Portal" title="View the content page [c]" accesskey="c"><span>Page</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Developer_Portal" 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/Developer_Portal"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Developer_Portal&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=Developer_Portal&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/Developer_Portal"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Developer_Portal&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=Developer_Portal&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/Developer_Portal" 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/Developer_Portal" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Developer_Portal&oldid=6694074" 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=Developer_Portal&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Developer_Portal&id=6694074&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FDeveloper_Portal"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FDeveloper_Portal"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&bookcmd=book_creator&referer=Developer+Portal"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Developer_Portal&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=Developer_Portal&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 emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </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-content-ltr mw-parser-output" lang="en" dir="ltr"><p>The Developer Portal is a static website that helps people find Wikimedia technical documentation. </p> <style data-mw-deduplicate="TemplateStyles:r6758312">.mw-parser-output .dip{margin:1em 0;box-sizing:border-box;clear:both;background:var(--background-color-base,#fff)}.mw-parser-output .dip-tabs{display:flex;flex-direction:column;flex-wrap:wrap;text-align:center}.mw-parser-output .dip-tab{flex:1 1 0;width:100%;margin:0;box-sizing:border-box;background-color:inherit;padding:0.8em;border-top:0.2em solid var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .dip-tab.selected{background-color:var(--background-color-neutral-subtle,#f8f9fa);border-left:0.5em solid var(--border-color-progressive,#36c)}.mw-parser-output .dip-tab a{color:var(--color-progressive,#36c)}.mw-parser-output .dip-tab img{min-width:22px}.mw-parser-output .dip-content{font-size:1.2em;background-color:var(--background-color-neutral-subtle,#f8f9fa);border-bottom:2px solid var(--border-color-progressive,#36c);padding:1em}.mw-parser-output .dip-break{clear:both}@media(min-width:550px){.mw-parser-output .dip-tabs{flex-direction:row;padding:0;margin-top:0!important}.mw-parser-output .dip-tabs>.dip-tab{display:inline-block;vertical-align:bottom;white-space:nowrap;width:auto;margin:0 .2em 0 0;border-top:.5em solid var(--border-color-progressive,#36c);font-size:1.3em}.mw-parser-output .dip-tab.selected{border-left:0}}@media(min-width:1000px){.mw-parser-output .dip-tabs>.dip-tab{flex:0 1 0}}</style> <div class="dip plainlinks"> <div class="dip-tabs" role="navigation"> <div class="dip-tab selected"><b><a href="/wiki/Special:MyLanguage/Developer_Portal" title="Special:MyLanguage/Developer Portal">Overview</a></b><span style="display:none"><a class="mw-selflink selflink"> </a></span></div> <div class="dip-tab"><a href="/wiki/Special:MyLanguage/Developer_Portal/History" title="Special:MyLanguage/Developer Portal/History">History</a><span style="display:none"><a href="/wiki/Developer_Portal/History" title="Developer Portal/History"> </a></span></div> <div class="dip-tab"><a href="/wiki/Special:MyLanguage/Developer_Portal/Content_strategy" title="Special:MyLanguage/Developer Portal/Content strategy">Content strategy</a><span style="display:none"><a href="/wiki/Developer_Portal/Content_strategy" title="Developer Portal/Content strategy"> </a></span></div> <div class="dip-tab"><a href="/wiki/Special:MyLanguage/Developer_Portal/Implementation" title="Special:MyLanguage/Developer Portal/Implementation">Implementation</a><span style="display:none"><a href="/wiki/Developer_Portal/Implementation" title="Developer Portal/Implementation"> </a></span></div> <div class="dip-tab"><a href="/wiki/Special:MyLanguage/Developer_Portal/Contribute" title="Special:MyLanguage/Developer Portal/Contribute">Contribute</a><span style="display:none"><a href="/wiki/Developer_Portal/Contribute" title="Developer Portal/Contribute"> </a></span></div> </div> </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:r6651116">.mw-parser-output .wmf-engineering-project-box{border:1px solid #eaecf0;padding:.2em;width:300px;background:#f8f9fa;color:#222}.mw-parser-output .wmf-engineering-project-box-catlink{font-size:smaller;margin:.2em;text-align:center}.mw-parser-output .wmf-engineering-project-box-title{font-size:1.2em;margin:.2em;background:#14866d;color:#fff;padding:.5em;text-align:center;font-weight:bold}.mw-parser-output .wmf-engineering-project-box-description{margin:.2em;padding:.2em;font-style:italic}.mw-parser-output .wmf-engineering-project-box-data{font-size:.9em;margin:.2em 0;width:100%}.mw-parser-output .wmf-engineering-project-box-data th{width:25%;font-weight:normal}.mw-parser-output .wmf-engineering-project-box-previous,.mw-parser-output .wmf-engineering-project-box-next{font-size:smaller;margin:.2em}.mw-parser-output .infobox-ltr .wmf-engineering-project-box-previous,.mw-parser-output .infobox-rtl .wmf-engineering-project-box-next{float:left}.mw-parser-output .infobox-ltr .wmf-engineering-project-box-next,.mw-parser-output .infobox-rtl .wmf-engineering-project-box-previous{float:right}@media screen{html.skin-theme-clientpref-night .mw-parser-output .wmf-engineering-project-box{background:transparent;color:inherit}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .wmf-engineering-project-box{background:transparent;color:inherit}}</style> <table class="infobox infobox-ltr wmf-engineering-project-box plainlinks"><tbody><tr><td> <div class="nomobile wmf-engineering-project-box-catlink"><a href="/wiki/Special:MyLanguage/Category:WMF_Projects" title="Special:MyLanguage/Category:WMF Projects">Wikimedia Foundation projects</a><span style="display:none"><a href="/wiki/Category:WMF_Projects" title="Category:WMF Projects"> </a></span></div> <div class="wmf-engineering-project-box-title">Wikimedia Developer Portal</div> <div class="wmf-engineering-project-box-description">A central place for developers to find Wikimedia key technical documents</div> <table class="wmf-engineering-project-box-data"> <tbody><tr> <th scope="row">Group:</th> <td><a href="/wiki/Wikimedia_Technical_Engagement" title="Wikimedia Technical Engagement">Wikimedia Technical Engagement</a></td> </tr> <tr> <th scope="row">Start:</th> <td>2020-08</td> </tr> <tr> <th scope="row">End:</th> <td>2022-06</td> </tr> <tr> <th scope="row">Backlog:</th> <td><a href="https://phabricator.wikimedia.org/tag/Wikimedia-Developer-Portal" class="extiw" title="phab:tag/Wikimedia-Developer-Portal">phab:tag/Wikimedia-Developer-Portal</a></td> </tr> <tr> <th scope="row">Lead:</th> <td><a href="/wiki/User:AKlapper_(WMF)" title="User:AKlapper (WMF)">Andre Klapper</a></td> </tr> <tr class="mw-empty-elt"> </tr></tbody></table></td></tr></tbody></table> <meta property="mw:PageProp/toc"/> <p><span class="plainlinks"><a class="external text" href="https://developer.wikimedia.org/"><span class="mw-ui-button mw-ui-progressive" role="button">Go to the Developer Portal</span></a></span> <span class="plainlinks"><a class="external text" href="https://gerrit.wikimedia.org/g/wikimedia/developer-portal"><span class="mw-ui-button" role="button">Browse the repository</span></a></span> </p><p><br/> </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Problem" data-mw-thread-id="h-Problem"><span data-mw-comment-start="" id="h-Problem"></span>Problem<span data-mw-comment-end="h-Problem"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=1" title="Edit section: Problem"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Problem","replies":[]}}--></div> <p><i>"Upon arriving on the MediaWiki and Wikitech home pages, I was instantly lost."</i> -- <a class="external text" href="https://diff.wikimedia.org/2014/03/27/tech-discovery-report-what-is-this-wikitech-thing-anyway/">Ashwin Bhumbla</a> </p><p><i>"MediaWiki documentation is not only infamously incomplete, but also terribly scattered."</i> -- <a class="external text" href="https://www.mediawiki.org/w/index.php?title=User:Waldyrious/Docs&oldid=3508945">Waldyrious</a> </p><p>Wikimedia has many potential entrance places for developers interested in certain technical areas. Based on conversations on <a href="/wiki/Project:Support_desk" title="Project:Support desk">Project:Support desk</a>, mailing lists, IRC, <a href="/wiki/Phabricator" title="Phabricator">Phabricator</a>, in <a href="/wiki/Outreach_programs" title="Outreach programs">outreach programs</a>, etc., some technical contributors have a hard time finding the information and key technical documents that they are interested in. </p><p>Some documentation should be more discoverable, some documentation is dispersed or duplicated across several websites, some of our documentation is outdated, some of our technology areas could be more discoverable. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Goal" data-mw-thread-id="h-Goal"><span data-mw-comment-start="" id="h-Goal"></span>Goal<span data-mw-comment-end="h-Goal"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=2" title="Edit section: Goal"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Goal","replies":[]}}--></div> <p>Starting in 2020, the Developer Advocacy team works on an organization strategy for key technical documents: Understand challenges about finding and maintaining docs, identify key docs, and investigate ways to improve our workflows around documentation. </p><p>One tangible outcome of this initiative will be a central and single entry point ("developer portal") which links to our key technical documents. </p><p>This will allow existing and future technical contributors and developers to: </p> <ul><li>Find the information which they need to achieve a certain task</li> <li>Discover available tools and technologies</li> <li>Learn how to get started in Wikimedia technical areas</li></ul> <p>Further outcomes include checking the documents linked from the single entry point proposal for accuracy, and investigating improvements of processes around technical documentation. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Scope" data-mw-thread-id="h-Scope"><span data-mw-comment-start="" id="h-Scope"></span>Scope<span data-mw-comment-end="h-Scope"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=3" title="Edit section: Scope"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Scope","replies":[]}}--></div> <dl><dt>Wikimedia</dt> <dd>The Developer Portal is restricted to code related to Wikimedia free knowledge projects, such as Wikipedia and Wikidata. It does not duplicate the navigation of mediawiki.org or serve people interacting with non-Wikimedia instances of MediaWiki.</dd> <dt>Developer</dt> <dd>The Developer Portal covers how to write and interact with Wikimedia code. In order to define a clear, manageable scope, we've decided to exclude content about creating MediaWiki templates from the Developer Portal. The scope of the Developer Portal includes MediaWiki parser functions, Scribunto Lua scripting, user scripts, APIs, data sources, and other Wikimedia technical projects. The goal of this scope is to be inclusive of everyone interacting with Wikimedia code, regardless of whether they consider themselves developers.</dd> <dt>Portal</dt> <dd>The Developer Portal contains no documentation content. It is a navigation tool that links to docs hosted elsewhere, primarily on wikis.</dd></dl> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Principles" data-mw-thread-id="h-Principles"><span data-mw-comment-start="" id="h-Principles"></span>Principles<span data-mw-comment-end="h-Principles"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=4" title="Edit section: Principles"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Principles","replies":[]}}--></div> <dl><dt>Progressive disclosure</dt> <dd>To avoid information overload, limit the amount of content on each page. The Developer Portal aims to funnel users into specific contexts based on their goals, providing only relevant, contextualized information at each step.</dd> <dt>Well-lit paths</dt> <dd>The Developer Portal is not meant to be an exhaustive index of all Wikimedia technologies and documentation. To provide the best user experience possible, the Developer Portal should link to the best available documents and technologies that help accomplish a given task. The Developer Portal should not link to technologies that are experimental or redundant with other, more established technologies. Whenever possible, the Developer Portal should prioritize workflows that lower barriers to entry.</dd> <dt>Inclusivity</dt> <dd>The Developer Portal is designed to support the widest possible set of developers, including support for multiple languages, accessibility tools, and low-speed internet connections.</dd></dl> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="License" data-mw-thread-id="h-License"><span data-mw-comment-start="" id="h-License"></span>License<span data-mw-comment-end="h-License"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=5" title="Edit section: License"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-License","replies":[]}}--></div> <p>Wikimedia Developer Portal code and configuration is licensed under the <a rel="nofollow" class="external text" href="https://www.gnu.org/licenses/gpl-3.0.html">GPL-3.0-or-later</a> license. Textual content is licensed under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/">CC-BY-SA-4.0</a> license. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Image_credits" data-mw-thread-id="h-Image_credits"><span data-mw-comment-start="" id="h-Image_credits"></span>Image credits<span data-mw-comment-end="h-Image_credits"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=6" title="Edit section: Image credits"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Image_credits","replies":[]}}--></div> <ul><li>Wikimedia logo by Neolux, public domain, via <a href="https://commons.wikimedia.org/wiki/File:Wikimedia_logo_white.svg" class="extiw" title="commons:File:Wikimedia logo white.svg">Wikimedia Commons</a></li> <li>Wikimedia favicon by the Wikimedia Foundation, <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/3.0">CC BY-SA 3.0</a>, via <a href="https://commons.wikimedia.org/wiki/File:Wmf-ico-48px.png" class="extiw" title="commons:File:Wmf-ico-48px.png">Wikimedia Commons</a></li> <li>Adapted Wikipedia 20 illustrations by Jasmina El Bouamraoui and Karabo Poppy Moletsane, <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0</a>, via <a href="https://commons.wikimedia.org/wiki/Category:Adapted_Wikipedia_20" class="extiw" title="commons:Category:Adapted Wikipedia 20">Wikimedia Commons</a>. Black backgrounds were removed from images used in dark mode.</li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Core_audiences" data-mw-thread-id="h-Core_audiences"><span data-mw-comment-start="" id="h-Core_audiences"></span>Core audiences<span data-mw-comment-end="h-Core_audiences"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=7" title="Edit section: Core audiences"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Core_audiences","replies":[]}}--></div> <p>These personas and motivations have been identified for the proposed Wikimedia portal. </p> <dl><dt>Experienced tool developers</dt> <dd>Active Wikimedians who have created or contributed to Wikimedia tools</dd> <dd>User journeys: <a href="#Build_and_discover_tools">#Build and discover tools</a>, <a href="#Connect_and_learn">#Connect and learn</a></dd> <dt>New tool developers</dt> <dd>Active Wikimedians who are interested in learning to create, contribute to, and use Wikimedia tools, usually to solve a problem they face in maintaining their local wiki. They may not consider themselves developers.</dd> <dd>User journeys: <a href="#Build_and_discover_tools">#Build and discover tools</a>, <a href="#Connect_and_learn">#Connect and learn</a></dd> <dt>Open source contributors</dt> <dd>Developers who want to use their skills to contribute to Wikimedia. They may be volunteers or employees of the Wikimedia Foundation or affiliates.</dd> <dd>User journeys: <a href="#Contribute_to_Wikimedia_open_source">#Contribute to Wikimedia open source</a>, <a href="#Connect_and_learn">#Connect and learn</a></dd> <dt>Content reusers</dt> <dd>Developers who want to use Wikimedia content in their projects, usually with read-only access. They may or may not be active Wikimedians.</dd> <dd>User journeys: <a href="#Use_content_or_data">#Use content or data</a>, <a href="#Get_started">#Get started</a></dd> <dt>Data consumers and researchers</dt> <dd>Data scientists, machine learning engineers, and researchers who want to use Wikimedia data in their projects.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> They may or may not be active Wikimedians.</dd> <dd>User journeys: <a href="#Use_content_or_data">#Use content or data</a>, <a href="#Get_started">#Get started</a></dd> <dt>Students</dt> <dd>Students who are learning programming and are interested in Wikimedia. They can be university students, independent learners, or outreach program participants.</dd> <dd>User journeys: <a href="#Contribute_to_Wikimedia_open_source">#Contribute to Wikimedia open source</a>, <a href="#Connect_and_learn">#Connect and learn</a></dd></dl> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="User_journeys" data-mw-thread-id="h-User_journeys"><span data-mw-comment-start="" id="h-User_journeys"></span>User journeys<span data-mw-comment-end="h-User_journeys"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=8" title="Edit section: User journeys"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-User_journeys","replies":["h-Get_started-User_journeys","h-Use_content_or_data-User_journeys","h-Build_and_discover_tools-User_journeys","h-Contribute_to_Wikimedia_open_source-User_journeys","h-Connect_and_learn-User_journeys"]}}--></div> <p>The following <a href="https://en.wikipedia.org/wiki/User_journey" class="extiw" title="w:User journey">user journeys</a> <sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>evolved out of our research into user personas, motivations, and the tasks that users are trying to complete when they seek documentation. The information architecture of the developer portal implements these goals and tasks as site sections and links to key landing pages. <a href="https://diff.wikimedia.org/2022/06/15/illuminating-pathways-to-technical-documentation/" class="extiw" title="wmfblog:2022/06/15/illuminating-pathways-to-technical-documentation/">Read more about this in our corresponding blog post on Diff.</a> </p> <div class="mw-heading mw-heading3"><h3 id="Get_started" data-mw-thread-id="h-Get_started-User_journeys"><span data-mw-comment-start="" id="h-Get_started-User_journeys"></span>Get started<span data-mw-comment-end="h-Get_started-User_journeys"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=9" title="Edit section: Get started"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span> <b>Done</b> <a href="https://phabricator.wikimedia.org/T299083" class="extiw" title="phab:T299083"> Phabricator task</a> | <a class="external text" href="https://developer.wikimedia.org/get-started/">portal link</a> </p><p>Tasks: </p> <ul><li>Learn how Wikimedia software projects work</li> <li>Browse tutorials</li> <li>Learn about Wikimedia technology</li> <li>Browse by programming language</li></ul> <div class="mw-heading mw-heading3"><h3 id="Use_content_or_data" data-mw-thread-id="h-Use_content_or_data-User_journeys"><span data-mw-comment-start="" id="h-Use_content_or_data-User_journeys"></span>Use content or data<span data-mw-comment-end="h-Use_content_or_data-User_journeys"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=10" title="Edit section: Use content or data"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span> <b>Done</b> <a href="https://phabricator.wikimedia.org/T299084" class="extiw" title="phab:T299084"> Phabricator task</a> | <a class="external text" href="https://developer.wikimedia.org/use-content/">portal link</a> </p> <ul><li>Use content and data</li> <li>Explore featured apps</li> <li>Learn with tutorials</li> <li>Use wiki content</li> <li>Access open data</li></ul> <div class="mw-heading mw-heading3"><h3 id="Build_and_discover_tools" data-mw-thread-id="h-Build_and_discover_tools-User_journeys"><span data-mw-comment-start="" id="h-Build_and_discover_tools-User_journeys"></span>Build and discover tools<span data-mw-comment-end="h-Build_and_discover_tools-User_journeys"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=11" title="Edit section: Build and discover tools"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span> <b>Done</b> <a href="https://phabricator.wikimedia.org/T299085" class="extiw" title="phab:T299085"> Phabricator task</a> | <a class="external text" href="https://developer.wikimedia.org/build-tools/">portal link</a> </p> <ul><li>Discover and share tools</li> <li>Get started building tools</li> <li>Learn with tutorials</li> <li>Use APIs and data sources</li> <li>Host tools on Wikimedia servers</li></ul> <div class="mw-heading mw-heading3"><h3 id="Contribute_to_Wikimedia_open_source" data-mw-thread-id="h-Contribute_to_Wikimedia_open_source-User_journeys"><span data-mw-comment-start="" id="h-Contribute_to_Wikimedia_open_source-User_journeys"></span>Contribute to Wikimedia open source<span data-mw-comment-end="h-Contribute_to_Wikimedia_open_source-User_journeys"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=12" title="Edit section: Contribute to Wikimedia open source"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span> <b>Done</b> <a href="https://phabricator.wikimedia.org/T299086" class="extiw" title="phab:T299086"> Phabricator task</a> | <a class="external text" href="https://developer.wikimedia.org/contribute/">portal link</a> </p> <ul><li>Learn how contributing works</li> <li>Contribute by topic</li> <li>Contribute by programming language</li> <li>Search Wikimedia open source projects</li></ul> <div class="mw-heading mw-heading3"><h3 id="Connect_and_learn" data-mw-thread-id="h-Connect_and_learn-User_journeys"><span data-mw-comment-start="" id="h-Connect_and_learn-User_journeys"></span>Connect and learn<span data-mw-comment-end="h-Connect_and_learn-User_journeys"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=13" title="Edit section: Connect and learn"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><span typeof="mw:File"><span><img alt="Yes" src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/15px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="15" height="15" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/23px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></span></span> <b>Done</b> <a href="https://phabricator.wikimedia.org/T299087" class="extiw" title="phab:T299087"> Phabricator task</a>; <a href="https://phabricator.wikimedia.org/T299088" class="extiw" title="phab:T299088"> Phabricator task</a> | <a class="external text" href="https://developer.wikimedia.org/community/">portal link</a> </p> <ul><li>Connect at hackathons and events</li> <li>Communicate with the tech community</li> <li>Learn and share technical skills</li> <li>Get tech project updates</li> <li>Learn about Wikimedia technical operations</li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Feedback" data-mw-thread-id="h-Feedback"><span data-mw-comment-start="" id="h-Feedback"></span>Feedback<span data-mw-comment-end="h-Feedback"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=14" title="Edit section: Feedback"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Feedback","replies":[]}}--></div> <p>To share your feedback, leave a comment on the <a href="/wiki/Talk:Developer_Portal" title="Talk:Developer Portal">discussion page</a>. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Maintainers" data-mw-thread-id="h-Maintainers"><span data-mw-comment-start="" id="h-Maintainers"></span>Maintainers<span data-mw-comment-end="h-Maintainers"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=15" title="Edit section: Maintainers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Maintainers","replies":[]}}--></div> <p>The Developer Portal is maintained by the <a href="/wiki/Wikimedia_Technical_Documentation_Team" title="Wikimedia Technical Documentation Team">Wikimedia Technical Documentation Team</a>. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="References" data-mw-thread-id="h-References"><span data-mw-comment-start="" id="h-References"></span>References<span data-mw-comment-end="h-References"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Developer_Portal&action=edit&section=16" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-References","replies":[]}}--></div> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external free" href="https://colinmorris.github.io/blog/unpopular-wiki-articles">https://colinmorris.github.io/blog/unpopular-wiki-articles</a></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">Technical writers use user journeys as a framework for <a rel="nofollow" class="external text" href="https://www.teced.com/services/content-development/information-design/">information design</a> that follows the principles of <a rel="nofollow" class="external text" href="https://www.instructionaldesign.org/theories/minimalism/">minimalism</a> (or task-orientation), and <a rel="nofollow" class="external text" href="https://faculty.washington.edu/farkas/dfpubs/Farkas-Layering%20as%20a%20Safety%20Net%20for%20Minimalist%20Doc.pdf">layering</a> (or progressive disclosure).</span> </li> </ol></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐58c654d589‐v2z7t Cached time: 20241108075858 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.020 seconds CPU time usage: 0.166 seconds Real time usage: 0.213 seconds Preprocessor visited node count: 652/1000000 Post‐expand include size: 9057/2097152 bytes Template argument size: 1581/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 0/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 5894/5000000 bytes Lua time usage: 0.019/10.000 seconds Lua memory usage: 1053348/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 147.752 1 -total 42.75% 63.164 1 Template:Developer_Portal_navigation 31.00% 45.801 1 Template:Wikimedia_engineering_project_information 24.26% 35.848 17 Template:Translatable 19.78% 29.229 8 Template:Pagelang 15.81% 23.366 6 Template:Ll 9.67% 14.285 1 Template:Ptag 8.63% 12.746 2 Template:Clickable_button_2 6.05% 8.935 5 Template:Done 3.64% 5.383 1 Template:Badge --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:1184297-0!canonical and timestamp 20241108075858 and revision id 6694074. Rendering was triggered because: edit-page --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" 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=Developer_Portal&oldid=6694074">https://www.mediawiki.org/w/index.php?title=Developer_Portal&oldid=6694074</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">Category</a>: <ul><li><a href="/wiki/Category:WMF_Projects" title="Category:WMF Projects">WMF Projects</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:WMF_Projects_2020q3" title="Category:WMF Projects 2020q3">WMF Projects 2020q3</a></li><li><a href="/wiki/Category:WMF_Projects_2020q4" title="Category:WMF Projects 2020q4">WMF Projects 2020q4</a></li><li><a href="/wiki/Category:WMF_Projects_2021q1" title="Category:WMF Projects 2021q1">WMF Projects 2021q1</a></li><li><a href="/wiki/Category:WMF_Projects_2021q2" title="Category:WMF Projects 2021q2">WMF Projects 2021q2</a></li><li><a href="/wiki/Category:WMF_Projects_2021q3" title="Category:WMF Projects 2021q3">WMF Projects 2021q3</a></li><li><a href="/wiki/Category:WMF_Projects_2021q4" title="Category:WMF Projects 2021q4">WMF Projects 2021q4</a></li><li><a href="/wiki/Category:WMF_Projects_2022q1" title="Category:WMF Projects 2022q1">WMF Projects 2022q1</a></li><li><a href="/wiki/Category:WMF_Projects_2022q2" title="Category:WMF Projects 2022q2">WMF Projects 2022q2</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 August 2024, at 21:39.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Developer_Portal&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"mediawiki.ui.button\".\n[1.41] Please use Codex. See migration guidelines: https://www.mediawiki.org/wiki/Codex/Migrating_from_MediaWiki_UI");mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-h78vk","wgBackendResponseTime":137,"wgDiscussionToolsPageThreads":[{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Problem","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Goal","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Scope","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Principles","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-License","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Image_credits","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Core_audiences","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-User_journeys","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Get_started-User_journeys","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Use_content_or_data-User_journeys","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Build_and_discover_tools-User_journeys","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Contribute_to_Wikimedia_open_source-User_journeys","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Connect_and_learn-User_journeys","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Feedback","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Maintainers","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-References","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.020"},"limitreport":{"cputime":"0.166","walltime":"0.213","ppvisitednodes":{"value":652,"limit":1000000},"postexpandincludesize":{"value":9057,"limit":2097152},"templateargumentsize":{"value":1581,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":0,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":5894,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 147.752 1 -total"," 42.75% 63.164 1 Template:Developer_Portal_navigation"," 31.00% 45.801 1 Template:Wikimedia_engineering_project_information"," 24.26% 35.848 17 Template:Translatable"," 19.78% 29.229 8 Template:Pagelang"," 15.81% 23.366 6 Template:Ll"," 9.67% 14.285 1 Template:Ptag"," 8.63% 12.746 2 Template:Clickable_button_2"," 6.05% 8.935 5 Template:Done"," 3.64% 5.383 1 Template:Badge"]},"scribunto":{"limitreport-timeusage":{"value":"0.019","limit":"10.000"},"limitreport-memusage":{"value":1053348,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-58c654d589-v2z7t","timestamp":"20241108075858","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>