CINXE.COM
Developer manual - semantic-mediawiki.org
<!DOCTYPE html> <html class="client-nojs" lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://www.semantic-mediawiki.org/wiki/Help:Developer_manual","20190911090637","https://web.archive.org/","web","/_static/", "1568192797"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="UTF-8"/> <title>Developer manual - semantic-mediawiki.org</title> <script>document.documentElement.className = document.documentElement.className.replace( /(^|\s)client-nojs(\s|$)/, "$1client-js$2" );</script> <script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgCanonicalNamespace":"Help","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":12,"wgPageName":"Help:Developer_manual","wgTitle":"Developer manual","wgCurRevisionId":68897,"wgRevisionId":68897,"wgArticleId":10628,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Developer manual","Document","Developer documentation"],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"Help:Developer_manual","wgRelevantArticleId":10628,"wgRequestId":"4e95ebb6529a1eb22588af04","wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}","wgHeaderTabsTabIndexes":[],"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPageFormsAutocompleteValues":[],"wgPageFormsAutocompleteOnAllChars":true,"wgPageFormsFieldProperties":[],"wgPageFormsCargoFields":[],"wgPageFormsDependentFields":[],"wgPageFormsGridValues":[],"wgPageFormsGridParams":[],"wgPageFormsContLangYes":null,"wgPageFormsContLangNo":null,"wgPageFormsContLangMonths":[],"wgPageFormsShowOnSelect":[],"wgPageFormsScriptPath":"/w/extensions/PageForms","edgValues":null,"wgPageFormsEDSettings":null,"wgAmericanDates":false,"wgULSAcceptLanguageList":["en-us","en"],"wgULSCurrentAutonym":"English","wgWikiEditorEnabledModules":[],"srfFilteredConfig":null,"egMapsScriptPath":"/w/extensions/Maps/","egMapsDebugJS":false,"egMapsAvailableServices":["leaflet","googlemaps3"],"egMapsLeafletLayersApiKeys":{"MapBox":"","MapQuestOpen":"","Thunderforest":"","GeoportailFrance":""}});mw.loader.state({"site.styles":"ready","noscript":"ready","user.styles":"ready","user":"ready","user.options":"ready","user.tokens":"loading","ext.mermaid.styles":"ready","ext.semanticbreadcrumblinks.styles":"ready","ext.scite.styles":"ready","ext.uls.pt":"ready","ext.srf.styles":"ready","ext.smw.style":"ready","ext.smw.tooltip.styles":"ready","ext.bootstrap.styles":"ready"});mw.loader.implement("user.tokens@15b64z4",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"editToken":"+\\","patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); });mw.loader.load(["ext.smw.style","ext.smw.tooltips","site","mediawiki.page.startup","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.semanticbreadcrumblinks","ext.scite.styles","ext.scite.tooltip","ext.bootstrap.scripts","skin.chameleon.jquery-sticky"]);});</script> <link rel="stylesheet" href="/web/20190911090637cs_/https://www.semantic-mediawiki.org/w/load.php?debug=false&lang=en&modules=ext.bootstrap.styles%7Cext.mermaid.styles%7Cext.uls.pt&only=styles&skin=chameleon"/> <link rel="stylesheet" href="/web/20190911090637cs_/https://www.semantic-mediawiki.org/w/load.php?debug=false&lang=en&modules=ext.scite.styles%7Cext.semanticbreadcrumblinks.styles%7Cext.smw.style%7Cext.smw.tooltip.styles&only=styles&skin=chameleon"/> <link rel="stylesheet" href="/web/20190911090637cs_/https://www.semantic-mediawiki.org/w/load.php?debug=false&lang=en&modules=ext.srf.styles&only=styles&skin=chameleon"/> <script async="" src="/web/20190911090637js_/https://www.semantic-mediawiki.org/w/load.php?debug=false&lang=en&modules=startup&only=scripts&skin=chameleon"></script> <meta name="ResourceLoaderDynamicStyles" content=""/> <link rel="stylesheet" href="/web/20190911090637cs_/https://www.semantic-mediawiki.org/w/load.php?debug=false&lang=en&modules=site.styles&only=styles&skin=chameleon"/> <meta name="generator" content="MediaWiki 1.31.3"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@SemanticMW"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <link rel="alternate" type="application/rdf+xml" title="Help:Developer manual" href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Special:ExportRDF/Help:Developer_manual&xmlmime=rdf"/> <link rel="apple-touch-icon" href="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/assets/apple-touch-icon.png"/> <link rel="shortcut icon" href="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/assets/favicon.ico"/> <link rel="search" type="application/opensearchdescription+xml" href="/web/20190911090637/https://www.semantic-mediawiki.org/w/opensearch_desc.php" title="semantic-mediawiki.org (en)"/> <link rel="EditURI" type="application/rsd+xml" href="https://www.semantic-mediawiki.org/w/api.php?action=rsd"/> <link rel="license" href="/wiki/semantic-mediawiki.org:Copyrights"/> <link rel="canonical" href="https://web.archive.org/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Developer_manual"/> <!-- Semantic MetaTags --> <meta property="og:site_name" content="Semantic MediaWiki"/> <meta property="og:image" content="https://web.archive.org/web/20190911090637im_/https://www.semantic-mediawiki.org/w/assets/SMW-logo.png"/> <meta property="og:image:type" content="image/png"/> <meta property="og:image:width" content="142"/> <meta property="og:image:height" content="142"/> <!--[if lt IE 9]><script src="/w/load.php?debug=false&lang=en&modules=html5shiv&only=scripts&skin=chameleon&sync=1"></script><![endif]--> </head> <body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-12 ns-subject page-Help_Developer_manual rootpage-Help_Developer_manual layout-stragula skin-chameleon action-view"> <!-- navigation bar --> <nav class="navbar navbar-default p-navbar sticky" role="navigation" id="mw-navigation"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mw-navigation-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span> </button> <!-- logo and main page link --> <div id="p-logo" class="p-logo navbar-brand" role="banner"> <a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki" title="Visit the main page"><img src="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/assets/SMW-logo.png" alt="semantic-mediawiki.org"/></a> </div> </div> <div class="collapse navbar-collapse" id="mw-navigation-collapse"><ul class="nav navbar-nav"> <!-- smwo-general --> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">General <b class="caret"></b></a> <ul class="dropdown-menu p-smwo-general" id="p-smwo-general"> <li id="n-Semantic-MediaWiki"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki">Semantic MediaWiki</a></li> <li id="n-Introduction"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Introduction_to_Semantic_MediaWiki">Introduction</a></li> <li id="n-Getting-support"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Getting_support">Getting support</a></li> <li id="n-Community-portal"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/semantic-mediawiki.org:Community_portal">Community portal</a></li> <li id="n-Open-Semantic-Data-Association"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Open_Semantic_Data_Association">Open Semantic Data Association</a></li> <li id="n-SMWCon"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/SMWCon">SMWCon</a></li> <li id="n-recentchanges"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li> </ul> </li> <!-- smwo-users --> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Users <b class="caret"></b></a> <ul class="dropdown-menu p-smwo-users" id="p-smwo-users"> <li id="n-Manual"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:User_manual">Manual</a></li> <li id="n-Getting-started"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Getting_started">Getting started</a></li> <li id="n-Report-a-bug"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Reporting_bugs">Report a bug</a></li> <li id="n-Sandbox-wiki"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Sandbox">Sandbox wiki</a></li> <li id="n-MediaWiki"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/MediaWiki">MediaWiki</a></li> </ul> </li> <!-- smwo-admins --> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Administrators <b class="caret"></b></a> <ul class="dropdown-menu p-smwo-admins" id="p-smwo-admins"> <li id="n-Manual-g6voubtomv"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Administrator_manual">Manual</a></li> <li id="n-Installation"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Installation">Installation</a></li> <li id="n-Configuration"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Configuration">Configuration</a></li> <li id="n-Report-a-bug-g6voubtovp"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Reporting_bugs">Report a bug</a></li> <li id="n-Sandbox-wiki-g6voubtoz7"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Sandbox">Sandbox wiki</a></li> <li id="n-MediaWiki-g6voubtp2f"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/MediaWiki">MediaWiki</a></li> </ul> </li> <!-- smwo-devels --> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Developers <b class="caret"></b></a> <ul class="dropdown-menu p-smwo-devels" id="p-smwo-devels"> <li id="n-Manual-g6voubtp7d"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Developer_manual">Manual</a></li> <li id="n-Source-code"><a href="https://web.archive.org/web/20190911090637/https://github.com/SemanticMediaWiki/SemanticMediaWiki/" target="_blank">Source code</a></li> <li id="n-Code-documentation"><a href="https://web.archive.org/web/20190911090637/https://doc.semantic-mediawiki.org/" target="_blank">Code documentation</a></li> <li id="n-Report-a-bug-g6voubtpgt"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Reporting_bugs">Report a bug</a></li> <li id="n-Sandbox-wiki-g6voubtpju"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Sandbox">Sandbox wiki</a></li> <li id="n-MediaWiki-g6voubtpn0"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/MediaWiki">MediaWiki</a></li> </ul> </li> <!-- ? --> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">? <b class="caret"></b></a> <ul class="dropdown-menu p-?" id="p-?"> <li id="n-Getting-support-g6voubtprw"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Getting_support">Getting support</a></li> <li id="n-Frequent-questions"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/FAQ">Frequent questions</a></li> <li id="n-Missing-content"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Missing_content_and_error_correction#Missing_content">Missing content</a></li> <li id="n-Missing-translation"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Missing_content_and_error_correction#Missing_translation">Missing translation</a></li> <li id="n-Found-an-error"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Missing_content_and_error_correction#Found_an_error">Found an error</a></li> </ul> </li></ul> <div class="navbar-right-aligned"> <!-- page tools --> <ul class="navbar-tools navbar-nav"> <li class="navbar-tools-tools dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#" title="Page tools"><span>...</span></a> <!-- Content navigation --> <ul class="p-contentnavigation dropdown-menu" id="p-contentnavigation"> <!-- namespaces --> <li id="ca-talk" class="new"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help_talk:Developer_manual&action=edit&redlink=1" rel="discussion" title="Discussion about the content page (page does not exist) [t]" accesskey="t" class="new">Discussion</a></li> <!-- views --> <li id="ca-viewsource"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&action=edit" title="This page is protected. You can view its source [e]" accesskey="e">View source</a></li> <li id="ca-history"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&action=history" title="Past revisions of this page [h]" accesskey="h">History</a></li> </ul> </li> </ul> <!-- search form --> <div id="p-search" class="p-search navbar-form" role="search"> <form id="searchform" class="mw-search form-inline" action="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php"> <input type="hidden" name="title" value="Special:Search"/> <div class="input-group"> <input name="search" placeholder="Search semantic-mediawiki.org" title="Search semantic-mediawiki.org [f]" accesskey="f" id="searchInput" class="form-control"/> <div class="input-group-btn"> <button value="Search" id="mw-searchButton" name="fulltext" type="submit" class="mw-searchButton btn btn-default" title="Search the pages for this text"><span class="glyphicon glyphicon-search"></span></button> </div> </div> </form> </div> <!-- personal tools --> <ul class="navbar-tools navbar-nav"> <li class="dropdown navbar-tools-tools"> <a class="dropdown-toggle navbar-usernotloggedin" href="#" data-toggle="dropdown" title="You are not logged in."><span class="glyphicon glyphicon-user"></span></a> <ul class="p-personal-tools dropdown-menu dropdown-menu-right"> <li id="pt-login"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Special:UserLogin&returnto=Help%3ADeveloper+manual" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li> <li id="pt-createaccount"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:RequestAccount" title="You are encouraged to create an account and log in; however, it is not mandatory">Request account</a></li> </ul> </li> </ul> </div> <!-- navbar-right-aligned --> </div><!-- /.navbar-collapse --> </div> </nav> <div class="smwomaingrid container"> <div class="row"> <div class="col-lg-12"> <!-- sitenotice --> <div id="siteNotice" class="siteNotice "><div id="mw-dismissablenotice-anonplace"></div><script>(function(){var node=document.getElementById("mw-dismissablenotice-anonplace");if(node){node.outerHTML="\u003Cdiv id=\"localNotice\" lang=\"en\" dir=\"ltr\"\u003E\u003Cdiv class=\"mw-parser-output\"\u003E\u003Cdiv style=\"background: #fff; margin: 0 auto 0 auto; font-size: 220%; overflow: hidden; border-radius: 2px; text-align: center; padding: 2ex 1ex 0ex 1ex;padding: 10px 10px;margin-bottom: 15px;background-color: #f5f5f5;font-size: 220%;font-weight: 300;text-align: center; margin-top: 10px;background-image: linear-gradient(#ff7518, #fff);color: #78542c;margin-left: 35px;margin-right: 35px;\"\u003E\u003Cspan class=\"sidenotice-link\"\u003E\u003Ca href=\"/wiki/SMWCon_Fall_2019#Registration\" title=\"SMWCon Fall 2019\"\u003ESMWCon Fall 2019: do not forget to register!\u003C/a\u003E\u003C/span\u003E\u003Cp style=\"font-size: 50%;font-weight: 400;\"\u003ESeptember 25-27, Paris, France\u003C/p\u003E\u003C/div\u003E\n\u003C/div\u003E\u003C/div\u003E";}}());</script></div> </div> </div> <div class="row"> <div class="col-lg-12"> <!-- start the content area --> <div id="content" class="mw-body"><a id="top"></a> <div id="mw-indicators" class="mw-indicators"> <div id="mw-indicator-y-manual" class="mw-indicator mw-indicator-y-manual"><div class="dropdown"><div class="dropbtn"><span class=""></span>☰ </div><div class="dropdown-content developer-manual"> <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Architecture_guide#Developer_manual" title="Help:Architecture guide">Architecture guide</a> <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Datamodel#Developer_manual" title="Help:Datamodel">Datamodel</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Database_schema#Developer_manual" title="Help:Database schema">Database schema</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:API#Developer_manual" title="Help:API">API modules</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Hooks#Developer_manual" title="Help:Hooks">Hooks</a></li></ul></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Programmer%27s_guide#Developer_manual" title="Help:Programmer's guide">Programmer's guide</a> <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Coding_conventions#Developer_manual" title="Coding conventions">Coding conventions</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Developer_tutorial#Developer_manual" title="Help:Developer tutorial">Developer tutorials</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Software_tooling#Developer_manual" title="Software tooling">Software tooling</a></li></ul></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Translation_and_localization#Developer_manual" title="Translation and localization">Translation and localization</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Release_process#Developer_manual" title="Release process">Release process</a> <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki_Version_History#Developer_manual" title="Semantic MediaWiki Version History">Semantic MediaWiki Version History</a></li></ul></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Tests#Developer_manual" title="Tests">Tests</a> <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Using_PHPUnit#Developer_manual" title="Help:Using PHPUnit">Using PHPUnit</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Integration_tests#Developer_manual" title="Help:Integration tests">Integration tests</a></li></ul></li></ul> </div></div> </div> <div id="mw-indicator-yz-manual" class="mw-indicator mw-indicator-yz-manual"><div class="dropdown"> <div class="dropbtn document-effective"> v1.0+ </div><div class="dropdown-content document-effective"> <table style="min-width: 150px"> <tbody><tr><td> Status:</td><td>effective</td></tr><tr><td> Progress:</td><td>50%</td></tr><tr><td> Version:</td><td>1.0+</td></tr> </tbody></table> </div> </div> </div> <div id="mw-indicator-z-language" class="mw-indicator mw-indicator-z-language"><div class="dropdown"><div class="dropbtn"> <span class="icon-language"></span>English </div><div class="dropdown-content"> <a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:Translate/page-Help:Developer_manual" title="Special:Translate/page-Help:Developer manual">Add a translation</a></div></div> </div> </div> <div id="mw-js-message" style="display:none;"></div> <div class="contentHeader"> <!-- title of the page --> <h1 id="firstHeading" class="firstHeading">Developer manual</h1> <!-- tagline; usually goes something like "From WikiName" primary purpose of this seems to be for printing to identify the source of the content --> <div id="siteSub">From semantic-mediawiki.org</div> <!-- subtitle line; used for various things like the subpage hierarchy --> <div id="contentSub" class="small"><div id="sbl-breadcrumbs" class="sbl-breadcrumb-trail-light" dir="ltr"><span class="sbl-breadcrumb-arrow-location" style="">Developer manual</span><span class="sbl-breadcrumb-arrow-left" style=""></span><span class="sbl-breadcrumb-arrow-child" style="font-style:italic;"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Architecture_guide" title="Help:Architecture guide">Architecture guide</a></span><span class="sbl-breadcrumb-children" data-children="<ul class="sbl-breadcrumb-children-list"><li><a href="/wiki/Code_snippets" title="Code snippets">Code snippets</a></li><li><a href="/wiki/Help:Developer_manual/Questions" title="Help:Developer manual/Questions">Developer manual/Questions</a></li><li><a href="/wiki/Release_process/pt-br" title="Release process/pt-br">Processo de liberação</a></li><li><a href="/wiki/Help:Programmer%27s_guide" title="Help:Programmer&#039;s guide">Programmer's guide</a></li><li><a href="/wiki/Release_process" title="Release process">Release process</a></li><li><a href="/wiki/Tests" title="Tests">Tests</a></li><li><a href="/wiki/Translation_and_localization" title="Translation and localization">Translation and localization</a></li></ul>"></span></div></div><div id="jump-to-nav" class="mw-jump">Jump to:<a href="#mw-navigation">navigation</a>, <a href="#p-search">search</a></div> </div> <div id="bodyContent"> <!-- body text --> <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="mw-parser-output"> <div class="sil-interlanguagelink"></div> <p>This page and those related with the aspect of development or extending Semantic MediaWiki should help users who are interested in contributing to the project on a technical level. </p> <h2><span class="mw-headline" id="Overview">Overview</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&action=edit&section=1" title="Edit section: Overview">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <p>If you are unfamiliar with MediaWiki or its development structure then it is suggested to: </p> <ul><li>Look at the "<a href="https://web.archive.org/web/20190911090637/https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker" class="extiw" title="mws:How to become a MediaWiki hacker">How to become a MediaWiki hacker</a>" manual to get a first impression of the general development environment.</li> <li>Read <a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Help:Programmer%27s_guide" title="Help:Programmer's guide">Hacking Semantic MediaWiki</a> to navigate the surroundings of Semantic MediaWiki.</li></ul> <p>To accommodate oneself with the specifics of Semantic MediaWiki and its development, choosing one of the following tasks can be rewarding by starting to improve and contribute to the Semantic MediaWiki project. </p> <ul><li><a target="_blank" rel="noreferrer noopener" class="external text" href="https://web.archive.org/web/20190911090637/https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/899">Fixing coding style issues</a> is a way to get familiar with the environment</li> <li>Pick a <a target="_blank" rel="noreferrer noopener" class="external text" href="https://web.archive.org/web/20190911090637/https://github.com/SemanticMediaWiki/SemanticMediaWiki/labels/easy">"easy"</a> task from the issue list which should (if not please ping us) contain some code samples to move the issue forward</li></ul> <h2><span class="mw-headline" id="See_also">See also</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&action=edit&section=2" title="Edit section: See also">edit</a><span class="mw-editsection-bracket">]</span></span></h2> <ul><li><a target="_blank" rel="noreferrer noopener" class="external text" href="https://web.archive.org/web/20190911090637/https://github.com/SemanticMediaWiki/SemanticMediaWiki/">SemanticMediaWiki source code repository</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Programmer%27s_guide" class="mw-redirect" title="Programmer's guide">Programmer's guide</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Architecture_guide" class="mw-redirect" title="Architecture guide">Architecture guide</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Developing_extensions" title="Developing extensions">Developing extensions</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Code_snippets" title="Code snippets">Code snippets</a></li> <li><a target="_blank" rel="noreferrer noopener" class="external text" href="https://web.archive.org/web/20190911090637/http://doc.semantic-mediawiki.org/">Code documentation</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Ask_API&action=edit&redlink=1" class="new" title="Ask API (page does not exist)">Ask API</a></li> <li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Release_process" title="Release process">Release process</a></li></ul> <!-- NewPP limit report Cached time: 20190910130458 Cache expiry: 86400 Dynamic content: false [SMW] In‐text annotation parser time: 0.002 seconds CPU time usage: 0.237 seconds Real time usage: 0.300 seconds Preprocessor visited node count: 557/1000000 Preprocessor generated node count: 3154/1000000 Post‐expand include size: 4320/2097152 bytes Template argument size: 1463/2097152 bytes Highest expansion depth: 8/40 Expensive parser function count: 0/100 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 0/5000000 bytes ExtLoops count: 0 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 251.842 1 -total 60.51% 152.387 1 Template:Developer_manual/Root 53.87% 135.657 1 Template:Developer_manual/List 24.82% 62.498 1 Template:Doc.info 14.43% 36.331 1 Template:Interlanguage 12.11% 30.491 1 Template:Doc.info.list 4.13% 10.399 15 Template:Developer_manual/Tree_item 1.01% 2.556 1 Template:Annotatedlanguage 0.94% 2.360 1 Template:InterlanguageLinks --> </div> <!-- Saved in parser cache with key DB9907220070920:pcache:idhash:10628-0!canonical and timestamp 20190910130457 and revision id 68897 --> </div><div class="printfooter"> Retrieved from "<a dir="ltr" href="https://web.archive.org/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&oldid=68897">https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&oldid=68897</a>"</div> <!-- end body text --> </div> <!-- category links --> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Category:Developer_manual" title="Category:Developer manual">Developer manual</a></li><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Category:Document" title="Category:Document">Document</a></li><li><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Category:Developer_documentation" title="Category:Developer documentation">Developer documentation</a></li></ul></div></div> </div> </div> </div> </div> <div class="smwofootergrid container"> <div class="smwofooterrowtb row"> <div class="col-lg-1"> <div class="footer"> </div> </div> <div class="smwofootercomptb col-lg-10"> <!-- Tools--> <nav class="navbar navbar-default p-tb " id="p-tb"> <ul class="nav navbar-nav small"> <li id="t-whatlinkshere"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:WhatLinksHere/Help:Developer_manual" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li> <li id="t-recentchangeslinked"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:RecentChangesLinked/Help:Developer_manual" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li> <li id="t-specialpages"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li> <li id="t-print"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&printable=yes" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li> <li id="t-permalink"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&oldid=68897" title="Permanent link to this revision of the page">Permanent link</a></li> <li id="t-info"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Help:Developer_manual&action=info" title="More information about this page">Page information</a></li> <li id="t-cite"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/w/index.php?title=Special:CiteThisPage&page=Help%3ADeveloper_manual&id=68897" title="Information on how to cite this page">Cite this page</a></li> <li id="t-smwbrowselink"><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Special:Browse/:Help:Developer-5Fmanual" rel="search">Browse properties</a></li> </ul> </nav> </div> <div class="col-lg-1"> <div class="footer"> </div> </div> </div> <div class="smwofooterrow row"> <div class="col-lg-1"> <div class="footer"> </div> </div> <div class="col-lg-10"> <!-- footer links --> <ul class="footer-info list-unstyled small" id="footer-info"> <!-- info --> <li> This page was last edited on 15 March 2019, at 19:14.</li> <li>Content is available under <a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/semantic-mediawiki.org:Copyrights" title="semantic-mediawiki.org:Copyrights">"Attribution 3.0 Germany" (CC BY 3.0 DE)</a> unless otherwise noted.</li> </ul> </div> <div class="col-lg-1"> <div class="footer"> </div> </div> </div> <div class="smwofooterrowb row"> <div class="col-lg-1"> <div class="footerb"> </div> </div> <div class="col-lg-6"> <!-- places --> <ul class="list-inline footer-places " id="footer-places"> <li><small><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/semantic-mediawiki.org:Privacy_policy" title="semantic-mediawiki.org:Privacy policy">Privacy policy</a></small></li> <li><small><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/semantic-mediawiki.org:About" title="semantic-mediawiki.org:About">About <semantic-mediawiki.org> (Imprint)</a></small></li> <li><small><a href="/web/20190911090637/https://www.semantic-mediawiki.org/wiki/semantic-mediawiki.org:General_disclaimer" title="semantic-mediawiki.org:General disclaimer">Disclaimers</a></small></li> </ul> </div> <div class="col-lg-4"> <!-- footer icons --> <ul class="list-inline pull-right footer-icons " id="footer-icons"> <!-- copyright --> <li><a href="https://web.archive.org/web/20190911090637/https://creativecommons.org/licenses/by/3.0/de/deed.en" target="_blank"><img src="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/resources/assets/licenses/cc-by.png" alt=""Attribution 3.0 Germany" (CC BY 3.0 DE)" width="88" height="31"/></a></li> <!-- poweredby --> <li><a href="//web.archive.org/web/20190911090637/https://www.mediawiki.org/" target="_blank"><img src="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/web/20190911090637im_/https://www.semantic-mediawiki.org/w/resources/assets/poweredby_mediawiki_132x47.png 1.5x, /web/20190911090637im_/https://www.semantic-mediawiki.org/w/resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a></li> <li><a href="https://web.archive.org/web/20190911090637/https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki" target="_blank"><img src="data:image/png;base64,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" alt="Powered by Semantic MediaWiki" class="smw-footer" width="88" height="31"/></a></li> </ul> </div> <div class="col-lg-1"> <div class="footerb"> </div> </div> </div> </div><script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"smw":{"limitreport-intext-parsertime":0.002},"limitreport":{"cputime":"0.237","walltime":"0.300","ppvisitednodes":{"value":557,"limit":1000000},"ppgeneratednodes":{"value":3154,"limit":1000000},"postexpandincludesize":{"value":4320,"limit":2097152},"templateargumentsize":{"value":1463,"limit":2097152},"expansiondepth":{"value":8,"limit":40},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"timingprofile":["100.00% 251.842 1 -total"," 60.51% 152.387 1 Template:Developer_manual/Root"," 53.87% 135.657 1 Template:Developer_manual/List"," 24.82% 62.498 1 Template:Doc.info"," 14.43% 36.331 1 Template:Interlanguage"," 12.11% 30.491 1 Template:Doc.info.list"," 4.13% 10.399 15 Template:Developer_manual/Tree_item"," 1.01% 2.556 1 Template:Annotatedlanguage"," 0.94% 2.360 1 Template:InterlanguageLinks"]},"loops":{"limitreport-count-unlimited":[0]},"cachereport":{"timestamp":"20190910130458","ttl":86400,"transientcontent":false}}});});</script><script>(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":999});});</script></body> </html><!-- FILE ARCHIVED ON 09:06:37 Sep 11, 2019 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 12:49:07 Nov 24, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.472 exclusion.robots: 0.024 exclusion.robots.policy: 0.014 esindex: 0.009 cdx.remote: 29.635 LoadShardBlock: 279.779 (3) PetaboxLoader3.datanode: 185.07 (4) PetaboxLoader3.resolve: 419.073 (2) load_resource: 484.007 -->