<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Numinix MediaWiki Demo  - Recent changes [en]</title>
		<link>https://mediawiki.numinix.com/index.php?title=Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.43.1</generator>
		<lastBuildDate>Sun, 26 Jul 2026 00:10:59 GMT</lastBuildDate>
		<item>
			<title>API/Edit</title>
			<link>https://mediawiki.numinix.com/index.php?title=API/Edit&amp;diff=24&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=API/Edit&amp;diff=24&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; &amp;#039;&amp;#039;&amp;#039;POST request&amp;#039;&amp;#039;&amp;#039; to edit a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== API documentation == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Example == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The sample code in this example is in Python.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for examples and responses in &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== POST request === &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Making edits, and, indeed, any POST request, is a multi-step process. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:1. &amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; Log in, via one of the methods described in &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Note that while this is required to correctly attribute the edit to its author, many wikis do allow users to edit without registering or logging into an account.&amp;lt;/translate&amp;gt; &amp;lt;!--Using proper Wiki markup lists (i.e. #) breaks formatting for the sample queries--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:2. &amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; GET a :&amp;lt;/translate&amp;gt;&lt;br /&gt;
::&lt;br /&gt;
&lt;br /&gt;
:3. &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Send a POST request, with the CSRF token, to take action on a page:&amp;lt;/translate&amp;gt;&lt;br /&gt;
::&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; The Response section below is for the final POST request, to take action on the page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; See the pages on &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; for the intermediary JSON responses to earlier steps.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Also note that the tokens in the queries on this page are sample values.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Actual tokens are unique to each login session and cross-site request.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; They are included only to demonstrate how to properly format queries.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Response === &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:60%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;edit&amp;quot;: {&lt;br /&gt;
        &amp;quot;result&amp;quot;: &amp;quot;Success&amp;quot;,&lt;br /&gt;
        &amp;quot;pageid&amp;quot;: 94542,&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Sandbox&amp;quot;,&lt;br /&gt;
        &amp;quot;contentmodel&amp;quot;: &amp;quot;wikitext&amp;quot;,&lt;br /&gt;
        &amp;quot;oldrevid&amp;quot;: 371705,&lt;br /&gt;
        &amp;quot;newrevid&amp;quot;: 371707,&lt;br /&gt;
        &amp;quot;newtimestamp&amp;quot;: &amp;quot;2018-12-18T16:59:42Z&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Sample code == &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Transclude Sample code --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Care: &amp;#039;Sample code 1&amp;#039; is a list of sections defined at level 3 &amp;#039;===&amp;#039; &lt;br /&gt;
and thus must be kept under a level 2 section (ex: == Sample Code ==) &lt;br /&gt;
Better placed isolated since section numbering impacts the display of the TOC  --&amp;gt;&lt;br /&gt;
/Sample code 1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== User cases == &amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Edit conflicts === &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; The [[&amp;lt;tvar name=1&amp;gt;#Sample code&amp;lt;/tvar&amp;gt;|Python sample]] is a basic implementation of an edit request by a registered user.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; In real-world scenarios, care should be taken to prevent edit conflicts.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; These occur when two or more users are attempting to edit the same page at the same time.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Conflicts can be prevented by retrieving the last  timestamp when we request a CSRF token.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Adding &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;prop=info|revisions&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to the CSRF token request in Step 3 allows us to access the timestamp for the last revision.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; This timestamp will be used as the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;basetimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; when we make our the edit request.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; We also need the exact time when we start our edit.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; This can be retrieved by adding &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;curtimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to the CSRF request as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; This value will serve as our &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;starttimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
Finally, in the actual edit request, set the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;basetimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;starttimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameters, like so:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Large edits === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; POST requests containing large amounts of text content (8000+ characters) should be sent with &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Content-Type: multipart/form-data&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; indicated in the [[&amp;lt;tvar name=2&amp;gt;devmo:Web/HTTP/Headers&amp;lt;/tvar&amp;gt;|header]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; Because &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;multipart/form-data&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; does not need to add HTML escape characters (i.e., [[&amp;lt;tvar name=2&amp;gt;devmo:Glossary/percent-encoding&amp;lt;/tvar&amp;gt;|percent encoding]]) for spaces and punctuation, the amount of data passed will subsequently be much smaller than the percent-encoded equivalent.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; However, there is still some overhead added by &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;multipart/form-data&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; -- roughly, 160 bytes per parameter.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; For short messages that don&amp;#039;t require adding many escape characters, this amount of overhead can be inefficient, and percent-encoding is preferred.&amp;lt;/translate&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
https://stackoverflow.com/a/4073451&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
Note that in our [[&amp;lt;tvar name=1&amp;gt;#Example&amp;lt;/tvar&amp;gt;|Python sample code]], the request is percent-encoded by default.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; See [[&amp;lt;tvar name=1&amp;gt;devmo:Web/HTTP/Headers/Content-Type&amp;lt;/tvar&amp;gt;|the MDN web docs]] for a more technical discussion of content-type and POST requests.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; See [&amp;lt;tvar name=url&amp;gt;http://docs.python-requests.org/en/master/user/quickstart/#more-complicated-post-requests&amp;lt;/tvar&amp;gt; the Python Requests documentation] for how to pass &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;multipart/form-data&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; using syntax similar to our Python sample code.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== CAPTCHAs === &amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; If the wiki you are targeting uses , your request may return an error containing an ID number and a simple test, such as a question, a math problem, or a URL to an image.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; In order to complete your edit, you must complete the test, then retry your request with the id and the correct answer(s) appended to the original query string, like so:&amp;lt;/translate&amp;gt; &amp;lt;code&amp;gt;captchaid=sampleId&amp;amp;captchaword=answer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; Other CAPTCHA systems and extensions may use different parameters for similar use.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; In general, use the field names for the ID and test questions as the parameters in your second request.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Possible errors == &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; Code&amp;lt;/translate&amp;gt; !! &amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; Info&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| notitle || &lt;br /&gt;
|-&lt;br /&gt;
| missingparam || appendtextundo|3}}&lt;br /&gt;
|-&lt;br /&gt;
| notoken || &lt;br /&gt;
|-&lt;br /&gt;
| invalidsection || &lt;br /&gt;
|-&lt;br /&gt;
| protectedpage || |en | | }}&lt;br /&gt;
|-&lt;br /&gt;
| cantcreate || &lt;br /&gt;
|-&lt;br /&gt;
| cantcreate-anon || &amp;lt;translate&amp;gt;&amp;lt;!--T:90--&amp;gt; Anonymous users can&amp;#039;t create new pages&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| articleexists || &lt;br /&gt;
|-&lt;br /&gt;
| noimageredirect-anon || &lt;br /&gt;
|-&lt;br /&gt;
| noimageredirect || &lt;br /&gt;
|-&lt;br /&gt;
| spamdetected || &lt;br /&gt;
|-&lt;br /&gt;
| abusefilter-warning || &amp;lt;translate&amp;gt;&amp;lt;!--T:102--&amp;gt; This action has been automatically identified as harmful.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| abusefilter-disallowed || &amp;lt;translate&amp;gt;&amp;lt;!--T:103--&amp;gt; This action has been automatically identified as harmful, and therefore disallowed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| contenttoobig || &amp;lt;br /&amp;gt;Where &amp;#039;&amp;#039;&amp;#039;bytes&amp;#039;&amp;#039;&amp;#039; is the value of .&lt;br /&gt;
|-&lt;br /&gt;
| noedit-anon || &lt;br /&gt;
|-&lt;br /&gt;
| noedit || &lt;br /&gt;
|-&lt;br /&gt;
| pagedeleted || &lt;br /&gt;
|-&lt;br /&gt;
| emptypage || &lt;br /&gt;
|-&lt;br /&gt;
| emptynewsection || &lt;br /&gt;
|-&lt;br /&gt;
| editconflict || &lt;br /&gt;
|-&lt;br /&gt;
| revwrongpage || &amp;lt;br /&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:93--&amp;gt; Thrown if an invalid revid is given for &amp;lt;tvar name=undo&amp;gt;&amp;lt;code&amp;gt;undo&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=undoafter&amp;gt;&amp;lt;code&amp;gt;undoafter&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| undofailure&amp;lt;!--ApiBase.php removes dash from &amp;quot;undo-failure&amp;quot;--&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
| missingtitle || &amp;lt;br /&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:94--&amp;gt; (see above &amp;lt;tvar name=nocreate&amp;gt;&amp;lt;code&amp;gt;nocreate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; [[&amp;lt;tvar name=1&amp;gt;#Parameters&amp;lt;/tvar&amp;gt;|parameter]])&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| mustbeposted || &lt;br /&gt;
|-&lt;br /&gt;
| readapidenied || &lt;br /&gt;
|-&lt;br /&gt;
| writeapidenied || &lt;br /&gt;
|-&lt;br /&gt;
| noapiwrite || &lt;br /&gt;
|-&lt;br /&gt;
| badtoken || &lt;br /&gt;
|-&lt;br /&gt;
| missingparam || &lt;br /&gt;
|-&lt;br /&gt;
| invalidparammix || &lt;br /&gt;
|-&lt;br /&gt;
| invalidtitle || &lt;br /&gt;
|-&lt;br /&gt;
| invalid-content-data || &amp;lt;br/&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:105--&amp;gt; occurs when trying to edit a JSON page with non-conforming data, or while trying to edit a &amp;lt;tvar name=1&amp;gt;MassMessageListContent&amp;lt;/tvar&amp;gt; page&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| nosuchpageid || &lt;br /&gt;
|-&lt;br /&gt;
| pagecannotexist || &lt;br /&gt;
|-&lt;br /&gt;
| nosuchrevid || &lt;br /&gt;
|-&lt;br /&gt;
| nosuchrevid || &lt;br /&gt;
|-&lt;br /&gt;
| badmd5 || &lt;br /&gt;
|-&lt;br /&gt;
| hookaborted || &lt;br /&gt;
|-&lt;br /&gt;
| parseerror || &lt;br /&gt;
|-&lt;br /&gt;
| summaryrequired || &lt;br /&gt;
|-&lt;br /&gt;
| blocked || &lt;br /&gt;
|-&lt;br /&gt;
| ratelimited || &lt;br /&gt;
|-&lt;br /&gt;
| unknownerror || &lt;br /&gt;
|-&lt;br /&gt;
| nosuchsection || &lt;br /&gt;
|-&lt;br /&gt;
| sectionsnotsupported || &lt;br /&gt;
|-&lt;br /&gt;
| editnotsupported || &amp;lt;translate&amp;gt;&amp;lt;!--T:98--&amp;gt; Editing of this type of page is not supported using the text based edit API.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| appendnotsupported || &lt;br /&gt;
|-&lt;br /&gt;
| redirect-appendonly || &lt;br /&gt;
|-&lt;br /&gt;
| edit-invalidredirect || &lt;br /&gt;
|-&lt;br /&gt;
| badformat || &lt;br /&gt;
|-&lt;br /&gt;
| customcssprotected || &lt;br /&gt;
|-&lt;br /&gt;
| customjsprotected || &lt;br /&gt;
|-&lt;br /&gt;
| taggingnotallowed || &amp;lt;translate&amp;gt;&amp;lt;!--T:99--&amp;gt; You don&amp;#039;t have permission to set change tags&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| badtags || &amp;lt;br /&amp;gt; Tag2&amp;#039;&amp;#039;&amp;#039;}}&lt;br /&gt;
|-&lt;br /&gt;
| tpt-target-page || &amp;lt;br/&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:100--&amp;gt; When using &amp;lt;tvar name=translate&amp;gt;&amp;lt;/tvar&amp;gt;, editing of a translated subpage is not allowed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Parameter history == &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.35: &amp;lt;translate&amp;gt;&amp;lt;!--T:104--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;baserevid&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.25: &amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.21: &amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;contentformat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;contentmodel&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.20: &amp;lt;translate&amp;gt;&amp;lt;!--T:79--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;pageid&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.19: &amp;lt;translate&amp;gt;&amp;lt;!--T:80--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;sectiontitle&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.18: &amp;lt;translate&amp;gt;&amp;lt;!--T:81--&amp;gt; Deprecated &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;captchaid&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;captchaword&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.17: &amp;lt;translate&amp;gt;&amp;lt;!--T:82--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;redirect&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.16: &amp;lt;translate&amp;gt;&amp;lt;!--T:83--&amp;gt; Deprecated &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;watch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;unwatch&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.16: &amp;lt;translate&amp;gt;&amp;lt;!--T:84--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;watchlist&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.15: &amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;undo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;undoafter&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.14: &amp;lt;translate&amp;gt;&amp;lt;!--T:86--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;starttimestamp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Additional notes == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
* Log in is not strictly required by the API, but it is needed to correctly attribute the edit to its author.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; A successful edit from a user who is not logged in will be attributed to their IP address.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
* Bots that are not logged in may face restrictions on editing and other write requests; see  for more details.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
* Users who are not logged in will always be given the empty CSRF token, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;+\&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
* The process for requesting a token has changed several times across versions.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for more information.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
* &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; provides a way to access edit tokens when running code within a wiki page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
* You can use the same CSRF token for all edit operations across the same wiki, during a single login session.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
* It is a good practice to pass any tokens in your request at the end of the query string, or at least after the text parameter.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; That way, if the connection is interrupted, the token will not be passed and the edit will fail.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; If you are using the &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; object to make requests, this is done automatically.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
* Although &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;captchaid&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;captchaword&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; have, technically, been removed from API:Edit since v1.18, &amp;lt;tvar name=3&amp;gt;&amp;lt;/tvar&amp;gt; extends API:Edit to work with CAPTCHAs.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; Thus, with ConfirmEdit installed, these parameters are still available.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:61--&amp;gt; ConfirmEdit comes packaged with the MediaWiki software, v1.18+.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
* The API does not yet support editing [[Multi-Content Revisions|content slots]] (). You can do so instead with an extension like [[Extension:WSSlots]], which enables the &amp;lt;code&amp;gt;editslot&amp;lt;/code&amp;gt; API action.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; contains useful links on editing articles.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; describes how to log in using a simplified interface when accessing wikis via a script or application, rather than the GUI.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; more details on using a bot to automatically edit pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:66--&amp;gt; provides a way to access edit tokens when running JavaScript within a MediaWiki page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; has more details on using tokens to log in or make POST requests.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:68--&amp;gt; a deprecated API, distinct from &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, for requesting tokens in earlier versions of MediaWiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt; allows you to diff between edits on a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; alters tags on a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; reverts a series of edits.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; rolls back files to an earlier state.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt; deletes and restores revisions to a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References == &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:MediaWiki API]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:API:Edit]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:15 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:API/Edit</comments>
		</item>
		<item>
			<title>API/Parsing wikitext</title>
			<link>https://mediawiki.numinix.com/index.php?title=API/Parsing_wikitext&amp;diff=25&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=API/Parsing_wikitext&amp;diff=25&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GET/POST request&amp;#039;&amp;#039;&amp;#039; to parse content of a page and obtain the output.&lt;br /&gt;
&lt;br /&gt;
== API documentation == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Example 1: Parse content of a page == &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GET request === &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Response === &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;parse&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;Pet door&amp;quot;,&lt;br /&gt;
        &amp;quot;pageid&amp;quot;: 3276454,&lt;br /&gt;
        &amp;quot;revid&amp;quot;: 852892138,&lt;br /&gt;
        &amp;quot;text&amp;quot;: {&lt;br /&gt;
            &amp;quot;*&amp;quot;: &amp;quot;&amp;lt;div class=\&amp;quot;mw-parser-output\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;thumb tright\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;thumbinner\&amp;quot; style=\&amp;quot;width:222px;\&amp;quot;&amp;gt;&amp;lt;a href=\&amp;quot;/wiki/File:Doggy_door_exit.JPG\&amp;quot; class=\&amp;quot;image\&amp;quot;&amp;gt;&amp;lt;img alt=\&amp;quot;\&amp;quot; src=\&amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/7/71/Doggy_door_exit.JPG/220px-Doggy_door_exit.JPG\&amp;quot; width=\&amp;quot;220\&amp;quot; height=\&amp;quot;165\&amp;quot; class=\&amp;quot;thumbimage\&amp;quot; srcset=\&amp;quot;//upload.wikimedia.org/wikipedia/commons/thumb/7/71/Doggy_door_exit.JPG/330px-Doggy_door_exit.JPG 1.5x, &lt;br /&gt;
            ...&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Sample code == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;!-- Transclude Sample code --&amp;gt;&lt;br /&gt;
/Sample code 1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Example 2: Parse a section of a page and fetch its table data == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GET request === &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Response === &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;parse&amp;quot;: {&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Unusual articles/Places and infrastructure&amp;quot;,&lt;br /&gt;
        &amp;quot;pageid&amp;quot;: 38664530,&lt;br /&gt;
        &amp;quot;wikitext&amp;quot;: {&lt;br /&gt;
            &amp;quot;*&amp;quot;: &amp;quot;===Antarctica===\n&amp;lt;!--[[File:Grytviken church.jpg|thumb|150px|right|A little church in [[Grytviken]] in the [[Religion in Antarctica|Antarctic]].]]--&amp;gt;\n{| class=\&amp;quot;wikitable\&amp;quot;\n|-\n| &amp;#039;&amp;#039;&amp;#039;[[Emilio Palma]]&amp;#039;&amp;#039;&amp;#039;\n| An Argentine national who is the first person known to be born on the continent of Antarctica.\n|-\n| &amp;#039;&amp;#039;&amp;#039;[[Scouting in the Antarctic]]&amp;#039;&amp;#039;&amp;#039;\n| Always be prepared for glaciers and penguins.\n|}&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Sample code === &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python3&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    parse_wikitable.py&lt;br /&gt;
&lt;br /&gt;
    MediaWiki Action API Code Samples&lt;br /&gt;
    Demo of `Parse` module: Parse a section of a page, fetch its table data and save&lt;br /&gt;
    it to a CSV file&lt;br /&gt;
&lt;br /&gt;
    MIT license&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
import csv&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
S = requests.Session()&lt;br /&gt;
&lt;br /&gt;
URL = &amp;quot;https://en.wikipedia.org/w/api.php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
TITLE = &amp;quot;Wikipedia:Unusual_articles/Places_and_infrastructure&amp;quot;&lt;br /&gt;
&lt;br /&gt;
PARAMS = {&lt;br /&gt;
    &amp;#039;action&amp;#039;: &amp;quot;parse&amp;quot;,&lt;br /&gt;
    &amp;#039;page&amp;#039;: TITLE,&lt;br /&gt;
    &amp;#039;prop&amp;#039;: &amp;#039;wikitext&amp;#039;,&lt;br /&gt;
    &amp;#039;section&amp;#039;: 5,&lt;br /&gt;
    &amp;#039;format&amp;#039;: &amp;quot;json&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def get_table():&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Parse a section of a page, fetch its table data and save it to a CSV file&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    res = S.get(url=URL, params=PARAMS)&lt;br /&gt;
    data = res.json()&lt;br /&gt;
    wikitext = data[&amp;#039;parse&amp;#039;][&amp;#039;wikitext&amp;#039;][&amp;#039;*&amp;#039;]&lt;br /&gt;
    lines = wikitext.split(&amp;#039;|-&amp;#039;)&lt;br /&gt;
    entries = []&lt;br /&gt;
&lt;br /&gt;
    for line in lines:&lt;br /&gt;
        line = line.strip()&lt;br /&gt;
        if line.startswith(&amp;quot;|&amp;quot;):&lt;br /&gt;
            table = line[2:].split(&amp;#039;||&amp;#039;)&lt;br /&gt;
            entry = table[0].split(&amp;quot;|&amp;quot;)[0].strip(&amp;quot;&amp;#039;&amp;#039;&amp;#039;[[]]\n&amp;quot;), table[0].split(&amp;quot;|&amp;quot;)[1].strip(&amp;quot;\n&amp;quot;)&lt;br /&gt;
            entries.append(entry)&lt;br /&gt;
&lt;br /&gt;
    file = open(&amp;quot;places_and_infrastructure.csv&amp;quot;, &amp;quot;w&amp;quot;)&lt;br /&gt;
    writer = csv.writer(file)&lt;br /&gt;
    writer.writerows(entries)&lt;br /&gt;
    file.close()&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;#039;__main__&amp;#039;:&lt;br /&gt;
    get_table()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Possible errors == &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Code&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; Info&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|missingtitle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|nosuchsection&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pagecannotexist&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|invalidparammix&lt;br /&gt;
|&amp;lt;nowiki/&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Parameter history == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.45: &amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;parser&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.43: &amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;usearticle&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.38: &amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;showstrategykeys&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.32: &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Deprecated &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;disabletidy&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.31: &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;disablestylededuplication&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.30: &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;revid&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;useskin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wrapoutputclass&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*[[API:Parsing wikitext/TOCData]]&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:API:Parsing_wikitext]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:15 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:API/Parsing_wikitext</comments>
		</item>
		<item>
			<title>API/Query</title>
			<link>https://mediawiki.numinix.com/index.php?title=API/Query&amp;diff=22&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=API/Query&amp;diff=22&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
The &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;action=query&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; module allows you to fetch information about a wiki and the data stored in it, such as the wikitext of a particular page, the links and categories of a set of pages, or the token you need to .&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== API documentation == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Query modules === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
The query module has three types of submodules (also called query modules):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
*  about the wiki and the logged-in user.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
*  of pages, including page revisions and content.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
*  of pages that match certain criteria.&lt;br /&gt;
&lt;br /&gt;
== Examples == &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 1: Specifying pages === &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
Unlike meta and list query modules, all property query modules work on a set of pages that can be specified in one of the following ways:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
* By name using the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;titles&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter, e.g. &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;titles=Foo|Bar|Main_Page&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
* By page ID using the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;pageids&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter, e.g. &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;pageids=123|456|75915&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
* By revision ID using the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;revids&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter, e.g. &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;revids=478198|54872|54894545&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Most query modules will convert revision ID to the corresponding page ID.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; Only &amp;lt;tvar name=1&amp;gt;revisions}}&amp;lt;/tvar&amp;gt; actually uses the revision ID itself.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
* Using a [[&amp;lt;tvar name=1&amp;gt;#Generators&amp;lt;/tvar&amp;gt;|generator]].&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
5487548945&lt;br /&gt;
|p3=format=json&lt;br /&gt;
|p4=formatversion=2&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 1130,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Avicenna&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 17412,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Klein bottle&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 33642,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Warrant&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 2: Title normalization === &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Title normalization converts page titles to their canonical form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
This means capitalizing the first character, replacing underscores with spaces, and changing namespace to the localized form defined for that wiki.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
article_B&lt;br /&gt;
| p3=format=json&lt;br /&gt;
| p4=formatversion=2&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;normalized&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;fromencoded&amp;quot;: false,&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Project:articleA&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Wikipedia:ArticleA&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;fromencoded&amp;quot;: false,&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;article_B&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Article B&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Article B&amp;quot;,&lt;br /&gt;
                &amp;quot;missing&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:ArticleA&amp;quot;,&lt;br /&gt;
                &amp;quot;missing&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 3: Missing and invalid titles === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
Titles that don&amp;#039;t exist or are invalid will have a &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;missing&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;invalid&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; attribute set in the response.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
In output formats that support numeric array keys, missing and invalid titles will have negative page IDs.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:92--&amp;gt; In some cases, a title can be viewed by a user but cannot be accessed by the API, such as pages that mirror content from another wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:93--&amp;gt; These titles will have a &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;known&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; attribute set in the response.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
Main%20PageTalk:&lt;br /&gt;
|p3=format=json&lt;br /&gt;
|p4=formatversion=2&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Doesntexist&amp;quot;,&lt;br /&gt;
                &amp;quot;missing&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Talk:&amp;quot;,&lt;br /&gt;
                &amp;quot;invalidreason&amp;quot;: &amp;quot;The requested page title is empty or contains only the name of a namespace.&amp;quot;,&lt;br /&gt;
                &amp;quot;invalid&amp;quot;: true&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 15580374,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Main Page&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 4: Continuing queries=== &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
When all the data is not returned in the response of a query, there will be a &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; attribute to indicate that there is more data.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;continue&amp;quot;: {&lt;br /&gt;
        &amp;quot;accontinue&amp;quot;: &amp;quot;List_of_largest_companies_in_Sri_Lanka&amp;quot;,&lt;br /&gt;
        &amp;quot;continue&amp;quot;: &amp;quot;-||&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;allcategories&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of BioWare characters&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of Harlequin Romance novels&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of MPs elected in UK elections templates&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of Metamorphoses characters&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of Rockstar Games characters&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of Star Trek awards and nominations&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of Swedish films of the 2020s&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of association football clubs in the Republic of Ireland templates&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of awards and nominations received by Aleksej Pechkuroy&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of cabinet templates&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
To get further data, add its values to the original request:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;allcategories&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of largest companies in Sri Lanka&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of longest beaches of the world&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of ministers by ministry of Bangladesh&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of people from Palm Beach, Florida&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;category&amp;quot;: &amp;quot;List of video game characters&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 5: Batchcomplete === &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
The API returns a &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;batchcomplete&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; element to indicate that all data for the current batch of items has been returned.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
In the response of the sample query below, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;batchcomplete&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; has been included to indicate that all the data for each of the three images has been returned.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
The next continuation will begin returning data for the next set of 3 images.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===== Response ===== &amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
  &amp;quot;continue&amp;quot;: {&lt;br /&gt;
    &amp;quot;aicontinue&amp;quot;: &amp;quot;20020822143445|Do_You_Want_to_Know_a_Secret_(Beatles_song_-_sample).ogg&amp;quot;,&lt;br /&gt;
    &amp;quot;continue&amp;quot;: &amp;quot;-||&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;query&amp;quot;: {&lt;br /&gt;
    &amp;quot;allimages&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Simon_and_Garfunkel_-_Mrs_Robinson.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;timestamp&amp;quot;: &amp;quot;2002-08-04T19:55:17Z&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot;: &amp;quot;https://upload.wikimedia.org/wikipedia/en/6/64/Simon_and_Garfunkel_-_Mrs_Robinson.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionurl&amp;quot;: &amp;quot;https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Mrs_Robinson.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionshorturl&amp;quot;: &amp;quot;https://en.wikipedia.org/w/index.php?curid=67723&amp;quot;,&lt;br /&gt;
        &amp;quot;ns&amp;quot;: 6,&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;File:Simon and Garfunkel - Mrs Robinson.ogg&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Simon_and_Garfunkel_-_Scarborough_Fair.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;timestamp&amp;quot;: &amp;quot;2002-08-04T20:01:36Z&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot;: &amp;quot;https://upload.wikimedia.org/wikipedia/en/c/c1/Simon_and_Garfunkel_-_Scarborough_Fair.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionurl&amp;quot;: &amp;quot;https://en.wikipedia.org/wiki/File:Simon_and_Garfunkel_-_Scarborough_Fair.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionshorturl&amp;quot;: &amp;quot;https://en.wikipedia.org/w/index.php?curid=67779&amp;quot;,&lt;br /&gt;
        &amp;quot;ns&amp;quot;: 6,&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;File:Simon and Garfunkel - Scarborough Fair.ogg&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;Beatles_please_me.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;timestamp&amp;quot;: &amp;quot;2002-08-22T14:34:00Z&amp;quot;,&lt;br /&gt;
        &amp;quot;url&amp;quot;: &amp;quot;https://upload.wikimedia.org/wikipedia/en/e/ee/Beatles_please_me.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionurl&amp;quot;: &amp;quot;https://en.wikipedia.org/wiki/File:Beatles_please_me.ogg&amp;quot;,&lt;br /&gt;
        &amp;quot;descriptionshorturl&amp;quot;: &amp;quot;https://en.wikipedia.org/w/index.php?curid=74826&amp;quot;,&lt;br /&gt;
        &amp;quot;ns&amp;quot;: 6,&lt;br /&gt;
        &amp;quot;title&amp;quot;: &amp;quot;File:Beatles please me.ogg&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Example 6: Generators === &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Use generators if you want to get data about a set of pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
For example, to get data about pages in a certain category, instead of querying &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;list=categorymembers&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and then querying again with &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;pageids&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; set to all the returned pages, combine the two API calls into one by using &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;generator=categorymembers&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
When using a list module as a generator, you don&amp;#039;t need to specify the pages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
However, for a property module, you should [[&amp;lt;tvar name=1&amp;gt;#Specifying pages&amp;lt;/tvar&amp;gt;|specify the pages]] which the generator will work on.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
For example, to load all pages that are linked to from the main page, use &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;generator=links&amp;amp;titles=Main%20Page&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
Parameters passed to a generator must be prefixed with a &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt;. For instance, when using &amp;lt;code&amp;gt;generator=backlinks&amp;lt;/code&amp;gt;, use &amp;lt;code&amp;gt;gbllimit&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;bllimit&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
The sample query below gets links and categories for the first three pages in the main namespace starting with &amp;quot;Ba&amp;quot;.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== GET request ==== &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
categories&lt;br /&gt;
|p6=format=json&lt;br /&gt;
|p7=formatversion=2&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Response ==== &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     &amp;quot;continue&amp;quot;: {&lt;br /&gt;
         &amp;quot;plcontinue&amp;quot;: &amp;quot;14977970|0|Kirkwall_Ba_game&amp;quot;,&lt;br /&gt;
         &amp;quot;continue&amp;quot;: &amp;quot;||categories&amp;quot;&lt;br /&gt;
     },&lt;br /&gt;
     &amp;quot;query&amp;quot;: {&lt;br /&gt;
         &amp;quot;pages&amp;quot;: [&lt;br /&gt;
             {&lt;br /&gt;
                 &amp;quot;pageid&amp;quot;: 98178,&lt;br /&gt;
                 &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                 &amp;quot;title&amp;quot;: &amp;quot;Ba&amp;quot;,&lt;br /&gt;
                 &amp;quot;links&amp;quot;: [&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;BA&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Mainspace&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Naming conventions (capitalization)&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Protection policy&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Redirect&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 10,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Template:R from miscapitalisation&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 10,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Template:R from modification&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 10,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Template:R to disambiguation page&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 14,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Category:Redirects from ambiguous terms&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 14,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Category:Redirects from other capitalisations&amp;quot;&lt;br /&gt;
                     }&lt;br /&gt;
                 ],&lt;br /&gt;
                 &amp;quot;categories&amp;quot;: [&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 14,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Category:Redirects from ambiguous terms&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 14,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Category:Redirects from other capitalisations&amp;quot;&lt;br /&gt;
                     },&lt;br /&gt;
                     {&lt;br /&gt;
                         &amp;quot;ns&amp;quot;: 14,&lt;br /&gt;
                         &amp;quot;title&amp;quot;: &amp;quot;Category:Unprintworthy redirects&amp;quot;&lt;br /&gt;
                     }&lt;br /&gt;
                 ]&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                 &amp;quot;pageid&amp;quot;: 14977970,&lt;br /&gt;
                 &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                 &amp;quot;title&amp;quot;: &amp;quot;Ba&amp;#039;&amp;quot;&lt;br /&gt;
             },&lt;br /&gt;
             {&lt;br /&gt;
                 &amp;quot;pageid&amp;quot;: 33351890,&lt;br /&gt;
                 &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                 &amp;quot;title&amp;quot;: &amp;quot;Ba&amp;#039;Al Shem Tov&amp;quot;&lt;br /&gt;
             }&lt;br /&gt;
         ]&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Continuing queries == &amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:98--&amp;gt; Queries will often have more results available than are just shown in the original query.&amp;lt;/translate&amp;gt;&lt;br /&gt;
(Often this is because a  query&amp;#039;s result  has been reached.)&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:99--&amp;gt; In these cases, queries can be continued.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:100--&amp;gt; More detailed information on continuing queries can be at &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Possible warnings == &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; Warning message&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; Cause&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; No support for special pages has been implemented.&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; Thrown if a title in the Special: or Media: namespace is given. The pages in these namespaces cannot be queried.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; Thrown if the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;redirect&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter is used in a query that specifies pages using &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;revids&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Parameter history == &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.34: &amp;lt;translate&amp;gt;&amp;lt;!--T:96--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;exportschema&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.24: &amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;rawcontinue&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:76--&amp;gt; (note: [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/API:Raw query continue&amp;lt;/tvar&amp;gt;|raw continuation]] was the default behavior until v1.26)&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.21: &amp;lt;translate&amp;gt;&amp;lt;!--T:66--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;continue&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Additional notes == &amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt; Specifying titles through &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;titles&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;pageids&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is limited to 50 titles per query, or 500 for those with the &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;apihighlimits&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; right.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; Use multiple query modules together to get what you need in one request, e.g. &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;prop=info|revisions&amp;amp;list=backlinks|embeddedin|allimages&amp;amp;meta=userinfo&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:101--&amp;gt; Generators always pass page titles to the query module.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:102--&amp;gt; Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module&amp;#039;s query parameters.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Resolving redirects == &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; Redirects can be resolved automatically, so that the target of a redirect is returned instead of the given title.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:79--&amp;gt; When present, they will always contain &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;from&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;to&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; attributes and may contain a &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;tofragment&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; attribute for those redirects that point to specific sections.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:80--&amp;gt; Both normalization and redirection may take place.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:81--&amp;gt; In the case of multiple redirects, all redirects will be resolved, and in case of a circular redirect, there might not be a page in the &amp;#039;pages&amp;#039; section (see [[&amp;lt;tvar name=1&amp;gt;#circular_redirects&amp;lt;/tvar&amp;gt;|an example request]]).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:82--&amp;gt; Redirect resolution cannot be used in combination with the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;revids=&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter or with a generator generating revids; doing that will produce a [[&amp;lt;tvar name=2&amp;gt;#Possible warnings&amp;lt;/tvar&amp;gt;|warning]] and will not resolve redirects for the specified revids.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
The examples below show how the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;redirects&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter works.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ApiEx&lt;br /&gt;
| desc=&amp;lt;translate&amp;gt;&amp;lt;!--T:84--&amp;gt; Using &amp;quot;&amp;lt;tvar name=1&amp;gt;redirects&amp;lt;/tvar&amp;gt;&amp;quot; parameter.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt; &amp;quot;&amp;lt;tvar name=1&amp;gt;Main page&amp;lt;/tvar&amp;gt;&amp;quot; is a redirect to &amp;quot;&amp;lt;tvar name=2&amp;gt;Main Page&amp;lt;/tvar&amp;gt;&amp;quot;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| p1=action=query&lt;br /&gt;
| p2=titles=Main%20page&lt;br /&gt;
| p3=redirects&lt;br /&gt;
| p4=format=json&lt;br /&gt;
| p5=formatversion=2&lt;br /&gt;
| result=&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;redirects&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Main page&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Main Page&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 15580374,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Main Page&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{ApiEx&lt;br /&gt;
| desc=&amp;lt;translate&amp;gt;&amp;lt;!--T:86--&amp;gt; Same request but without the &amp;quot;&amp;lt;tvar name=1&amp;gt;redirects&amp;lt;/tvar&amp;gt;&amp;quot; parameter.&amp;lt;/translate&amp;gt;&lt;br /&gt;
| p1=action=query&lt;br /&gt;
| p2=titles=Main%20page&lt;br /&gt;
| p3=format=json&lt;br /&gt;
| p4=formatversion=2&lt;br /&gt;
| result=&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 217225,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Main page&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{ApiEx&lt;br /&gt;
| desc=&amp;lt;translate&amp;gt;&amp;lt;!--T:87--&amp;gt; Without &amp;quot;&amp;lt;tvar name=1&amp;gt;redirects&amp;lt;/tvar&amp;gt;&amp;quot; you may want to use &amp;lt;tvar name=2&amp;gt;prop=info&amp;lt;/tvar&amp;gt; to obtain redirect status.&amp;lt;/translate&amp;gt;&lt;br /&gt;
| p1=action=query&lt;br /&gt;
| p2=titles=Main%20page&lt;br /&gt;
| p3=prop=info&lt;br /&gt;
| p4=formatversion=2&lt;br /&gt;
| result=&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 217225,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Main page&amp;quot;,&lt;br /&gt;
                &amp;quot;contentmodel&amp;quot;: &amp;quot;wikitext&amp;quot;,&lt;br /&gt;
                &amp;quot;pagelanguage&amp;quot;: &amp;quot;en&amp;quot;,&lt;br /&gt;
                &amp;quot;pagelanguagehtmlcode&amp;quot;: &amp;quot;en&amp;quot;,&lt;br /&gt;
                &amp;quot;pagelanguagedir&amp;quot;: &amp;quot;ltr&amp;quot;,&lt;br /&gt;
                &amp;quot;touched&amp;quot;: &amp;quot;2017-12-17T02:02:05Z&amp;quot;,&lt;br /&gt;
                &amp;quot;lastrevid&amp;quot;: 777924062,&lt;br /&gt;
                &amp;quot;length&amp;quot;: 170,&lt;br /&gt;
                &amp;quot;redirect&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{ApiEx&lt;br /&gt;
| desc=&amp;lt;translate&amp;gt;&amp;lt;!--T:88--&amp;gt; Request with a section link.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:89--&amp;gt; &amp;quot;&amp;lt;tvar name=1&amp;gt;Wikipedia:!--&amp;lt;/tvar&amp;gt;&amp;quot; is a redirect to &amp;quot;&amp;lt;tvar name=2&amp;gt;Wikipedia:Manual of Style#Invisible comments&amp;lt;/tvar&amp;gt;&amp;quot;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| p1=action=query&lt;br /&gt;
| p2=titles=Wikipedia:!--&lt;br /&gt;
| p3=redirects&lt;br /&gt;
| p4=format=json&lt;br /&gt;
| p5=formatversion=2&lt;br /&gt;
| result=&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;redirects&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Wikipedia:!--&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Wikipedia:Manual of Style&amp;quot;,&lt;br /&gt;
                &amp;quot;tofragment&amp;quot;: &amp;quot;Invisible comments&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 33697,&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 4,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Wikipedia:Manual of Style&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:90--&amp;gt; Here is a case of a circular redirect: &amp;lt;tvar name=1&amp;gt;Page1 &amp;amp;rarr; Page2 &amp;amp;rarr; Page3 &amp;amp;rarr; Page1&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:91--&amp;gt; Also, in this example a non-normalized name &amp;lt;tvar name=1&amp;gt;&amp;#039;page1&amp;#039;&amp;lt;/tvar&amp;gt; is used.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|p1=action=query&lt;br /&gt;
|p2=titles=page1&lt;br /&gt;
|p3=redirects&lt;br /&gt;
|p4=format=json&lt;br /&gt;
|p5=formatversion=2&lt;br /&gt;
|result=&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: true,&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;normalized&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;fromencoded&amp;quot;: false,&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;page1&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Page1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;redirects&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Page1&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Page2&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Page2&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Page3&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;from&amp;quot;: &amp;quot;Page3&amp;quot;,&lt;br /&gt;
                &amp;quot;to&amp;quot;: &amp;quot;Page1&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ],&lt;br /&gt;
        &amp;quot;pages&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Page1&amp;quot;,&lt;br /&gt;
                &amp;quot;missing&amp;quot;: true&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; The quick start guide.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:75--&amp;gt; Contains information on how to use the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;rawcontinue&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:API:Query]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:14 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:API/Query</comments>
		</item>
		<item>
			<title>API/Search</title>
			<link>https://mediawiki.numinix.com/index.php?title=API/Search&amp;diff=23&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=API/Search&amp;diff=23&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GET request&amp;#039;&amp;#039;&amp;#039; to perform an advanced search for wiki pages by title or content text match.&lt;br /&gt;
&lt;br /&gt;
== API documentation == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== GET request === &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Default search results are without UTF8 encoding.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Replace &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;utf8&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in the get request above to see the difference.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Response === &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python3&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;batchcomplete&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
    &amp;quot;continue&amp;quot;: {&lt;br /&gt;
        &amp;quot;sroffset&amp;quot;: 10,&lt;br /&gt;
        &amp;quot;continue&amp;quot;: &amp;quot;-||&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;query&amp;quot;: {&lt;br /&gt;
        &amp;quot;searchinfo&amp;quot;: {&lt;br /&gt;
            &amp;quot;totalhits&amp;quot;: 5060&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;search&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Nelson Mandela&amp;quot;,&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 21492751,&lt;br /&gt;
                &amp;quot;size&amp;quot;: 196026,&lt;br /&gt;
                &amp;quot;wordcount&amp;quot;: 23664,&lt;br /&gt;
                &amp;quot;snippet&amp;quot;: &amp;quot;&amp;lt;span class=\&amp;quot;searchmatch\&amp;quot;&amp;gt;Nelson&amp;lt;/span&amp;gt; Rolihlahla &amp;lt;span class=\&amp;quot;searchmatch\&amp;quot;&amp;gt;Mandela&amp;lt;/span&amp;gt; (/mænˈdɛlə/, Xhosa: [xoliɬaˈɬa &amp;lt;span class=\&amp;quot;searchmatch\&amp;quot;&amp;gt;manˈdɛla&amp;lt;/span&amp;gt;]; 18 July 1918 – 5 December 2013) was a South African anti-apartheid revolutionary,&amp;quot;,&lt;br /&gt;
                &amp;quot;timestamp&amp;quot;: &amp;quot;2018-07-23T07:59:43Z&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;ns&amp;quot;: 0,&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;Death of Nelson Mandela&amp;quot;,&lt;br /&gt;
                &amp;quot;pageid&amp;quot;: 41284488,&lt;br /&gt;
                &amp;quot;size&amp;quot;: 133513,&lt;br /&gt;
                &amp;quot;wordcount&amp;quot;: 13512,&lt;br /&gt;
                &amp;quot;snippet&amp;quot;: &amp;quot;On December 5, 2013, &amp;lt;span class=\&amp;quot;searchmatch\&amp;quot;&amp;gt;Nelson&amp;lt;/span&amp;gt; &amp;lt;span class=\&amp;quot;searchmatch\&amp;quot;&amp;gt;Mandela&amp;lt;/span&amp;gt;, the first President of South Africa to be elected in a fully representative democratic election, as well as the country&amp;#039;s&amp;quot;,&lt;br /&gt;
                &amp;quot;timestamp&amp;quot;: &amp;quot;2018-07-19T17:30:59Z&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            ...&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Sample code === &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Transclude Sample code --&amp;gt;&lt;br /&gt;
/Sample code 1}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Possible errors == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; Code&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Info&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| nosrsearch&lt;br /&gt;
|  &lt;br /&gt;
|-&lt;br /&gt;
| search-text-disabled&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| search-title-disabled&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| search-error&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; search error has occurred&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Parameter history == &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.24: &amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; Deprecated &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;hasrelated&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.23:&lt;br /&gt;
** &amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Removed &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;srredirects&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Redirects are always included.&amp;lt;/translate&amp;gt;&lt;br /&gt;
** &amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;srinterwiki&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.22: &amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;srbackend&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.17: &amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nearmatch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;titlesnippet&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;redirecttitle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;redirectsnippet&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sectiontitle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sectionsnippet&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hasrelated&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* v1.16: &amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; Introduced &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;srinfo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;srprop&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Additional notes == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
* Depending on which search backend is in use, how &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;srsearch&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is interpreted may vary.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; On Wikimedia wikis which use CirrusSearch, see &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for information about the search syntax.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
[[Category:MediaWiki API query lists|MediaWiki API query lists]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:API:Search]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:14 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:API/Search</comments>
		</item>
		<item>
			<title>Manual/Purge</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Purge&amp;diff=20&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Purge&amp;diff=20&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; &amp;#039;&amp;#039;&amp;#039;Purging&amp;#039;&amp;#039;&amp;#039; forces MediaWiki to clear the cached version of a given page, forcing the page to be redisplayed from its source or scripts to restart.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; It is used to ensure that recent changes are made immediately visible.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; One way to purge a MediaWiki page is to click a page&amp;#039;s &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; tab, then in your browser&amp;#039;s location field delete just the word &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;history&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; off the end of the URL, type &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;purge&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (after the &amp;lt;tvar name=4&amp;gt;&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;) on the end of the URL, and hit &amp;lt;tvar name=5&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Your URL should look something like one of the ones below.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Examples== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
* To purge a page, add &amp;lt;tvar name=purge&amp;gt;&amp;lt;code&amp;gt;?action=purge&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to the URL of the page you are viewing.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://example.org/wiki/Main_Page&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;?action=purge&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
* If the URL has other parameters in its query string, add the purge action to the query string with an ampersand (&amp;lt;tvar name=1&amp;gt;&amp;amp;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://example.org/wiki/index.php?title=Main_Page&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;amp;action=purge&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Requests must be confirmed== &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; Purge requests made via POST are automatically filled.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Users making purge requests via a query string will be presented with a confirmation form.&amp;lt;/translate&amp;gt;&amp;lt;ref&amp;gt;[[gerrit:304157]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; This form must be submitted before the purge request will be completed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; This behavior is a precaution to keep web spiders from accidentally purging pages when following links.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Purge and image thumbnails== &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
If purge is run on an image description page, the cached thumbnails for the image will be purged.&lt;br /&gt;
&lt;br /&gt;
==Categories== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
If purge is run on a category with less than 5000 members, the category will be recounted from scratch (&amp;lt;tvar name=1&amp;gt;[[phab:T85696|T85696]]&amp;lt;/tvar&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==Null edits== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Purging will only update the rendering of the page, it won&amp;#039;t update the link tables.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; These tables control lists that the page is listed in (for example, pages listed on category pages, &amp;lt;tvar name=1&amp;gt;[[Special:Whatlinkshere]]&amp;lt;/tvar&amp;gt;, along with several other &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;query&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; special pages).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; In order to force an update of the link tables, you can do what is called a &amp;#039;&amp;#039;&amp;#039;null edit&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;purge edit&amp;#039;&amp;#039;&amp;#039;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; Click on &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and save without changing anything.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; No entry in the page&amp;#039;s history will appear, but all link tables and other derived data should be refreshed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; An alternative way to update the links table is to use the API&amp;#039;s &amp;lt;tvar name=purge&amp;gt;&amp;lt;/tvar&amp;gt; module with the &amp;lt;tvar name=force&amp;gt;&amp;lt;code&amp;gt;forcelinkupdate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; option.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; This however may not update other derived data, such as the search index or resource loader module cache.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; This option only applies to the API.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Adding &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;forcelinkupdate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to an &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;index.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; URL has no effect.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039; which are created automatically to represent loggable actions in the page history.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; Dummy revisions are sometimes called &amp;quot;null revisions&amp;quot;, but that should be avoided to prevent confusion.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==See also== &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  - &amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; a command-line [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Manual:Maintenance scripts&amp;lt;/tvar&amp;gt;|maintenance script]] that allows batch purging of articles.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* [[gerrit:q/c2ce6a1b,n,z|Require POST in ?action=purge]]&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==References== &amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Cache|Cache]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Purge]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:13 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Purge</comments>
		</item>
		<item>
			<title>API/Main page</title>
			<link>https://mediawiki.numinix.com/index.php?title=API/Main_page&amp;diff=21&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=API/Main_page&amp;diff=21&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;#REDIRECT [[API:Action API]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:API:Main_page]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:13 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:API/Main_page</comments>
		</item>
		<item>
			<title>Manual/Job queue</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Job_queue&amp;diff=18&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Job_queue&amp;diff=18&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; The &amp;#039;&amp;#039;&amp;#039;job queue&amp;#039;&amp;#039;&amp;#039; is designed to hold many short tasks using [[w:batch processing|batch processing]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
It is commonly used to perform long-running tasks asynchronously, although a synchronous mode is available, too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Set up == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:122--&amp;gt; It is recommended that you schedule the running of jobs completely in the background, via the command line.&amp;lt;/translate&amp;gt;&lt;br /&gt;
If you do not have access to the command line but your hosting plan comes with a web control panel, it may well include a cronjob scheduler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; By default, jobs are run at the end of a web request. Disable this default behaviour by setting &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:99--&amp;gt; You should run &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;runJobs.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; as the same user as the web server runs as, to ensure that permissions to the filesystem are correctly accounted for if jobs touch uploaded files.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Cron === &amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
You could use [[w:Cron|cron]] to run the jobs every hour. For instance, add the following to your crontab file:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
0 * * * * /usr/bin/php /var/www/wiki/maintenance/runJobs.php --maxtime=3600 &amp;gt; /var/log/runJobs.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
Using Cron makes it easy to get started, but can make email notifications and cascading template feel slow (to wait up to an hour). Consider using one of the below approaches to set up a continuous job runner instead.&lt;br /&gt;
&lt;br /&gt;
=== Continuous service === &amp;lt;!--T:100--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
If you have shell access and the possibility to create init scripts, you can create a simple service to run jobs as they become available, and also throttle them to prevent the job runner from monopolising the CPU resources of the server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Create a bash script, for example at &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;/usr/local/bin/mwjobrunner&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
==== Create script ==== &amp;lt;!--T:133--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:103--&amp;gt; Put the MediaWiki installation path on the line below&amp;lt;/translate&amp;gt;&lt;br /&gt;
MW_INSTALL_PATH=&amp;quot;/home/www/www.mywikisite.example/mediawiki&amp;quot;&lt;br /&gt;
RUN_JOBS=&amp;quot;$MW_INSTALL_PATH/maintenance/runJobs.php --maxtime=3600&amp;quot;&lt;br /&gt;
echo &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:104--&amp;gt; Starting job service...&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:105--&amp;gt; Wait a minute after the server starts up to give other processes time to get started&amp;lt;/translate&amp;gt;&lt;br /&gt;
sleep 60&lt;br /&gt;
echo &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:106--&amp;gt; Started.&amp;lt;/translate&amp;gt;&lt;br /&gt;
while true; do&lt;br /&gt;
	# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:107--&amp;gt; Job types that need to be run ASAP no matter how many of them are in the queue&amp;lt;/translate&amp;gt;&lt;br /&gt;
	# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:108--&amp;gt; Those jobs should be very &amp;quot;cheap&amp;quot; to run&amp;lt;/translate&amp;gt;&lt;br /&gt;
	php $RUN_JOBS --type=&amp;quot;enotifNotify&amp;quot;&lt;br /&gt;
	# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:109--&amp;gt; Everything else, limit the number of jobs on each batch&amp;lt;/translate&amp;gt;&lt;br /&gt;
	# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:110--&amp;gt; The &amp;lt;tvar name=1&amp;gt;--wait&amp;lt;/tvar&amp;gt; parameter will pause the execution here until new jobs are added, to avoid running the loop without anything to do&amp;lt;/translate&amp;gt;&lt;br /&gt;
	php $RUN_JOBS --wait --maxjobs=20&lt;br /&gt;
	# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:112--&amp;gt; Wait some seconds to let the CPU do other things, like handling web requests, etc&amp;lt;/translate&amp;gt;&lt;br /&gt;
	echo &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:113--&amp;gt; Waiting for 10 seconds...&amp;lt;/translate&amp;gt;&lt;br /&gt;
	sleep 10&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:114--&amp;gt;&lt;br /&gt;
Depending on how fast the server is and the load it handles, you can adapt the number of jobs to run on each cycle and the number of seconds to wait on each cycle.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:115--&amp;gt;&lt;br /&gt;
Make the script executable (&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;chmod 755&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Create service ==== &amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:116--&amp;gt; If using systemd, create a new service unit by creating the file &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;/etc/systemd/system/mw-jobqueue.service&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:117--&amp;gt; Change the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;User&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; parameter to the user that runs PHP on your web server:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=MediaWiki Job runner&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/local/bin/mwjobrunner&lt;br /&gt;
Nice=10&lt;br /&gt;
ProtectSystem=full&lt;br /&gt;
User=php-fpm&lt;br /&gt;
OOMScoreAdjust=200&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:118--&amp;gt; Enable it and start it with those commands:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl enable mw-jobqueue&lt;br /&gt;
sudo systemctl start mw-jobqueue&lt;br /&gt;
sudo systemctl status mw-jobqueue&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Job execution on page requests == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; By default, at the end of each web request, one job is taken from the job queue and executed.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; This behaviour is controlled by the &amp;lt;tvar name=JobRunRate&amp;gt;&amp;lt;/tvar&amp;gt; configuration variable.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Setting this variable to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, will run a job on each request.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; Setting this variable to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; will disable the execution of jobs during web requests completely, so that you can instead run &amp;lt;tvar name=runJobs&amp;gt;&amp;lt;/tvar&amp;gt; manually or periodically from the command line.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; When enabled, jobs will be executed by opening a socket and making an internal HTTP request to an unlisted [[&amp;lt;tvar name=man&amp;gt;Special:MyLanguage/Manual:Special pages&amp;lt;/tvar&amp;gt;|special page]]: &amp;lt;tvar name=1&amp;gt;Special:RunJobs&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; See also the [[&amp;lt;tvar name=1&amp;gt;#Asynchronous&amp;lt;/tvar&amp;gt;|asynchronous section]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Performance issue === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; If the performance burden of running jobs on every web request is too great but you are unable to run jobs from the command line, you can reduce &amp;lt;tvar name=JobRunRate&amp;gt;&amp;lt;/tvar&amp;gt; to a number between &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; This means a job will execute &amp;#039;&amp;#039;on average&amp;#039;&amp;#039; every &amp;lt;tvar name=code&amp;gt;&amp;lt;code&amp;gt;1 / $wgJobRunRate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; requests.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$wgJobRunRate = 0.01;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Manual usage === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; There is also a way to empty the job queue manually, for example after changing a template that&amp;#039;s present on many pages.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; Simply run the &amp;lt;tvar name=RunJobs&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; maintenance script.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/path-to-my-wiki/maintenance$ php ./runJobs.php&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Abandoned jobs == &amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
A job can fail for some reasons. To understand why, you have to inspect the related log file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
In any case, if a job fails &amp;lt;tvar name=1&amp;gt;3&amp;lt;/tvar&amp;gt; times (so if the system has done that number of attempts), the job is then considered &amp;quot;abandoned&amp;quot; and it&amp;#039;s not executed again.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
Relevant source code:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://doc.wikimedia.org/mediawiki-core/master/php/JobQueue_8php_source.html#l00085&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
An abandoned job is:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:129--&amp;gt; not executed anymore from &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:130--&amp;gt; not counted from &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:131--&amp;gt; not automatically removed from the database&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:132--&amp;gt; but are included in the count of &amp;lt;tvar name=2&amp;gt;[[#Statistics|the statistics API module]]&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Job examples == &amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Updating links tables when a template changes === &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; When a template changes, MediaWiki adds a job to the job queue for each article transcluding that template.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; Each job is a command to read an article, expand any templates, and update the link table accordingly.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Previously, the host articles would remain outdated until either their parser cache expires or until a user edits the article.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== HTML cache invalidation === &amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
A wider class of operations can result in invalidation of the HTML cache for a large number of pages:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
*Changing an image (all the thumbnails have to be re-rendered, and their sizes recalculated)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
*Deleting a page (all the links to it from other pages need to change from blue to red)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
*Creating or undeleting a page (like above, but from red to blue)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
*Changing a template (all the pages that transclude the template need updating)&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; Except for template changes, these operations do not invalidate the links tables, but they do invalidate the HTML cache of all pages linking to that page, or using that image.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; Invalidating the cache of a page is a short operation; it only requires updating a single database field and sending a multicast packet to clear the caches.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; But if there are more than about 1000 to do, it takes a long time. By default, one job is added per &amp;#039;&amp;#039;&amp;#039;300&amp;#039;&amp;#039;&amp;#039; operations (see &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:95--&amp;gt; Note, however, that even if purging the cache of a page is a short operation, reparsing a complex page that is not in the cache may be expensive, especially if a highly used template is edited and causes lots of pages to be purged in a short period of time and your wiki has lots of concurrent visitors loading a wide spread of pages.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:96--&amp;gt; This can be mitigated by reducing the number of pages purged in a short period of time, by reducing &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; to a small number (20, for example) and also set &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; for &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;htmlCacheUpdate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to a low number (5, for example).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Audio and video transcoding === &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
When using &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; to process local uploads of audio and video files, the job queue is used to run the potentially very slow creation of derivative transcodes at various resolutions/formats.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
These are &amp;#039;&amp;#039;&amp;#039;not suitable&amp;#039;&amp;#039;&amp;#039; for running on web requests -- you will need a background runner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
It&amp;#039;s recommended to set up separate runners for the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;webVideoTranscode&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;webVideoTranscodePrioritized&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; job types if possible. These two queues process different subsets of files -- the first for high resolution HD videos, and the second for lower-resolution videos and audio files which process more quickly.&lt;br /&gt;
&lt;br /&gt;
== Typical values == &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; During a period of low load, the job queue might be zero.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; At Wikimedia, the job queue is, in practice, almost never zero.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; In off-peak hours, it might be a few hundred to a thousand.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; During a busy day, it might be a few million, but it can quickly fluctuate by 10% or more.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;[https://brionv.com/log/2008/04/22/so-whats-in-the-job-queue-anyway/]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Statistics == &amp;lt;!--T:66--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:138--&amp;gt;&lt;br /&gt;
The value of the job queue can be retrieved from &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt; The number of jobs returned in the API result may be slightly inaccurate when using MySQL, which estimates the number of jobs in the database.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; This number can fluctuate based on the number of jobs that have recently been added or deleted.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; For other databases that do not support fast result-size estimation, the actual number of jobs is given.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== For developers and maintainers == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Code stewardship === &amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== History == &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Asynchronous === &amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
The configuration variable &amp;lt;tvar name=RunJobsAsync&amp;gt;&amp;lt;/tvar&amp;gt; has been added to force the execution of jobs synchronously, in scenarios where making an internal HTTP request for job execution is not wanted.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; When running jobs asynchronously, it will open an internal HTTP connection for handling the execution of jobs, and will return the contents of the page immediately to the client without waiting for the job to complete.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Otherwise, the job will be executed in the same process and the client will have to wait until the job is completed.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; When the job does not run asynchronously, if a fatal error occurs during job execution, it will propagate to the client, aborting the load of the page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Note that even if $wgRunJobsAsync is set to true, if PHP can&amp;#039;t open a socket to make the internal HTTP request, it will fall back to the synchronous job execution.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:75--&amp;gt; However, there are a variety of situations where this internal request may fail, and jobs won&amp;#039;t be run, without falling back to the synchronous job execution.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:76--&amp;gt; Starting with MediaWiki 1.28.1 and 1.27.2, $wgRunJobsAsync now defaults to false.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Deferred updates === &amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:82--&amp;gt; The &amp;#039;&amp;#039;deferred updates&amp;#039;&amp;#039; mechanism allows the execution of code to be scheduled for the end of the request, after all content has been sent to the browser.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:135--&amp;gt; This is similar to queuing a job, except that it runs immediately instead of upto several minutes/hours in the future.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:81--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;DeferredUpdates&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; was introduced in MediaWiki 1.23 and received major changes during MediaWiki 1.27 and 1.28.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:83--&amp;gt; The goal of this mechanism is speed up the web responses by doing less work, as well as to prioritise some work that would previously be a job to run as soon as possible after the end of the response.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:136--&amp;gt; A deferrable update can implement &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;EnqueueableDataUpdate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in order to be queueable as a Job as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:137--&amp;gt; This is used by &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;RefreshSecondaryDataUpdate&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in core, for example, which means if the update fails for any reason, MediaWiki will fallback to queuing as a job and try again later as to fulfil the contract in question.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Changes in MediaWiki 1.22 === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; In &amp;lt;tvar name=mw&amp;gt;&amp;lt;/tvar&amp;gt;, the job queue execution on each page request was changed (&amp;lt;tvar name=gerrit&amp;gt;&amp;lt;/tvar&amp;gt;) so, instead of executing the job inside the same PHP process that&amp;#039;s rendering the page, a new PHP CLI command is spawned to execute &amp;lt;tvar name=runJobs&amp;gt;&amp;lt;/tvar&amp;gt; in the background.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; It will only work if &amp;lt;tvar name=PhpCli&amp;gt;&amp;lt;/tvar&amp;gt; is set to an actual path or safe mode is off, otherwise, the old method will be used.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
This new execution method could cause some problems:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
* If &amp;lt;tvar name=PhpCli&amp;gt;&amp;lt;/tvar&amp;gt; is set to an incompatible version of PHP (e.g.: an outdated version) jobs may fail to run (fixed in 1.23).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
* PHP &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;open_basedir&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; restrictions are in effect, and &amp;lt;tvar name=PhpCli&amp;gt;&amp;lt;/tvar&amp;gt; is disallowed (&amp;lt;tvar name=task&amp;gt;&amp;lt;/tvar&amp;gt;, fixed in 1.23).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
* Performance: even if the job queue is empty, the new PHP process is started anyway (&amp;lt;tvar name=task&amp;gt;&amp;lt;/tvar&amp;gt;, fixed in 1.23).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
* Sometimes the spawning PHP process cause the server or only the CLI process to hang due to &amp;lt;tvar name=1&amp;gt;stdout&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=2&amp;gt;stderr&amp;lt;/tvar&amp;gt; descriptors not properly redirected (&amp;lt;tvar name=task&amp;gt;&amp;lt;/tvar&amp;gt;, fixed in 1.22)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* It does not work for shared code (wiki farms), because it doesn&amp;#039;t pass additional required parameters to &amp;lt;tvar name=1&amp;gt;runJobs.php&amp;lt;/tvar&amp;gt; to identify the wiki that&amp;#039;s running the job (&amp;lt;tvar name=task&amp;gt;&amp;lt;/tvar&amp;gt;, fixed in 1.23)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
* Normal shell limits like &amp;lt;tvar name=1&amp;gt;, , &amp;lt;/tvar&amp;gt; are enforced on the &amp;lt;tvar name=2&amp;gt;runJobs.php&amp;lt;/tvar&amp;gt; process that&amp;#039;s being executed in the background.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; There&amp;#039;s no way to revert to the old on-request job queue handling, besides setting &amp;lt;tvar name=PhpCli&amp;gt;&amp;lt;/tvar&amp;gt; to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, for example, which may cause other problems (&amp;lt;tvar name=task&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; It can be disabled completely by setting &amp;lt;tvar name=code&amp;gt; 0;}}&amp;lt;/tvar&amp;gt;, but jobs will no longer run on page requests, and you must explicitly run &amp;lt;tvar name=1&amp;gt;runJobs.php&amp;lt;/tvar&amp;gt; to periodically run pending jobs.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Changes in MediaWiki 1.23 === &amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
In MediaWiki 1.23, the 1.22 execution method is abandoned, and jobs are triggered by MediaWiki making an HTTP connection to itself.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
It was first designed as an [[&amp;lt;tvar name=man&amp;gt;Special:MyLanguage/Manual:API&amp;lt;/tvar&amp;gt;|API]] entry point (&amp;lt;tvar name=gerrit1&amp;gt;&amp;lt;/tvar&amp;gt;) but later changed to be the unlisted special page &amp;lt;tvar name=1&amp;gt;[[Special:RunJobs]]&amp;lt;/tvar&amp;gt; (&amp;lt;tvar name=gerrit2&amp;gt;&amp;lt;/tvar&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
While it solves various bugs introduced in 1.22, it still requires loading a lot of PHP classes in memory on a new process to execute a job, and also makes a new HTTP request that the server must handle.&lt;br /&gt;
&lt;br /&gt;
=== Changes in MediaWiki 1.27 === &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
In MediaWiki 1.25 and MediaWiki 1.26, use of &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; would sometimes cause jobs not to get run if the wiki has custom &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt;  configuration. This was fixed in MediaWiki 1.27.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Changes in MediaWiki 1.28 === &amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
Between MediaWiki 1.23 and MediaWiki 1.27, use of &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; would cause jobs not to get run on if MediaWiki requests are for a server name or protocol that does not match the currently configured server name one (e.g. when supporting both HTTP and HTTPS, or when MediaWiki is behind a reverse proxy that redirects to HTTPS). This was fixed in MediaWiki 1.28.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Changes in MediaWiki 1.29 === &amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
In MediaWiki 1.27.0 to 1.27.3 and 1.28.0 to 1.28.2, when &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; is set to a value greater than 0, an error like the one below may appear in error logs, or on the page:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PHP Notice: JobQueueGroup::__destruct: 1 buffered job(s) never inserted&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; As a result of this error, certain updates may fail in some cases, like category members not being updated on category pages, or recent changes displaying edits of deleted pages - even if you manually run &amp;lt;tvar name=runJobs&amp;gt;&amp;lt;/tvar&amp;gt; to clear the job queue.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:79--&amp;gt; It has been reported as a bug (&amp;lt;tvar name=bug&amp;gt;&amp;lt;/tvar&amp;gt;) and was solved in 1.27.4 and 1.28.3.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changes in MediaWiki 1.17 ===&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; Up to MediaWiki 1.16, the job queue value was shown on &amp;lt;tvar name=1&amp;gt;[[Special:Statistics]]&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:68--&amp;gt; Since 1.17 (&amp;lt;tvar name=rev&amp;gt;[[rev:75272]]&amp;lt;/tvar&amp;gt;) it&amp;#039;s been removed, and can be seen now with &amp;lt;tvar name=api&amp;gt;&amp;lt;/tvar&amp;gt;:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MediaWiki 1.6 ===&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
In 2009 ([[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Release notes/1.6&amp;lt;/tvar&amp;gt;|MediaWiki 1.6]]) the &amp;#039;&amp;#039;&amp;#039;job queue&amp;#039;&amp;#039;&amp;#039; was introduced to perform long-running tasks asynchronously.&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
[[Category:Job queue| ]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:MediaWiki concepts]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Job_queue]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:12 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Job_queue</comments>
		</item>
		<item>
			<title>Manual/Importing XML dumps</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Importing_XML_dumps&amp;diff=19&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Importing_XML_dumps&amp;diff=19&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; This page describes methods to &amp;#039;&amp;#039;&amp;#039;import XML dumps&amp;#039;&amp;#039;&amp;#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:75--&amp;gt; XML Dumps contain the content of a wiki (wiki pages with all their revisions), without the site-related data.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:76--&amp;gt; A XML dump does not create a full backup of the wiki database, the dump does not contain user accounts, images, edit logs, etc.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; The &amp;lt;tvar name=1&amp;gt;[[Special:Export]]&amp;lt;/tvar&amp;gt; page of any MediaWiki site, including any Wikimedia site and Wikipedia, creates an XML file (content dump).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt; See [[&amp;lt;tvar name=2&amp;gt;m:Special:MyLanguage/Data dumps&amp;lt;/tvar&amp;gt;|meta:Data dumps]] and &amp;lt;tvar name=3&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; XML files are  explained more on [[&amp;lt;tvar name=4&amp;gt;Special:MyLanguage/Help:Export#Export format&amp;lt;/tvar&amp;gt;|Help:Export]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==How to import?== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
There are several methods for importing these XML dumps.&lt;br /&gt;
&lt;br /&gt;
===Using Special:Import=== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;tvar name=1&amp;gt;[[Special:Import]]&amp;lt;/tvar&amp;gt; can be used by wiki users with &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;import&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; permission (by default this is users in the &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;sysop&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; group) to import a small number of pages (about 100 should be safe).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;Trying to import large dumps this way may result in timeouts or connection failures&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for a basic description of how the importing process works.&amp;lt;/translate&amp;gt;&amp;lt;ref&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for a C# code sample that manipulates an XML import file.&amp;lt;/translate&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; You are asked to give an interwiki prefix.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:163--&amp;gt; For instance, if you exported from the English Wikipedia, you have to type &amp;#039;en&amp;#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; XML importing requires the &amp;lt;tvar name=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;code&amp;gt;import&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;code&amp;gt;importupload&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; permissions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Large XML uploads === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
Large XML uploads might be rejected because they exceed the PHP upload limit set in the &amp;lt;tvar name=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; file.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
 ; &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:61--&amp;gt; Maximum allowed size for uploaded files.&amp;lt;/translate&amp;gt;&lt;br /&gt;
 upload_max_filesize = 20M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
Try changing these four settings in &amp;lt;tvar name=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
 ; &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:63--&amp;gt; Maximum size of POST data that PHP will accept.&amp;lt;/translate&amp;gt;&lt;br /&gt;
 post_max_size = 20M&lt;br /&gt;
&lt;br /&gt;
 max_execution_time = 1000  ; &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:64--&amp;gt; Maximum execution time of each script, in seconds&amp;lt;/translate&amp;gt;&lt;br /&gt;
 max_input_time = 2000	    ; &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:65--&amp;gt; Maximum amount of time each script may spend parsing request data&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ; &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:66--&amp;gt; Default timeout for socket based streams (seconds)&amp;lt;/translate&amp;gt;&lt;br /&gt;
 default_socket_timeout = 2000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Using &amp;lt;tvar name=1&amp;gt;importDump.php&amp;lt;/tvar&amp;gt;, if you have shell access=== &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
:&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; &amp;#039;&amp;#039;Recommended method for general use, but slow for very big data sets.&amp;#039;&amp;#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; &amp;#039;&amp;#039;See: &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, including tips on how to use it for large wikis.&amp;#039;&amp;#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
===Using &amp;lt;tvar name=1&amp;gt;importTextFiles.php&amp;lt;/tvar&amp;gt; maintenance Script=== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; If you have a lot of content converted from another source (several word processor files, content from another wiki, etc), you may have several files that you would like to import into your wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:67--&amp;gt; In MediaWiki 1.27 and later, you can use the &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; maintenance script.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
You can also use the &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; maintenance script for this purpose.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===rebuildall.php===&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; For large XML dumps, you can run &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;[[Special:MyLanguage/Manual:rebuildall.php|rebuildall.php]]&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, but, it will take a  &amp;#039;&amp;#039;long&amp;#039;&amp;#039; time, because it has to parse all pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt; This is not recommended for large data sets.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Using pywikibot, &amp;lt;tvar name=1&amp;gt;pagefromfile.py&amp;lt;/tvar&amp;gt; and Nokogiri === &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; is a collection of tools written in python that automate work on Wikipedia or other MediaWiki sites.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:68--&amp;gt; Once installed on your computer, you can use the specific tool &amp;lt;tvar name=3&amp;gt;&amp;lt;/tvar&amp;gt; which lets you upload a wiki file on Wikipedia or MediaWiki sites.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:69--&amp;gt; The xml file created by &amp;lt;tvar name=1&amp;gt;dumpBackup.php&amp;lt;/tvar&amp;gt; can be transformed into a wiki file suitable to be processed by &amp;lt;tvar name=2&amp;gt;pagefromfile.py&amp;lt;/tvar&amp;gt; using a simple script similar to the following (here the program will transform all xml files which are on the current directory which is needed if your MediaWiki site is a family):&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== On Python ==== &amp;lt;!--T:161--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from pathlib import Path&lt;br /&gt;
from lxml import etree&lt;br /&gt;
import re&lt;br /&gt;
from pywikibot import Link, Site&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot; The exported XML preserves local namespace names. To import into a project in another language,&lt;br /&gt;
 you need to convert them to canonical names. Otherwise the pages will be imported as originals&lt;br /&gt;
 without recognizing their namespace.&lt;br /&gt;
XML contains namespace numbers, but mapping them can be problematic. Because they can differ between projects.&lt;br /&gt;
 For example, in ru.wikisource NS Page is number 104, while in uk.wikisource it is 252.&lt;br /&gt;
To solve these, the Link() class from pywikibot is used.&lt;br /&gt;
&lt;br /&gt;
The Link() required the language code and family of project. XML does not contain these as separate&lt;br /&gt;
 values. Instead, they are in another format, like `enwikisource` or &amp;#039;commonswiki&amp;#039;, which needs to be parsed.    &lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xml_folder = &amp;#039;PATH_TO_XML_DUMP&amp;#039;&lt;br /&gt;
for xml_file in Path(xml_folder).glob(&amp;#039;*.xml&amp;#039;):&lt;br /&gt;
    root = etree.parse(xml_file).getroot()&lt;br /&gt;
    ns = {&amp;#039;&amp;#039;: root.nsmap[None]}  # xml namespace&lt;br /&gt;
&lt;br /&gt;
    # Parsing language code and family of the project&lt;br /&gt;
    dbname = root.find(&amp;#039;.//siteinfo/dbname&amp;#039;, ns).text&lt;br /&gt;
    m = re.search(r&amp;#039;^(\w+?)(wiki|wikisource|wikiquote|wikinews|wikibooks)$&amp;#039;, dbname)&lt;br /&gt;
    if m:&lt;br /&gt;
        site = Site(code=m.group(1), fam=m.group(2))&lt;br /&gt;
    elif &amp;#039;commons&amp;#039; in dbname:&lt;br /&gt;
        site = Site(&amp;#039;commons&amp;#039;)&lt;br /&gt;
    elif &amp;#039;mediawikiwiki&amp;#039; in dbname:&lt;br /&gt;
        site = Site(&amp;#039;mediawiki&amp;#039;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Site didn&amp;#039;t recognized.&amp;quot;)&lt;br /&gt;
        break&lt;br /&gt;
&lt;br /&gt;
    wiki = []&lt;br /&gt;
    for page in root.findall(&amp;#039;.//page&amp;#039;, ns):&lt;br /&gt;
        title_source = page.find(&amp;#039;title&amp;#039;, ns).text&lt;br /&gt;
        title = Link(title_source, site).ns_title().replace(&amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
        revision_id = page.find(&amp;#039;.//revision/id&amp;#039;, ns).text&lt;br /&gt;
        print(f&amp;#039;{title}, revision id: {revision_id}&amp;#039;)&lt;br /&gt;
        text = page.find(&amp;#039;.//revision/text&amp;#039;, ns).text&lt;br /&gt;
        wiki.append(&amp;quot;\n&amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039;\n%s\n&amp;quot; % (title, text))&lt;br /&gt;
    Path(f&amp;#039;out_{xml_file.stem}.wiki&amp;#039;).write_text(&amp;#039;\n&amp;#039;.join(wiki))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== On Ruby ==== &amp;lt;!--T:162--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# dumpxml2wiki.rb&lt;br /&gt;
&lt;br /&gt;
require &amp;#039;rubygems&amp;#039;&lt;br /&gt;
require &amp;#039;nokogiri&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:140--&amp;gt; This program &amp;lt;tvar name=1&amp;gt;dumpxml2wiki&amp;lt;/tvar&amp;gt; reads MediaWiki xml files dumped by &amp;lt;tvar name=2&amp;gt;dumpBackup.php&amp;lt;/tvar&amp;gt; on the current directory and transforms them into wiki files which can then be modified and uploaded again by &amp;lt;tvar name=3&amp;gt;pywikipediabot&amp;lt;/tvar&amp;gt; using &amp;lt;tvar name=4&amp;gt;pagefromfile.py&amp;lt;/tvar&amp;gt; on a MediaWiki family site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:143--&amp;gt; The text of each page is searched with xpath and its title is added on the first line as an html comment: this is required by &amp;lt;tvar name=1&amp;gt;pagefromfile.py&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &lt;br /&gt;
Dir.glob(&amp;quot;*.xml&amp;quot;).each do |filename|&lt;br /&gt;
  input = Nokogiri::XML(File.new(filename), nil, &amp;#039;UTF-8&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
  puts filename.to_s  # prints the name of each .xml file&lt;br /&gt;
&lt;br /&gt;
  File.open(&amp;quot;out_&amp;quot; + filename + &amp;quot;.wiki&amp;quot;, &amp;#039;w&amp;#039;) {|f| &lt;br /&gt;
    input.xpath(&amp;quot;//xmlns:text&amp;quot;).each {|n|&lt;br /&gt;
      pptitle = n.parent.parent.at_css &amp;quot;title&amp;quot; # searching for the title&lt;br /&gt;
      title = pptitle.content&lt;br /&gt;
      f.puts &amp;quot;\n&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;&amp;quot; &amp;lt;&amp;lt; title.to_s &amp;lt;&amp;lt; &amp;quot;&amp;#039;&amp;#039;&amp;#039;--&amp;gt;&amp;quot; &amp;lt;&amp;lt; n.content  &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
For example, here is an excerpt of a wiki file output by the command &amp;#039;ruby dumpxml2wiki.rb&amp;#039; (two pages can then be uploaded by pagefromfile.py, a Template and a second page which is a redirect):&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;Template:Lang_translation_-pl&amp;#039;&amp;#039;&amp;#039;--&amp;gt;&amp;lt;includeonly&amp;gt;Tłumaczenie&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#REDIRECT[[badania demograficzne]]&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;ilościowa demografia&amp;#039;&amp;#039;&amp;#039;--&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Termin wielojęzycznego słownika demograficznego (pierwsze wydanie)|ilościowa demografia]]&lt;br /&gt;
[[Category:Termin wielojęzycznego słownika demograficznego (pierwsze wydanie) (redirect)]]&lt;br /&gt;
[[Category:10]]&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; The program accesses each xml file, extracts the texts within &amp;lt;tvar name=1&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;text&amp;gt; &amp;lt;/text&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/tvar&amp;gt; markups of each page, searches the corresponding title as a parent and enclosed it with the paired &amp;lt;nowiki&amp;gt;&amp;lt;!--&amp;#039;&amp;#039;&amp;#039;Title of the page&amp;#039;&amp;#039;&amp;#039;--&amp;gt; &amp;lt;/nowiki&amp;gt; commands used by &amp;#039;pagefromfile&amp;#039; to create or update a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; The name of the page is in an html comment and separated by three quotes on the same first start line.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; Please notice that the name of the page can be written in Unicode.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; Sometimes it is important that the page starts directly with the command, like for a &amp;lt;tvar name=2&amp;gt;&amp;lt;nowiki&amp;gt;#REDIRECT&amp;lt;/nowiki&amp;gt;&amp;lt;/tvar&amp;gt;; thus the comment giving the name of the page must be &amp;#039;&amp;#039;after&amp;#039;&amp;#039; the command but still on the first line.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Please remark that the xml dump files produced by &amp;lt;tvar name=1&amp;gt;dumpBackup.php&amp;lt;/tvar&amp;gt; are prefixed by a namespace:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&amp;lt;mediawiki xmlns=&amp;quot;http://www.mediawiki.org/xml/export-0.4/&amp;quot;&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
In order to access the text node using Nokogiri, you need to prefix your path with &amp;#039;xmlns&amp;#039;:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;input.xpath(&amp;quot;//xmlns:text&amp;quot;)&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Nokogiri is an HTML, XML, SAX, &amp;amp; Reader parser with the ability to search documents via XPath or CSS3 selectors from the last generation of XML parsers using Ruby.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
Example of the use of &amp;#039;pagefromfile&amp;#039; to upload the output wiki text file:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
python pagefromfile.py -file:out_filename.wiki -summary:&amp;quot;Reason for changes&amp;quot; -lang:pl -putthrottle:01&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to import logs? === &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
Exporting and importing logs with the standard MediaWiki scripts often proves very hard; an alternative for import is the script &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;pages_logging.py&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in the [&amp;lt;tvar name=2&amp;gt;https://github.com/glimmerphoenix/WikiDAT&amp;lt;/tvar&amp;gt; WikiDAT tool], as [[&amp;lt;tvar name=3&amp;gt;mailarchive:xmldatadumps-l/2013-July/000876.html&amp;lt;/tvar&amp;gt;|suggested by Felipe Ortega]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting == &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Merging histories, revision conflict, edit summaries, and other complications === &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:145--&amp;gt; When importing a page with history information, if the user name already exists in the target project, change the user name in the XML file to avoid confusion.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:146--&amp;gt; If the user name is new to the target project, the contributions will still be available, but no account will be created automatically.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:147--&amp;gt; When a page is referenced through a link or a URL, generic namespace names are converted automatically.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:148--&amp;gt; If the prefix is not a recognized namespace name, the page will default to the main namespace.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:149--&amp;gt; However, prefixes like &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;mw:&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; might be ignored on projects that use them for interwiki linking.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:150--&amp;gt; In such cases, it might be beneficial to change the prefix to &amp;quot;Project:&amp;quot; in the XML file before importing.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:151--&amp;gt; If a page with the same name already exists, importing revisions will combine their histories.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:152--&amp;gt; Adding a revision between two existing ones can make the next user&amp;#039;s changes appear different.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:153--&amp;gt; To see the actual change, compare the two original revisions, not the inserted one.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:154--&amp;gt; So, only insert revisions to properly rebuild the page history.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:155--&amp;gt; A revision won&amp;#039;t be imported if there&amp;#039;s already a revision with the same date and time.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:156--&amp;gt; This usually happens if it&amp;#039;s been imported before, either to the current, a previous wiki, or both, possibly from a third site.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:157--&amp;gt; An edit summary might reference or link to another page, which can be confusing if the page being linked to has not been imported, even though the referencing page has been.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:158--&amp;gt; The edit summary doesn&amp;#039;t automatically indicate whether the page has been imported, but in the case of an upload import, you can add this information to the edit summaries in the XML file before the import.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:159--&amp;gt; This can help prevent confusion. When modifying the XML file with find/replace, keep in mind that adding text to the edit summaries requires differentiating between edits with and without an edit summary.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:160--&amp;gt; If there are multiple comment tags in the XML file, only the last set will be applied.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Interwikis === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;/tvar&amp;gt; linking.&amp;lt;/translate&amp;gt;&lt;br /&gt;
|1=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:74--&amp;gt; For example, ones with a prefix of &amp;#039;Meta:&amp;#039; would conflict with the interwiki prefix &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;meta:&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; which by default links to &amp;lt;tvar name=3&amp;gt;&amp;lt;nowiki&amp;gt;https://meta.wikimedia.org&amp;lt;/nowiki&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
You can do any of the following.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; Remove the prefix from the &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; table.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; This will preserve page titles, but prevent interwiki linking through that prefix.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*:&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; Example: you will preserve page titles &amp;#039;Meta:Blah blah&amp;#039; but will not be able to use the prefix &amp;#039;meta:&amp;#039; to link to meta.wikimedia.org (although it will be possible through a different prefix).&amp;lt;/translate&amp;gt;&lt;br /&gt;
*:&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; How to do it: before importing the dump, run the query &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;DELETE FROM interwiki WHERE iw_prefix=&amp;#039;prefix&amp;#039;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (note: do not include the colon in the &amp;lt;code&amp;gt;prefix&amp;lt;/code&amp;gt;).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; Alternatively, if you have [[&amp;lt;tvar name=2&amp;gt;Special:MyLanguage/Manual:Guide to setting up interwiki linking&amp;lt;/tvar&amp;gt;|enabled editing the interwiki table]], you can simply go to &amp;lt;tvar name=3&amp;gt;[[Special:Interwiki]]&amp;lt;/tvar&amp;gt; and click the &amp;#039;Delete&amp;#039; link on the right side of the row belonging to that prefix.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Replace the unwanted prefix in the XML file with &amp;quot;Project:&amp;quot; before importing. This will preserve the functionality of the prefix as an interlink, but will replace the prefix in the page titles with the name of the wiki where they&amp;#039;re imported into, and might be quite a pain to do on large dumps.&amp;lt;/translate&amp;gt;&lt;br /&gt;
*:&amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; Example: replace all &amp;#039;Meta:&amp;#039; with &amp;#039;Project:&amp;#039; in the XML file. MediaWiki will then replace &amp;#039;Project:&amp;#039; with the name of your wiki during importing.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==See also== &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* [[meta:Special:MyLanguage/Data dumps/Other tools|meta:Data dumps/Other tools]]&lt;br /&gt;
* &lt;br /&gt;
*  – &amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; May come in handy if you are doing massive imports&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  – &amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; Settings that may need to be changed if you are doing massive imports&amp;lt;/translate&amp;gt;&lt;br /&gt;
*  – &amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt; for importing images.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==References== &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Import/Export|Import/Export]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Importing_XML_dumps]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:12 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Importing_XML_dumps</comments>
		</item>
		<item>
			<title>Manual/User rights</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/User_rights&amp;diff=16&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/User_rights&amp;diff=16&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Manual/User_rights&amp;amp;diff=16&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:11 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/User_rights</comments>
		</item>
		<item>
			<title>Manual/Extensions</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Extensions&amp;diff=17&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Extensions&amp;diff=17&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
An &amp;#039;&amp;#039;&amp;#039;extension&amp;#039;&amp;#039;&amp;#039; lets you customise how MediaWiki looks and works.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; System administrators can [[&amp;lt;tvar name=1&amp;gt;#Installing an extension&amp;lt;/tvar&amp;gt;|install]] (or remove) extensions on the MediaWiki installations that they manage.&amp;lt;/translate&amp;gt; &lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; Developers can [[&amp;lt;tvar name=1&amp;gt;#Developing extensions&amp;lt;/tvar&amp;gt;|write new extensions]] or contribute to existing extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|inline=0|type=info&lt;br /&gt;
|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; While some extensions are maintained by MediaWiki developers, others are developed by third parties and may be unmaintained.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; As a result, many extensions may contain bugs—including, in some cases, security vulnerabilities.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; Not all extensions are compatible with every version of MediaWiki, and they may not function reliably when used together.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:152--&amp;gt; Use extensions at your own risk, particularly those tagged as insecure.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:116--&amp;gt; If an extension requires patches to the core software, make sure to back up your database beforehand to minimize the risk of breaking your wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Selecting extensions == &amp;lt;!--T:130--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bundled extensions === &amp;lt;!--T:137--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:138--&amp;gt;&lt;br /&gt;
Several extensions are  as standard.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:139--&amp;gt; These extensions should generally be of high utility, perform efficiently, be stable, be well-written, and have no known major security issues.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:140--&amp;gt; They should also be compatible with the latest versions of MediaWiki, and with each other (i.e. one extension shouldn&amp;#039;t block the functions of another).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:141--&amp;gt; A bundled extension may have a dependency on one or more other extensions, as long as those are also bundled.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:142--&amp;gt; Site admins get these automatically when installing or upgrading MediaWiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:143--&amp;gt; When upgrading MediaWiki, any extension upgrades will be automatically applied as well.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:144--&amp;gt; Site admins may choose to uninstall any of these, if they wish.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:145--&amp;gt; There are open, ongoing discussions about which extensions should be part of this group.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:146--&amp;gt; You can .&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:147--&amp;gt; Extensions will be bundled once the developers reach a consensus to do so.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:148--&amp;gt;&lt;br /&gt;
An extension may be removed from bundling if its functionality is merged into , it is replaced by an alternative, or in the unlikely event of any unsolvable major security vulnerabilities being discovered.&lt;br /&gt;
&lt;br /&gt;
=== Browsing extensions === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
Browse &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, or &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; to see the full range of extensions that are available.&lt;br /&gt;
&lt;br /&gt;
=== Checking installed extensions === &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:149--&amp;gt; Which extensions are active on an instance of MediaWiki can be checked by accessing the &amp;lt;tvar name=1&amp;gt;[[Special:Version]]&amp;lt;/tvar&amp;gt; page, and scrolling down to the heading &amp;#039;&amp;#039;Installed extensions&amp;#039;&amp;#039; (anchor &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;#mw-version-ext&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; For example, [[&amp;lt;tvar name=1&amp;gt;Special:Version#mw-version-ext&amp;lt;/tvar&amp;gt;|these extensions]] are installed on this wiki, and [[&amp;lt;tvar name=2&amp;gt;W:Special:Version#mw-version-ext&amp;lt;/tvar&amp;gt;|these extensions]] are active in the English Wikipedia.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Popular extensions === &amp;lt;!--T:119--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:124--&amp;gt; &amp;lt;tvar name=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/tvar&amp;gt; counts wikis that extensions are installed on.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:125--&amp;gt; This represents actual installations and not just downloads (i.e. it queries the wiki&amp;#039;s APIs), but it is also (as of 2023) not completely up-to-date.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:126--&amp;gt; It also doesn&amp;#039;t count installations on private wikis.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Installing an extension == &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:131--&amp;gt; For further guidance, see also &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; MediaWiki is ready to accept extensions just after [[&amp;lt;tvar name=man&amp;gt;Special:MyLanguage/Manual:Installation&amp;lt;/tvar&amp;gt;|installation]] is finished.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; To add an extension follow these steps:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; Before you start&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; Many extensions provide instructions designed for installation using Unix commands.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; You require shell access (SSH) to enter these commands listed on the extension help pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; Download your extension&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; [[&amp;lt;tvar name=special&amp;gt;Special:ExtensionDistributor&amp;lt;/tvar&amp;gt;|Extension Distributor]] helps you to select and download most of the popular extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; Extensions are usually distributed as modular packages.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; They generally go in their own subdirectory of &amp;lt;tvar name=IP&amp;gt;&amp;lt;code&amp;gt;/extensions/&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; A list of extensions stored in the Wikimedia [[&amp;lt;tvar name=gerrit&amp;gt;Special:MyLanguage/Gerrit&amp;lt;/tvar&amp;gt;|Git repository]] is located at &amp;lt;tvar name=extensions&amp;gt;[[phab:diffusion/MEXT/browse/master/|git:mediawiki/extensions]]&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; Some extensions [[&amp;lt;tvar name=cat&amp;gt;Special:MyLanguage/Category:Extensions which host their code in-wiki&amp;lt;/tvar&amp;gt;|don&amp;#039;t use version control]] and are not recommended.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; Some extensions are also available in [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Software bundles&amp;lt;/tvar&amp;gt;|bundles]], &amp;lt;tvar name=composer&amp;gt;&amp;lt;/tvar&amp;gt; or [[&amp;lt;tvar name=2&amp;gt;Special:MyLanguage/Comparison of extensions in distributions&amp;lt;/tvar&amp;gt;|package repositories]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:127--&amp;gt; It&amp;#039;s recommended to read the &amp;lt;tvar name=1&amp;gt;README&amp;lt;/tvar&amp;gt; file before installation.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:128--&amp;gt; It usually contains important info about configuration.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; Install your extension&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; At the end of the &amp;lt;tvar name=LocalSettings&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; file, add:&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtension( &amp;#039;ExtensionName&amp;#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; This line forces the PHP interpreter to read the extension file, and thereby make it accessible to MediaWiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; Some extensions can conflict with maintenance scripts, for example if they directly access &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;$_SERVER&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (not recommended).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; In this case, they can be wrapped in the conditional so maintenance scripts can still run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if ( !$wgCommandLineMode ) {&lt;br /&gt;
   wfLoadExtension ( &amp;#039;ExtensionName&amp;#039; );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; The maintenance script &amp;lt;tvar name=ImportDump&amp;gt;&amp;lt;/tvar&amp;gt; will fail for any extension which requires customised namespaces which is &amp;#039;&amp;#039;included&amp;#039;&amp;#039; inside the conditional above such as &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &lt;br /&gt;
: {{Note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; While this installation procedure is sufficient for most extensions, some require a different installation procedure.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; Check your extension&amp;#039;s documentation for details.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
: {{Note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; If you want to alter configuration variables in &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, you have to do this typically &amp;#039;&amp;#039;&amp;#039;after&amp;#039;&amp;#039;&amp;#039; including the extension.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; Otherwise defaults defined in the extension will overwrite your settings.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Upgrading an extension === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; Some extensions require to be updated whenever you update MediaWiki, while others work with multiple versions.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; To upgrade to a new version of an extension:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt; Download the new version of the extension&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; Replace all the extension files in the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;extensions/ExtensionName&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; directory with the new files.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; Do not remove the extension configuration present in &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; If the extension requires changes to the MediaWiki database, you will need to run the &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; maintenance script.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; Most extensions will mention if this script needs to be run or not.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:83--&amp;gt; (Perform backup of your data before executing the script).&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; If you don&amp;#039;t have command line access, you can also use the [[&amp;lt;tvar name=man&amp;gt;Special:MyLanguage/Manual:Upgrading#Web_updater&amp;lt;/tvar&amp;gt;|web updater]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; These instructions cover 99% of extensions.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; If the specific extension you are upgrading has instructions that differ from these, you should probably follow the specific extension&amp;#039;s instructions&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Uninstalling an extension === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
Remove the line from &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; with the extension name to uninstall it:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
wfLoadExtension( &amp;#039;ExtensionName&amp;#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
* You must also remove any lines pertaining to the configuration of the extension.&lt;br /&gt;
&lt;br /&gt;
== Developing extensions == &amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:133--&amp;gt; MediaWiki core provides several ways for extensions to change the behavior and appearance of a wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:134--&amp;gt; Various  give extensions flexibility to add features and functionality, such as displaying a special page or defining an API module.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:135--&amp;gt; To get started, see the .&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:136--&amp;gt; Before writing a new extension, consider contributing to an  or helping with an .&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:150--&amp;gt; Users can also make a general request on Phabricator, and hope that your good idea is picked up by a developer.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:151--&amp;gt; See &amp;lt;tvar name=1&amp;gt;https://phabricator.wikimedia.org/tag/mediawiki-extension-requests/&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
*  – &amp;lt;translate&amp;gt;&amp;lt;!--T:82--&amp;gt; Information about translating extensions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* [[Special:ExtensionDistributor]] – &amp;lt;translate&amp;gt;&amp;lt;!--T:118--&amp;gt; Includes a list of the 15 most downloaded extensions in Wikimedia version control&amp;lt;/translate&amp;gt;&lt;br /&gt;
* [https://extloc.toolforge.org/ extloc] – &amp;lt;translate&amp;gt;&amp;lt;!--T:153--&amp;gt; Where are MediaWiki extensions deployed in Wikimedia production?&amp;lt;/translate&amp;gt;&lt;br /&gt;
* [[API:Siteinfo#Extensions]]&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
[[Category:Customization techniques|Customization techniques]]&lt;br /&gt;
[[Category:Extension creation]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Extensions]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:11 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Extensions</comments>
		</item>
		<item>
			<title>Manual/Upgrading</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Upgrading&amp;diff=14&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Upgrading&amp;diff=14&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Manual/Upgrading&amp;amp;diff=14&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:10 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Upgrading</comments>
		</item>
		<item>
			<title>Manual/Short URL</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Short_URL&amp;diff=15&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Short_URL&amp;diff=15&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; &amp;#039;&amp;#039;&amp;#039;Short URLs&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;URL Rewrites&amp;#039;&amp;#039;&amp;#039; hide php file extensions from the page address.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; Please take a few minutes to devise a stable URL structure for your website before getting started, to reduce problems later.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Introduction == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Goal === &amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
The default MediaWiki installation path looks like this:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;/var/www/html/mediawiki&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; (installed as root user)&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;/home/johndoe/public_html/mediawiki&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; (installed with a shared hosting provider)&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
MediaWiki&amp;#039;s default page addresses looks like these examples:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://example.org/w/index.php/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; (recent versions of MediaWiki, without [[w:Common Gateway Interface|CGI]] support)&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://example.org/w/index.php?title=Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; (recent versions of MediaWiki, with CGI support)&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
Using the methods outlined on this page, we can configure something like this:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://example.org/wiki/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; This is the most common configuration, same as on Wikipedia, though not the default because it requires server-side modifications&amp;lt;/translate&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://example.org/view/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.example.org/view/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://example.org/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;https://wiki.example.org/Page_title&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:136--&amp;gt; Some people do not recommend the last two configurations.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:137--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for potential problems and solutions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Advantages &amp;amp; disadvantages === &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Advantage&amp;#039;&amp;#039;&amp;#039;: Short URLs hide some technical details from end-users, which can be desirable for site owners. Among other things, this means they can be kept stable when the underlying software changes.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:127--&amp;gt; (See above for the difference between MediaWiki&amp;#039;s default URL structure with CGI enabled vs without.)&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; They are also easier to read, remember, and manipulate for visitors.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; Additionally, short URLs offer an advantage over the default URLs for [[w:Search engine optimization|Search engine optimization]], as URLs containing &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; can be treated less favorably by search engines when calculating page rank.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Disadvantage&amp;#039;&amp;#039;&amp;#039;: Requires configuration, so, depending on the hosting environment you are using, it might be difficult to recreate.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; However, as every widely used webserver is capable of being configured to use short URLs, most paid web hosting services should support this feature. Any host that doesn&amp;#039;t offer you this feature is not worth your money.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Guides == &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:24--&amp;gt; Our official guides for short URL configuration for different web servers.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Pick your web server&amp;#039;s configuration from this list.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; If you don&amp;#039;t know what server software you are using, then it is most likely Apache.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*  (&amp;lt;translate&amp;gt;&amp;lt;!--T:135--&amp;gt; or&amp;lt;/translate&amp;gt; LiteSpeed)&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Other how-to mini-guides == &amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{note|text=&amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; These guides are old and are almost entirely bad advice.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; These will eventually be deleted one by one as our official guides above are created for different webservers.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; Anyone is welcome to create a how-to solution page and list it below.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; Please use a sensible name for the page, one that fits in with the below names.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; When each unique solution has its own page, readers can skip complexity they do not want.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; Keep it simple, readable, short, with a separate page per separate solution.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;To help others find out which Short URL methods really work, after trying each method please edit the page and increase the &amp;quot;worked&amp;quot; or &amp;quot;didn&amp;#039;t_work&amp;quot; numbers for that guide and make a brief (or long, your choice) description on what went wrong by clicking the link on your number.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== URL like - example.com/wiki/Page_title === &amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tvar&amp;gt; are defined.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==== Root access ==== &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; These methods require that you have access to the server configuration.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; If you are on a shared host, you most likely don&amp;#039;t.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; In this case you will be required to use a method that requires &amp;quot;no root access&amp;quot;.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; You can jump directly to the [&amp;lt;tvar name=url&amp;gt;https://shorturls.redwerks.org/&amp;lt;/tvar&amp;gt; MediaWiki ShortURL Builder tool] and follow the on-screen instructions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:131--&amp;gt; Select &amp;quot;I don&amp;#039;t have root access&amp;quot; after entering your wiki&amp;#039;s URL.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
(for Apache guidance, see the link in the [[&amp;lt;tvar name=guides&amp;gt;#Guides&amp;lt;/tvar&amp;gt;|Guides]] section).&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== URL like - example.com/Page_title === &amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
How to create &amp;lt;code&amp;gt;example.com/Page_title&amp;lt;/code&amp;gt; URLs:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{guide |name=Page title - nginx, Root Access, PHP as a CGI module        |show=&amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:59--&amp;gt; Page title - nginx, Root Access, PHP as a CGI module&amp;lt;/translate&amp;gt;        |worked=6 |didn&amp;#039;t_work=}}&lt;br /&gt;
{{guide |name=Page title -- Windows &amp;amp; Apache without 403 on Special Pages |show=&amp;lt;translate nowrap&amp;gt;&amp;lt;!--T:61--&amp;gt; Page title -- Windows &amp;amp; Apache without 403 on Special Pages&amp;lt;/translate&amp;gt; |worked=3 |didn&amp;#039;t_work=}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== URL like - wiki.example.com/Page_title === &amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
How to create &amp;lt;code&amp;gt;wiki.example.com/Page_title&amp;lt;/code&amp;gt; URLs:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Troubleshooting == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ampersand (&amp;lt;tvar name=1&amp;gt;&amp;amp;&amp;lt;/tvar&amp;gt;) problem === &amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:70--&amp;gt; The ampersand problem shows up when you have page titles with symbols in them (such as &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;) which, despite being correctly encoded in the link, are not being passed correctly from &amp;lt;tvar name=2&amp;gt;mod_rewrite&amp;lt;/tvar&amp;gt; to the script.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:71--&amp;gt; This manifests in 404 page-not-found errors, because the title gets cut off at the special character.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; For example, clicking on a link to &amp;quot;John &amp;amp; Maria&amp;#039;s page&amp;quot; gets a 404, because MediaWiki is looking for a page named &amp;quot;John &amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt; This is because ampersands in long-form names are treated as [[w:Query string|query string]] separators, and would never reach the PHP [[w:Run time (program lifecycle phase)|runtime environment]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:74--&amp;gt; This is caused by an old and problematic &amp;lt;tvar name=1&amp;gt;mod_rewrite&amp;lt;/tvar&amp;gt; bug.&amp;lt;/translate&amp;gt;&amp;lt;ref&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:138--&amp;gt; [&amp;lt;tvar name=url&amp;gt;https://bz.apache.org/bugzilla/show_bug.cgi?id=34602&amp;lt;/tvar&amp;gt; Bugzilla &amp;lt;tvar name=1&amp;gt;mod_rewrite&amp;lt;/tvar&amp;gt; for ampersand bug], partially resolved for some users, but only after 13 years&amp;lt;/translate&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Solution:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:76--&amp;gt; This issue is caused by the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;?title=$1&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; portion of rewrite rules like &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;/index.php?title=$1&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; which is completely unnecessary and harmful.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt; MediaWiki parses paths directly from the &amp;lt;tvar name=1&amp;gt;REQUEST_URI&amp;lt;/tvar&amp;gt;, so rewrite everything to &amp;lt;tvar name=2&amp;gt;/index.php&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Purging cache === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
If you notice that your changes to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; are not being reflected in &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;example.com/wiki/Main_Page&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, it may be due to MediaWiki&amp;#039;s caching of the links according to previous settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
Go to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;example.com/wiki/Main_Page?action=purge&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to force MediaWiki to regenerate the cached links.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
Also you can:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:88--&amp;gt; execute the MySQL query &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;TRUNCATE objectcache;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, or&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:89--&amp;gt; Ensure &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; is updated (if &amp;lt;tvar name=3&amp;gt;&amp;lt;/tvar&amp;gt; is enabled, all you have to do is edit &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; to purge it)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Redirect visitor of your domain to your wiki == &amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
Our official guides for short url configuration include recommendations on how to point the root of your site to your wiki using your short url config.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
For example our [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Manual:Short URL/Apache&amp;lt;/tvar&amp;gt;|Apache guide]] recommends using this to point your site root to your wiki:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:93--&amp;gt; Note that we do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; recommend doing a HTTP redirect to your wiki path or main page directly.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:94--&amp;gt; As redirecting to the main page directly will hard-code variable parts of your wiki&amp;#039;s page setup into your server config.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:95--&amp;gt; And redirecting to the wiki path will result in two redirects.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:96--&amp;gt; Simply rewrite the root path to MediaWiki and it will take care of the 301 redirect to the main page itself.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:97--&amp;gt;&lt;br /&gt;
If using VirtualHosts, place the rewrite rules into the virtual host declaration!&lt;br /&gt;
&lt;br /&gt;
== Moving a wiki from &amp;lt;tvar name=1&amp;gt;/wiki&amp;lt;/tvar&amp;gt; to &amp;lt;tvar name=2&amp;gt;/w&amp;lt;/tvar&amp;gt; == &amp;lt;!--T:98--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:99--&amp;gt; A common beginner&amp;#039;s mistake is to install MediaWiki itself (the source code, not the short URL) in &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;/wiki&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; instead of &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;/w&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:100--&amp;gt; Once installed they would realize the mistake when trying to configure Short URLs (which would become difficult as the virtual path then conflicts with the real path).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:101--&amp;gt;&lt;br /&gt;
There is a manual for [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Manual:Moving a wiki&amp;lt;/tvar&amp;gt;|moving a wiki]] in general, however that is too complicated if all you need is to change the installation directory (and stay on the same server, same database and same hostname).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:102--&amp;gt;&lt;br /&gt;
Here is what you have to do:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:103--&amp;gt;&lt;br /&gt;
* Backup &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and any other config files you may have created (such as your &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;.htaccess&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:104--&amp;gt;&lt;br /&gt;
* Rename the installation directory of MediaWiki on your server from &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;/wiki&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;/w&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:105--&amp;gt;&lt;br /&gt;
* Set &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; to &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;&amp;quot;/w&amp;quot;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and remove (or comment out) any definition of &amp;lt;tvar name=4&amp;gt;&amp;lt;code&amp;gt;$wgArticlePath&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (this variable will be changed again when setting up Short URLs, further on)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:106--&amp;gt;&lt;br /&gt;
* At this point your wiki should be working normally at &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;example.org/w&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:107--&amp;gt;&lt;br /&gt;
* Now go through [[&amp;lt;tvar name=guides&amp;gt;#Guides&amp;lt;/tvar&amp;gt;|the regular guide]] to set up short URLs&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:108--&amp;gt;&lt;br /&gt;
* Perform a few tests on your wiki to make sure nothing is broken.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:109--&amp;gt; Edit a page, visit a few different pages, etc.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:110--&amp;gt; If anything seems abnormal, revert the changes by restoring your backup of &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and other relevant files you might have changed during configuration of short URLs and rename your folder back to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;/wiki&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:111--&amp;gt; &amp;#039;&amp;#039;&amp;#039;Note for shared hosting users:&amp;#039;&amp;#039;&amp;#039; Many shared hosting plans offer an application manager to automatically Install, Update and Backup applications such as MediaWiki.&amp;lt;/translate&amp;gt; &lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:112--&amp;gt; If your plan has this and if you want to keep using these features, you should contact their tech support and let them know you just manually changed your MediaWiki installation directory.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Tricks == &amp;lt;!--T:113--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:117--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:118--&amp;gt;&lt;br /&gt;
*[[w:Common Gateway Interface#Workarounds for scripting languages|Explanation of what CGI modules are]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* - &amp;lt;translate&amp;gt;&amp;lt;!--T:119--&amp;gt; configuration setting that defines whether to use &amp;#039;pretty&amp;#039; URLs or not&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:120--&amp;gt;&lt;br /&gt;
*[[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Manual:Wiki in site root directory&amp;lt;/tvar&amp;gt;|Notes on placing your wiki installation in site root directory]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
* - &amp;lt;translate&amp;gt;&amp;lt;!--T:121--&amp;gt; configuration setting that you can use to define &amp;#039;pretty&amp;#039; URLs for other actions, like edit or history&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:122--&amp;gt;&lt;br /&gt;
* [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Requests for comment/Clean up URLs&amp;lt;/tvar&amp;gt;|Clean up URLs RFC]] - proposes &amp;quot;cleaner URLs for editing, previewing skins, etc.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== External links == &amp;lt;!--T:123--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
*[&amp;lt;tvar name=url&amp;gt;https://httpd.apache.org/docs/current/mod/mod_rewrite.html&amp;lt;/tvar&amp;gt; Apache Module &amp;lt;tvar name=1&amp;gt;mod_rewrite&amp;lt;/tvar&amp;gt;] - rewrite requested URLs on the fly&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:125--&amp;gt;&lt;br /&gt;
*[&amp;lt;tvar name=url&amp;gt;https://shorturls.redwerks.org/&amp;lt;/tvar&amp;gt; MediaWiki Short URL Builder Tool] - &amp;#039;&amp;#039;A tool that can automatically generate a short url configuration more reliably than the configurations in these manual pages.&amp;#039;&amp;#039;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:128--&amp;gt;&lt;br /&gt;
* [&amp;lt;tvar name=url&amp;gt;https://www.nngroup.com/articles/url-as-ui/&amp;lt;/tvar&amp;gt; URL as UI] by [[w:Jakob Nielsen (usability consultant)|Jakob Nielsen]] on the importance of persistent, usable URLs.&lt;br /&gt;
&lt;br /&gt;
== References == &amp;lt;!--T:126--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&amp;lt;!--these notes are of a technical nature that the average user does not need--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Configure|Configure]]&lt;br /&gt;
[[Category:Wiki page URLs|Wiki page URLs]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Short_URL]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:10 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Short_URL</comments>
		</item>
		<item>
			<title>Manual/Installation guide</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Installation_guide&amp;diff=12&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Installation_guide&amp;diff=12&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;#REDIRECT [[Manual:Installing MediaWiki]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Installation_guide]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:09 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Installation_guide</comments>
		</item>
		<item>
			<title>Manual/Config script</title>
			<link>https://mediawiki.numinix.com/index.php?title=Manual/Config_script&amp;diff=13&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Manual/Config_script&amp;diff=13&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; After downloading and extracting MediaWiki on your web server, complete the basic setup by running the configuration script. This script allows you to tell MediaWiki the information it needs in order to get the wiki up and running.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:123--&amp;gt; The following steps describe how to complete basic setup:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Running the MediaWiki configuration script in the web browser == &amp;lt;!--T:124--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[File:MediaWiki_1.38.2_Config_script_2.png|thumb||left|right}}|250px|&amp;lt;translate&amp;gt;&amp;lt;!--T:133--&amp;gt; MediaWiki 1.38 web installer&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; In the following examples, it is assumed that your website is located at &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:125--&amp;gt; The physical location on your server depends on your web server software configuration.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:126--&amp;gt; Adjust the examples as needed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:118--&amp;gt; Open a web browser and browse to the website address or path that you configured for MediaWiki in the web server software.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:91--&amp;gt; You will see the version of MediaWiki which you extracted and a link to &amp;quot;Please set up the wiki first.&amp;quot;&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:111--&amp;gt; Click on the link to begin the configuration script.&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:112--&amp;gt; For reference (in case you want to go there directly), this is located in MediaWiki&amp;#039;s &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;mw-config&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; directory (so using the example above you would go to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://www.example.com/mw-config/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, or on a local machine &amp;lt;tvar name=localhost&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/mw-config/&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:119--&amp;gt; After selecting the language, the configuration script performs some environmental checks.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:122--&amp;gt; Follow the instructions on the pages to connect to the database, create the MediaWiki administrator account, and to set further settings such as the logo or skin.&amp;lt;/translate&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; stores the database user&amp;#039;s &amp;#039;&amp;#039;password in plain text&amp;#039;&amp;#039;, it is strongly suggested that you create a wiki specific database account (i.e. not root).&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; The script will populate the database and write a configuration file.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; After the configuration script has finished, download the generated configuration file &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and place the file in the base directory of your MediaWiki installation.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; contains all the information needed by MediaWiki to run.&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Note|type=warning|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:95--&amp;gt; Set stringent file permissions which system users can read and write the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; file.&amp;lt;/translate&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;translate&amp;gt;&amp;lt;!--T:96--&amp;gt; For example, set &amp;lt;code&amp;gt;[[w:chmod|chmod 600]]&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;[[w:chown|chown]] &amp;amp;lt;webserver owner&amp;gt;&amp;lt;/code&amp;gt; (Owner read and write, no other permissions).&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
Your wiki should now be ready to use. Browse to the address that you installed MediaWiki to.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:127--&amp;gt;&lt;br /&gt;
Continue with more advanced configuration on &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Command-line alternative == &amp;lt;!--T:131--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:132--&amp;gt;&lt;br /&gt;
Alternatively, you can run a command-line installer instead of the configuration script in the web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:134--&amp;gt;&lt;br /&gt;
There are several installers available which you can use based on your needs:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;php ./maintenance/run.php &amp;lt;/code&amp;gt; – &amp;lt;translate&amp;gt;&amp;lt;!--T:135--&amp;gt; Creates a new &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; using CLI parameters.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;php ./maintenance/run.php &amp;lt;/code&amp;gt; – &amp;lt;translate&amp;gt;&amp;lt;!--T:136--&amp;gt; Uses an existing &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; file to retrieve configuration.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:137--&amp;gt; Useful for wiki farms and docker setups.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Installation|Installation]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Manual:Config_script]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:09 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Manual/Config_script</comments>
		</item>
		<item>
			<title>Help/Watchlist</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Watchlist&amp;diff=10&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Watchlist&amp;diff=10&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:1--&amp;gt; Your &amp;#039;&amp;#039;&amp;#039;watchlist&amp;#039;&amp;#039;&amp;#039; is a display for [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Tracking changes&amp;lt;/tvar&amp;gt;|tracking changes]], similar to the &amp;lt;tvar name=rc&amp;gt;}}&amp;lt;/tvar&amp;gt; display, but limited to showing changes only across your set of &amp;quot;watched&amp;quot; pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; You can see your watchlist by following the &amp;quot;&amp;lt;tvar name=watchlist&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tvar&amp;gt;&amp;quot; link in your account menu (on the top right).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; This feature is only available to users who have registered and logged in.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Add pages to watchlist == &amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; Before you see anything interesting here, you have to actually add some pages to your watchlist.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; Do so by navigating to a page that interests you, and click the star icon &amp;lt;tvar name=star&amp;gt;[[File:OOjs_UI_icon_star.svg|16px|link=|class=skin-invert|]]&amp;lt;/tvar&amp;gt; (or the &amp;lt;tvar name=watch&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; tab).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
A page already in your watchlist will be marked with a star &amp;lt;tvar name=star&amp;gt;[[File:OOjs_UI_icon_unStar.svg|16px|link=|class=skin-invert|]]&amp;lt;/tvar&amp;gt; (or an &amp;lt;tvar name=watch&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; tab).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
If you want to remove pages from your watchlist, click on the star icon &amp;lt;tvar name=star&amp;gt;[[File:OOjs_UI_icon_unStar.svg|16px|link=|class=skin-invert|]]&amp;lt;/tvar&amp;gt; (or the &amp;lt;tvar name=watch&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; tab).&lt;br /&gt;
&lt;br /&gt;
=== Watchlist expiry === &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; You can optionally select to watch a page for a temporary period of time.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; Once the watch period has expired, the page will be automatically removed from your watchlist.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; You can update the watch period at any time, including switching from temporary to permanent status.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; Temporarily watched pages are usually represented by a half star (as opposed to a full star, which represents permanently watched pages).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; For documentation on how to use the feature, please visit &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Why a watchlist == &amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; The watchlist feature is mainly useful on a very busy wiki where the &amp;lt;tvar name=rc&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; display becomes too overwhelming with many changes you don&amp;#039;t want to follow.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; On a typical low traffic wiki, you can normally see all of the editing activity across the whole wiki without feeling overwhelmed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; On a more busy wiki you will find that many edits are taking place on pages which you personally find less interesting.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; To help track changes which are more interesting, start !&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Typically you would watch pages related to your interest areas, and also pages where you care most about the content.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; If you make a significant edit to a page, you might want to watch the page (so you know when there are any follow-up edits).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; Note that there is a also a checkbox on the edit screen (&amp;quot;&amp;lt;tvar name=watch&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;/tvar&amp;gt;&amp;quot;) for this purpose.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; Your watchlist is personal.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; You can watch any page you want.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; That choice will remain private.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Use your watchlist == &amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; On the watchlist page, some page names appear in bold.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; This indicates whether or not you have visited the page to see the change.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; It&amp;#039;s a bit like read/unread emails in an email inbox.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; The &amp;lt;tvar name=rc&amp;gt;&amp;lt;/tvar&amp;gt; page will also have some new bold highlighting, but for a different reason.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; Here bold is indicating edits to pages on your watchlist.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
[[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:New_filters_for_edit_review&amp;lt;/tvar&amp;gt;|You can combine different kinds of filters]] to display the results you want.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; To improve the filtering, you can also add private labels to your watchlist pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for more information about this feature.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Email notifications == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; According to the relevant &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, changes to pages you watch may also be notified to you by email.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; The main preference for this is &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
After receiving an email notification for a page, you have to visit the page while logged in if you want to be notified of further changes to the same page.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- copied from https://en.wikipedia.org/wiki/Wikipedia:Syndication, 7 Nov 2018 --&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Watchlist feed with token== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
You can set up an RSS or Atom feed of your watchlist that is accessible even when logged out:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
* Get your watchlist token from &amp;lt;tvar name=2&amp;gt;[[Special:Preferences#mw-prefsection-watchlist-tokenwatchlist]]&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
* Your watchlist RSS feed can be found at &amp;lt;tvar name=url&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;https:/api.php?action=feedwatchlist&amp;amp;wlowner=USERNAME&amp;amp;wltoken=TOKEN&amp;lt;/span&amp;gt;&amp;lt;/tvar&amp;gt;, where USERNAME is your username without the &amp;#039;&amp;#039;User:&amp;#039;&amp;#039; prefix and TOKEN is the watchlist token.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
* If you would prefer an Atom feed rather than an RSS one, add &amp;quot;&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;amp;feedformat=atom&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; to the URL of your feed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* To further customise your watchlist feed add different parameters to the URL, see &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; [[w:Wikipedia:Syndication|Wikipedia:Syndication]] - about RSS and Atom feeds&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Watchlist]]&lt;br /&gt;
[[Category:Watchlist]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Watchlist]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:08 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Watchlist</comments>
		</item>
		<item>
			<title>Help/Searching</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Searching&amp;diff=11&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Searching&amp;diff=11&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
The quickest way to find information in &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; is to look it up directly. On every page there is a &amp;#039;&amp;#039;&amp;#039;&amp;lt;tvar name=search&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;#039;&amp;#039;&amp;#039; box.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Enter keywords and phrases and press &amp;#039;&amp;#039;Enter&amp;#039;&amp;#039; or &amp;#039;&amp;#039;Return&amp;#039;&amp;#039; or click the magnifying glass icon (or Search or Go button when using other skins).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; If a page has the same title as what you entered, you jump straight to that page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Otherwise, it searches all pages on the wiki (with some restrictions, see below), and presents a list of articles that matched your search terms, or a message informing you that no page has all the key words and phrases.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== How it works == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
* It searches all pages on the wiki with some restrictions.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
* The article content is searched in its raw (wikitext) form - i.e., it searches the text that appears in the edit box when you click &amp;quot;&amp;lt;tvar name=edit&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot;, not the rendered page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; This means that content coming from an included template will not be picked up, but the target of piped links will be.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
* The search functionality can be considered to operate on &amp;#039;&amp;#039;&amp;#039;whole words&amp;#039;&amp;#039;&amp;#039;, separated by spaces or other punctuation marks.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; So if your search term includes the word &amp;#039;book&amp;#039;, the results will not include pages that only have the word &amp;#039;books&amp;#039; or &amp;#039;booklet&amp;#039;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; And if your search term includes the term &amp;#039;inter&amp;#039;, the results will not include pages that only have the word &amp;#039;international&amp;#039;, but they may include pages that have the term &amp;#039;inter-national&amp;#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
* The results will only include pages that contain &amp;#039;&amp;#039;&amp;#039;all&amp;#039;&amp;#039;&amp;#039; the words in your search.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; You can search for all words that begin with a prefix by adding &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; at the end of a word in your query.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; For example, &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;book*&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; will return results for &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;book&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;book&amp;#039;&amp;#039;&amp;#039;s&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
* You can search for a phrase using double quotes.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; A phrase can be considered to consist of &amp;#039;&amp;#039;&amp;#039;whole words&amp;#039;&amp;#039;&amp;#039;, so the phrase &amp;#039;Prime Minister&amp;#039; will &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; be found by a search for &amp;quot;ime Min&amp;quot;, but it &amp;#039;&amp;#039;&amp;#039;will&amp;#039;&amp;#039;&amp;#039; be found by a search for &amp;quot;Prime Minister&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Restricting the search == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
If you click the &amp;lt;tvar name=search&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; button without filling in anything, you will be taken to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Special:Search&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; which gives you extra searching options (also available from any search results list).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
You may find it useful to restrict a search to pages within a particular [[&amp;lt;tvar name=help-ns&amp;gt;Special:MyLanguage/Help:Namespaces&amp;lt;/tvar&amp;gt;|namespace]] e.g., only search within the &amp;lt;tvar name=ns2&amp;gt;&amp;lt;/tvar&amp;gt; pages. Check the namespaces you require for this search.&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; Alternative backends:&amp;lt;/translate&amp;gt;&lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Searching]]&lt;br /&gt;
[[Category:Search|Searching]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Searching]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:08 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Searching</comments>
		</item>
		<item>
			<title>Help/Tables</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Tables&amp;diff=9&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Tables&amp;diff=9&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Help/Tables&amp;amp;diff=9&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:07 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Tables</comments>
		</item>
		<item>
			<title>Help/Images</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Images&amp;diff=8&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Images&amp;diff=8&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Help/Images&amp;amp;diff=8&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:06 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Images</comments>
		</item>
		<item>
			<title>Help/Categories</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Categories&amp;diff=6&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Categories&amp;diff=6&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
Categories, a software feature of MediaWiki, provide automatic indexes that are useful as tables of contents.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
You can categorise pages and files by adding one or more &amp;#039;&amp;#039;&amp;#039;Category&amp;#039;&amp;#039;&amp;#039; tags to the content text. These tags create links at the bottom of the page that take you to the list of all pages in that category, which makes it easy to browse related articles.&lt;br /&gt;
&lt;br /&gt;
== Summary == &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
Each of the pages in the &amp;#039;&amp;#039;&amp;#039;Category&amp;#039;&amp;#039;&amp;#039; [[&amp;lt;tvar name=ns&amp;gt;Special:MyLanguage/Help:Namespaces&amp;lt;/tvar&amp;gt;|namespace]] represents a so-called &amp;#039;&amp;#039;&amp;#039;category&amp;#039;&amp;#039;&amp;#039;, a grouping of related pages, and contains an index for the pages of its category. For example, this page belongs to &amp;quot;&amp;lt;tvar name=cat&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot;. If you open the category page, you will see a link to this page there.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
When a page belongs to one or more categories, these categories appear at the bottom of the page (or in the upper-right corner, depending on the [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Preferences&amp;lt;/tvar&amp;gt;|skin]] being used).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
The category pages themselves contain 2 parts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
* at their beginning, an optional part may contain text that can be edited, like any other page,&lt;br /&gt;
* at their end, an ever present, automatically generated, alphabetical list of all pages in that category, in the form of links. In fact, in the Unicode sort order.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
To assign a category to a page, simply add the link &amp;quot;&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;Category:&amp;#039;&amp;#039;Category name&amp;#039;&amp;#039;]]&amp;quot; to the page&amp;#039;s wikitext. The usual place to add it is at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
To link a category page within a page as a normal wiki link (without adding the page to the category), prefix the link name with a colon.  For example: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
A new category can be [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Starting a new page&amp;lt;/tvar&amp;gt;|created]] before assigning any page to it, in the same way as any other regular page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
Individual wikis may have their own top-level categories, such as [[w:Category:Contents|Category:Contents]] on Wikipedia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
For a complete list of all categories which have at least one page, see &amp;lt;tvar name=1&amp;gt;[[Special:Categories]]&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
For a complete list of all created/edited categories, including the ones that don&amp;#039;t have any pages, see &amp;lt;tvar name=1&amp;gt;[[Special:Allpages/Category:]]&amp;lt;/tvar&amp;gt; (note the colon at the end).&lt;br /&gt;
&lt;br /&gt;
==Adding a page to a category== &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
To add a page or uploaded file to a category, simply edit the page and add the following text (where &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; is the name of the category you want to add it to).&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; Name&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; Any number of &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; tags may be added to the page and the page will be listed in all of them.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:100--&amp;gt; &amp;lt;tvar name=2&amp;gt;&amp;lt;/tvar&amp;gt; tags, along with  placed in the sidebar, are usually added at the very bottom of the page for the convenience of other editors.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
On a categorised page, categories are displayed in the &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; box strictly in the order they appear in the wikitext. &lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; (At least in MediaWiki 1.18.2) if a category is a subcategory of more than one parent, both hierarchies will be listed, but the tagged category will be stripped off all but one of these.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; This creates the potential for what appear to be duplicate entries if a category with multiple parents &amp;#039;&amp;#039;and&amp;#039;&amp;#039; one of its parents are both tagged on a page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:61--&amp;gt; For example suppose Maryanne is a subcategory of both Mary and Anne.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; If a page tags categories Maryanne and Anne then the Category breadcrumbs will show&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Anne &lt;br /&gt;
 Anne&lt;br /&gt;
 Mary -&amp;gt; Maryanne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;quot;Anne&amp;quot; appears to be duplicated, but what is meant is&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Anne &lt;br /&gt;
 Anne -&amp;gt; Maryanne&lt;br /&gt;
 Mary -&amp;gt; Maryanne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
This is a bug, and has been reported in &amp;lt;tvar name=1&amp;gt;[[phab:T35614]]&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Sort key=== &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; By default, a page is sorted within a category under the first letter of its name — &amp;#039;&amp;#039;without the namespace&amp;#039;&amp;#039;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; Also, MediaWiki groups accented characters separately from their unaccented version, so pages starting by À, Á, Ä, will be listed under separate headings, instead of under heading A.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; (If you have shell access, these defaults can be changed using &amp;lt;tvar name=CategoryCollation&amp;gt;&amp;lt;/tvar&amp;gt;.)&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
A &amp;#039;&amp;#039;sort key&amp;#039;&amp;#039; specifies under which letter heading, and where in the category list, the page will appear.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
There are two ways in which you can customise the category sortkey:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:78--&amp;gt; Generically, for all categories, by adding the &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;  magic word on the page.&amp;lt;/translate&amp;gt; &lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:79--&amp;gt; On an individual &amp;#039;per category&amp;#039; basis, by placing the value inside the tag after a pipe character.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:80--&amp;gt; For example, the tag below will add the page under heading &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;S&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:25--&amp;gt; Name&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Sort&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; Whether or not sort keys are case-sensitive depends on your configuration settings.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; The order of the sections within a category follows the Unicode sort order. The sort key does not change the page title displayed in the category.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
Spaces and other characters are perfectly valid.&lt;br /&gt;
&lt;br /&gt;
==Creating a category page== &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
Categories exist even if their page has not been created, but these categories are isolated from others and serve little purpose for organisation or navigation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
A category is created by creating a page in the &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Category:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; namespace. A category page can be created the same way as other wiki pages (see &amp;lt;tvar name=help&amp;gt;&amp;lt;/tvar&amp;gt;); just add &amp;quot;&amp;lt;tvar name=code&amp;gt;&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; before the page title.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
To avoid extra work, try searching within your wiki before creating a new category. The list of all categories can be found in &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in the &amp;quot;&amp;lt;tvar name=2&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; box of the [[&amp;lt;tvar name=3&amp;gt;Special:MyLanguage/Help:Navigation#Sidebar&amp;lt;/tvar&amp;gt;|sidebar]].&lt;br /&gt;
&lt;br /&gt;
==Managing the category hierarchy== &amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
Categories may belong to other categories in a hierarchy. Since category pages are much like any other page, a &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; tag may be added to the bottom of a category page. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
It is a good idea to organise all categories into a hierarchy with a single top level category. The category structure can take the form of a tree with separate branches, but more often will have a graph structure. Generally, there should be a contiguous chain of parent-child links between each category and the top level category.&lt;br /&gt;
&lt;br /&gt;
=== Category tree === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
Since MediaWiki 1.31, &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; extension is packaged by default, allowing &amp;lt;tvar name=2&amp;gt;[[Special:CategoryTree]]&amp;lt;/tvar&amp;gt; and &amp;lt;tvar name=3&amp;gt;&amp;lt;/tvar&amp;gt; to provide a tree-like structure display for the categories.&lt;br /&gt;
&lt;br /&gt;
==Hidden categories== &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
The categories that a page is in are normally listed at the bottom of the page. In MediaWiki 1.13+, a category can be hidden from this list by adding the [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Magic words&amp;lt;/tvar&amp;gt;|magic word]] &amp;quot;&amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;__HIDDENCAT__&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; to the category page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
Users can choose to see hidden categories in a separate &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; list, by checking &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; in the &amp;lt;tvar name=3&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; section of &amp;lt;tvar name=4&amp;gt;[[Special:Preferences]]&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; Hidden categories are automatically added to &amp;lt;tvar name=1&amp;gt;[[:Category:]]&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; This category is specified in the system message &amp;lt;tvar name=1&amp;gt;[[MediaWiki:Hidden-category-category]]&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Linking to a category== &amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
To create a link to a category, use a leading colon before the category name (without this colon, the current page would be added to the category):&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;::Help]]&amp;lt;/code&amp;gt; &amp;amp;rarr; &amp;#039;&amp;#039;&amp;#039;[[::Help]]&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
To change the link text, write the text inside the link tag after a pipe:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[&amp;lt;/nowiki&amp;gt;::Help|&amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; Help category&amp;lt;/translate&amp;gt;]]&amp;lt;/code&amp;gt; &amp;amp;rarr; &amp;#039;&amp;#039;&amp;#039;[[::Help|&amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; Help category&amp;lt;/translate&amp;gt;]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
[[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Redirects&amp;lt;/tvar&amp;gt;|Redirect pages]] that redirect to categories must also use the colon, otherwise they will be added to the category instead of redirecting.&lt;br /&gt;
&lt;br /&gt;
== Categories and templates (transcluded pages) == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
If you add &amp;lt;tvar name=1&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; inline&amp;gt;[[Category:Cats]]&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/tvar&amp;gt; inside a template (a transcluded page), &amp;#039;&amp;#039;both&amp;#039;&amp;#039; the template and pages which transclude this template will be categorised in &amp;lt;tvar name=2&amp;gt;Cats&amp;lt;/tvar&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
If you want &amp;#039;&amp;#039;only the template&amp;#039;&amp;#039; to be categorised, you should ensure to write category marker inside &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
If you want &amp;#039;&amp;#039;only the pages which use the template&amp;#039;&amp;#039; to be categorised, but not the template itself, you should ensure to write category marker inside &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; tags.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:72--&amp;gt; Due to caching issues, editing categories applied through templates may take a while to be visible everywhere.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:73--&amp;gt; You can perform a [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Manual:Null edit&amp;lt;/tvar&amp;gt;|null edit]] on a page to update immediately its categories.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==Redirecting a category== &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; Like any other pages (templates, files, etc), category pages can be redirected to other normal or category pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:81--&amp;gt; However, &amp;#039;&amp;#039;&amp;#039;unlike&amp;#039;&amp;#039;&amp;#039; templates, files, and regular content pages, when you &amp;#039;&amp;#039;use&amp;#039;&amp;#039; a category, redirects will &amp;#039;&amp;#039;not&amp;#039;&amp;#039; apply (&amp;lt;tvar name=1&amp;gt;[[phab:T5311]]&amp;lt;/tvar&amp;gt;).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:83--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:84--&amp;gt; Premise&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:85--&amp;gt; What you write&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:86--&amp;gt; Result (categorization)&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:87--&amp;gt; Result (link behavior)&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:88--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; redirects to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:A]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:89--&amp;gt; The page is added to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:90--&amp;gt; Visitors cannot access the category page (it immediately redirects to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;)&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:91--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; redirects to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[Category:B]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:92--&amp;gt; The page is added to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:93--&amp;gt; Visitors can access it via &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; (normal redirect behavior)&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:94--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; redirects to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Category:A]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:95--&amp;gt; The page is not categorized&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:96--&amp;gt; A direct link to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is created; normal redirect behavior applies on click&amp;lt;/translate&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:97--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:A&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; redirects to &amp;lt;tvar name=2&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;[[:Category:B]]&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:98--&amp;gt; The page is not categorized&amp;lt;/translate&amp;gt;&lt;br /&gt;
| &amp;lt;translate&amp;gt;&amp;lt;!--T:99--&amp;gt; A direct link to &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Category:B&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; is created; it behaves as expected&amp;lt;/translate&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
Because this behavior may be confusing, some Wikimedia sites use a &amp;quot;category redirect&amp;quot; template to mark redirected categories, allowing manual or automated cleanup of pages categorised there.&lt;br /&gt;
&lt;br /&gt;
==Tracking categories== &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; Certain syntax issues, such as a broken image link, or too many expensive parser functions, can cause a page to be added to a tracking category.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:77--&amp;gt; Also, extensions may add pages to tracking categories, for example &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt; for details.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Renaming a category == &amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
If you move a category, since [[&amp;lt;tvar name=1&amp;gt;#Redirecting a category&amp;lt;/tvar&amp;gt;|redirect will not work for categorising]], all category tags will be wrong, so you have to fix them.&lt;br /&gt;
&lt;br /&gt;
==See also== &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; &amp;lt;tvar name=UseCategoryBrowser&amp;gt;&amp;lt;/tvar&amp;gt; - if this is set to true, under the first list each category is listed again, [[w:breadcrumb (navigation)|breadcrumb]]-style, with all its parent categories, sorted alphabetically.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Categories]]&lt;br /&gt;
[[Category:Category]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Categories]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:05 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Categories</comments>
		</item>
		<item>
			<title>Help/Templates</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Templates&amp;diff=7&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Templates&amp;diff=7&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Help/Templates&amp;amp;diff=7&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:05 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Templates</comments>
		</item>
		<item>
			<title>Help/Links</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Links&amp;diff=5&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Links&amp;diff=5&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;a href=&quot;https://mediawiki.numinix.com/index.php?title=Help/Links&amp;amp;diff=5&quot;&gt;Show changes&lt;/a&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:04 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Links</comments>
		</item>
		<item>
			<title>Help/Navigation</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Navigation&amp;diff=3&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Navigation&amp;diff=3&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:37--&amp;gt; Every page on a MediaWiki site not only has information to show you but also allows you to move to other pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:44--&amp;gt; This is called &amp;quot;navigation&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
To help you navigate, every page on &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;, has three main navigation elements:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; The [[&amp;lt;tvar name=1&amp;gt;#Sidebar&amp;lt;/tvar&amp;gt;|sidebar]] gives you access to important pages in the wiki such as &amp;lt;tvar name=2&amp;gt;[[Special:MyLanguage/Help:Recent changes|}}]]&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=3&amp;gt;[[Special:MyLanguage/Help:Managing files|}}]]&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:45--&amp;gt; MediaWiki requires you to log in before seeing all of the sidebar options.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Links (often called [[&amp;lt;tvar name=tabs&amp;gt;#Page tabs&amp;lt;/tvar&amp;gt;|tabs]]) which relate to the page currently displayed: its associated discussion page, the version history, and – most notably – the edit link.&amp;lt;/translate&amp;gt;&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; [[&amp;lt;tvar name=links&amp;gt;#User Links&amp;lt;/tvar&amp;gt;|User links]]; as an anonymous user, you&amp;#039;ll see a link to create an account or log in.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:46--&amp;gt; As a logged-in user you have a collection of personal links, including ones to your user page and [[&amp;lt;tvar name=preferences&amp;gt;Special:MyLanguage/Help:Preferences&amp;lt;/tvar&amp;gt;|preferences]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:38--&amp;gt; In addition to the standard navigation elements that each page has, a page will have its own unique information which appears in the larger main area of the page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:39--&amp;gt; Generally within this information will be [[&amp;lt;tvar name=help&amp;gt;Special:MyLanguage/Help:Links&amp;lt;/tvar&amp;gt;|links]] to other pages.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:36--&amp;gt; This page mainly documents the MonoBook and Vector [[&amp;lt;tvar name=skins&amp;gt;Special:MyLanguage/Manual:Skins&amp;lt;/tvar&amp;gt;|skins]].&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:47--&amp;gt; Appearances may be different when using other skins.&amp;lt;/translate&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Sidebar == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[Image:Vector Sidebar.png|framed||left|right}}|&amp;lt;translate&amp;gt;&amp;lt;!--T:6--&amp;gt; Example sidebar, shown along the page&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; The sidebar is displayed on the edge of the page below the site logo (if using the MonoBook or Vector skin).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:48--&amp;gt; This sidebar gives you access to important pages in the wiki such as Recent Changes or Upload File.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Navigation === &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; Clicking on the logo brings you back to the main page of the wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:49--&amp;gt; The links in the navigation section just below will take you to important pages of the wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; These links can be configured by site administrators.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Toolbox === &amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
The &amp;lt;tvar name=toolbox&amp;gt;}}&amp;lt;/tvar&amp;gt; contains a selection of links which change depending on what type of page you are viewing.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; On all pages (except special pages)&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; takes you to a special page that lists the pages on that wiki which contain a link to the current page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; This is helpful when you are looking for pages of related information.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; The &amp;quot;&amp;lt;tvar name=1&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; information can also be useful when you are refactoring wiki pages and need to check whether links to this page are still relevant after changes in the current page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; The &amp;quot;&amp;lt;tvar name=rcl&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; tool lists all recent changes in the pages linked to from the current page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:53--&amp;gt; Recent changes to all relevant template pages are included in the resulting page list.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt; The &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt; option that can be set in the user [[&amp;lt;tvar name=preferences&amp;gt;Special:MyLanguage/Help:Preferences&amp;lt;/tvar&amp;gt;|preferences]] applies, among other things, to &amp;quot;&amp;lt;tvar name=rcl&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; On all pages (including special pages)&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; &amp;quot;&amp;lt;tvar name=upload&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; displays a special page that allows logged-in users to upload images and other files to the wiki.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:55--&amp;gt; Uploaded files can be linked from or embedded in wiki pages.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; This link is not displayed if file uploading is not enabled.&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:57--&amp;gt; Uploading files, viewing files on the server, including them in wiki pages and managing the uploaded files is discussed in the [[&amp;lt;tvar name=managing-files&amp;gt;Special:MyLanguage/Help:Managing files&amp;lt;/tvar&amp;gt;|managing files]] section of this manual.&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
:* &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; The &amp;quot;&amp;lt;tvar name=specialpages&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; tool lists the MediaWiki special pages.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; In MediaWiki terminology, a special page is one that presents information about the Wiki and/or allows access to administration activities for the wiki.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:59--&amp;gt; For example, a list of users registered with the wiki, statistics about the wiki such as the number of pages and number of page edits, system logs, a list of orphaned pages, and so on.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:60--&amp;gt; The content of these special pages is generated automatically when the special page is loaded.&amp;lt;/translate&amp;gt;&amp;lt;br /&amp;gt;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:61--&amp;gt; The function and use of the default special pages can be found in the [[&amp;lt;tvar name=h-specialpages&amp;gt;Special:MyLanguage/Help:Special pages&amp;lt;/tvar&amp;gt;|special pages]] section of this manual.&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- please don&amp;#039;t remove this anchor --&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Page tabs == &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[Image:Vector page tabs.png|thumb|500px|&amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; Default page tabs at the top of the page&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; The page tabs are displayed at the top of the page to the right of the site logo (if using the MonoBook or Vector skin).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:40--&amp;gt; These tabs allow you to perform actions or view pages that are related to the current page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:41--&amp;gt; The available default actions include: viewing, editing, and discussing the current page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:42--&amp;gt; The specific tabs displayed on your pages depend on whether or not you are logged into the wiki and whether you have sysop (administrator) privileges on the wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:43--&amp;gt; On special pages, only the namespace tab is displayed.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; Default for all users&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;lt;translate&amp;gt;&amp;lt;!--T:65--&amp;gt; &amp;quot;[[&amp;lt;tvar name=namespace&amp;gt;Special:MyLanguage/Help:Namespaces&amp;lt;/tvar&amp;gt;|namespace]]&amp;quot; (page, help, special page, template, user page etc.)&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
:* &amp;quot;}}&amp;quot; &amp;lt;translate&amp;gt;&amp;lt;!--T:62--&amp;gt; (may read &amp;quot;&amp;lt;tvar name=viewsource&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; if anonymous editing is disabled, the page is in the MediaWiki: namespace, or the page is protected)&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
; &amp;lt;translate&amp;gt;&amp;lt;!--T:22--&amp;gt; Extra tabs for logged-in users&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
; &amp;lt;translate&amp;gt;&amp;lt;!--T:23--&amp;gt; Extra tabs for sysops&amp;lt;/translate&amp;gt;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
:* &amp;quot;}}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Administrators can [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/FAQ#How do I add/remove tabs throughout my wiki?&amp;lt;/tvar&amp;gt;|add or remove tabs]] by using JavaScript or installing extensions, so the tabs you see may be different depending on which wiki you are using.&lt;br /&gt;
&lt;br /&gt;
== User links == &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
[[Image:Vector_user_links.png|thumb|900px|center|&amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; Default user links at the top right of the page&amp;lt;/translate&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; The user links are displayed at the top far right of the page (if using the default Vector skin).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:63--&amp;gt; These tabs allow the logged-in user to view and edit their user page and wiki preferences.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:64--&amp;gt; Additionally, the user links allow the user to quickly access their contributions to the wiki and logout.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
For anonymous users the user links is replaced by a link to the wiki login page or, if enabled by the site administrator, a link to your IP address and your IP address&amp;#039;s talk page.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;quot;Username&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; This links to your user page which is where you can put information about yourself, store bits of information you want to remember or whatever else you fancy.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;quot;Talk&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:31--&amp;gt; This links to your discussion page, where people can leave messages for you.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;quot;Preferences&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:32--&amp;gt; Allows you to change your personal site preferences.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;quot;Watchlist&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:33--&amp;gt; A list of all pages that you are watching. Pages can be added to this list by clicking &amp;quot;&amp;lt;tvar name=watch&amp;gt;}}&amp;lt;/tvar&amp;gt;&amp;quot; at the top of the page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;quot;Contributions&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:34--&amp;gt; A list of all contributions you have made to the wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
; &amp;quot;Log out&amp;quot;&lt;br /&gt;
: &amp;lt;translate&amp;gt;&amp;lt;!--T:35--&amp;gt; Click this link to log out of the wiki.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Help]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Navigation]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:03 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Navigation</comments>
		</item>
		<item>
			<title>Help/Editing</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Editing&amp;diff=4&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Editing&amp;diff=4&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
Editing can be done with the wikitext source editor, or with the visual editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
The main parts of Wikidata have a different system of editing, without there being wikitext source text.&lt;br /&gt;
&lt;br /&gt;
== Editing == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
=== Advanced editing === &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
[[Category:Help|Editing]]&lt;br /&gt;
[[Category:Edit]]&lt;br /&gt;
[[Category:Project help]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Editing]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:03 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Editing</comments>
		</item>
		<item>
			<title>Help/Contents</title>
			<link>https://mediawiki.numinix.com/index.php?title=Help/Contents&amp;diff=2&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Help/Contents&amp;diff=2&amp;oldid=0</guid>
			<description>&lt;p&gt;Seed from mediawiki.org for Seekmodo connector demo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;[[Special:MyLanguage/Communication|&amp;lt;translate&amp;gt;&amp;lt;!--T:54--&amp;gt; Ask a question about the MediaWiki software.&amp;lt;/translate&amp;gt;]]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Welcome to MediaWiki.org help pages == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{ambox&lt;br /&gt;
|type=notice&lt;br /&gt;
|image=[[File:Codex icon help notice-blue.svg|45px|alt=|link=]]&lt;br /&gt;
|text= &amp;#039;&amp;#039;&amp;#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:50--&amp;gt; These help pages are about the MediaWiki software itself.&amp;lt;/translate&amp;gt;&amp;#039;&amp;#039;&amp;#039; &amp;lt;translate&amp;gt;&amp;lt;!--T:52--&amp;gt; Many MediaWiki-powered wikis link here for technical documentation.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:51--&amp;gt; If you came here from another wiki and are looking for help with that wiki&amp;#039;s content or community, this page may not be what you need.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:58--&amp;gt; See &amp;lt;tvar name=1&amp;gt;&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ContentGrid&lt;br /&gt;
|content = &lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
nowiki markers are added so the first bullet in the list are rendered correctly!&lt;br /&gt;
please don&amp;#039;t remove those markers, thank you&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
** &lt;br /&gt;
** &lt;br /&gt;
** &lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 - &amp;lt;translate&amp;gt;&amp;lt;!--T:56--&amp;gt; Provides an overview of many of the below features&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
** &lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
** &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
The following features require extra permissions that are not normally granted to all wiki users.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
* &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Help| ]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Sample content adapted from [[mediawikiwiki:Help:Contents]] on mediawiki.org, licensed under [https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA 4.0].&amp;#039;&amp;#039;&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 17:02:02 GMT</pubDate>
			<dc:creator>Admin</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Help/Contents</comments>
		</item>
		<item>
			<title>Main Page</title>
			<link>https://mediawiki.numinix.com/index.php?title=Main_Page&amp;diff=1&amp;oldid=0</link>
			<guid isPermaLink="false">https://mediawiki.numinix.com/index.php?title=Main_Page&amp;diff=1&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&amp;#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</description>
			<pubDate>Sat, 25 Jul 2026 16:59:54 GMT</pubDate>
			<dc:creator>MediaWiki default</dc:creator>
			<comments>https://mediawiki.numinix.com/index.php?title=Talk:Main_Page</comments>
		</item>
</channel></rss>