<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=IC%3AMW_Talk_Namespaces</id>
	<title>IC:MW Talk Namespaces - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=IC%3AMW_Talk_Namespaces"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=IC:MW_Talk_Namespaces&amp;action=history"/>
	<updated>2026-04-17T16:21:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=IC:MW_Talk_Namespaces&amp;diff=1621&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= Custom Talk Namespaces in MediaWiki = This document explains the purpose of Talk namespaces in MediaWiki, how custom Talk namespaces are defined, and why they only appear in the namespace list after specific configuration steps.  == 1. Purpose of Talk Namespaces == MediaWiki separates *content* from *discussion* using paired namespaces:  * Even-numbered namespace → content (e.g. &lt;code&gt;Network&lt;/code&gt;) * Odd-numbered namespace → talk/discussion (e.g. &lt;code&gt;Network_Ta...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=IC:MW_Talk_Namespaces&amp;diff=1621&amp;oldid=prev"/>
		<updated>2026-04-06T11:53:32Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Custom Talk Namespaces in MediaWiki = This document explains the purpose of Talk namespaces in MediaWiki, how custom Talk namespaces are defined, and why they only appear in the namespace list after specific configuration steps.  == 1. Purpose of Talk Namespaces == MediaWiki separates *content* from *discussion* using paired namespaces:  * Even-numbered namespace → content (e.g. &amp;lt;code&amp;gt;Network&amp;lt;/code&amp;gt;) * Odd-numbered namespace → talk/discussion (e.g. &amp;lt;code&amp;gt;Network_Ta...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Custom Talk Namespaces in MediaWiki =&lt;br /&gt;
This document explains the purpose of Talk namespaces in MediaWiki, how custom Talk namespaces are defined, and why they only appear in the namespace list after specific configuration steps.&lt;br /&gt;
&lt;br /&gt;
== 1. Purpose of Talk Namespaces ==&lt;br /&gt;
MediaWiki separates *content* from *discussion* using paired namespaces:&lt;br /&gt;
&lt;br /&gt;
* Even-numbered namespace → content (e.g. &amp;lt;code&amp;gt;Network&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Odd-numbered namespace → talk/discussion (e.g. &amp;lt;code&amp;gt;Network_Talk&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Talk namespaces serve several purposes:&lt;br /&gt;
* Keep content pages clean and factual.&lt;br /&gt;
* Provide a dedicated space for questions, decisions, and editorial notes.&lt;br /&gt;
* Preserve decision history for future maintainers.&lt;br /&gt;
* Support structured workflows (templates, categories, archiving).&lt;br /&gt;
* Allow experimentation and discussion without altering the main content.&lt;br /&gt;
&lt;br /&gt;
Every content namespace should have a corresponding Talk namespace for long-term maintainability.&lt;br /&gt;
&lt;br /&gt;
== 2. Why MediaWiki Does Not Auto‑Create Talk Namespaces ==&lt;br /&gt;
MediaWiki automatically creates Talk namespaces only for its built‑in namespaces (Main, File, Help, etc.).&lt;br /&gt;
&lt;br /&gt;
For custom namespaces, MediaWiki does *not* assume a Talk namespace exists.  &lt;br /&gt;
It will only register a Talk namespace when:&lt;br /&gt;
&lt;br /&gt;
# A numeric ID is defined.&lt;br /&gt;
# A name is assigned in &amp;lt;code&amp;gt;$wgExtraNamespaces&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The ID is an odd number paired with the content namespace.&lt;br /&gt;
&lt;br /&gt;
Until these conditions are met, the Talk namespace will not appear in:&lt;br /&gt;
* Special:SpecialPages → “Namespaces”&lt;br /&gt;
* Special:AllPages namespace dropdown&lt;br /&gt;
* API namespace lists&lt;br /&gt;
&lt;br /&gt;
== 3. Defining a Custom Namespace Pair ==&lt;br /&gt;
A correct custom namespace definition looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# --- Custom namespace: Network ---&lt;br /&gt;
define(&amp;quot;NS_NETWORK&amp;quot;, 3000);&lt;br /&gt;
define(&amp;quot;NS_NETWORK_TALK&amp;quot;, 3001);&lt;br /&gt;
&lt;br /&gt;
$wgExtraNamespaces[NS_NETWORK] = &amp;quot;Network&amp;quot;;&lt;br /&gt;
$wgExtraNamespaces[NS_NETWORK_TALK] = &amp;quot;Network_Talk&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
# Optional: namespace shortcuts&lt;br /&gt;
$wgNamespaceAliases[&amp;#039;N&amp;#039;] = NS_NETWORK;&lt;br /&gt;
$wgNamespaceAliases[&amp;#039;N_Talk&amp;#039;] = NS_NETWORK_TALK;&lt;br /&gt;
&lt;br /&gt;
# Optional: enable subpages&lt;br /&gt;
$wgNamespaceWithSubpage[NS_NETWORK] = true;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Required elements ===&lt;br /&gt;
* &amp;lt;code&amp;gt;define(&amp;quot;NS_NETWORK&amp;quot;, 3000);&amp;lt;/code&amp;gt;  &lt;br /&gt;
* &amp;lt;code&amp;gt;define(&amp;quot;NS_NETWORK_TALK&amp;quot;, 3001);&amp;lt;/code&amp;gt;  &lt;br /&gt;
* &amp;lt;code&amp;gt;$wgExtraNamespaces[...]&amp;lt;/code&amp;gt; entries for both&lt;br /&gt;
&lt;br /&gt;
=== Optional but recommended ===&lt;br /&gt;
* namespace aliases  &lt;br /&gt;
* subpage support  &lt;br /&gt;
&lt;br /&gt;
== 4. Why the Talk Namespace Appears Only After Full Definition ==&lt;br /&gt;
MediaWiki registers namespaces early during startup.  &lt;br /&gt;
A Talk namespace will only appear when:&lt;br /&gt;
&lt;br /&gt;
* Both the content and talk IDs are defined.&lt;br /&gt;
* Both names are assigned in &amp;lt;code&amp;gt;$wgExtraNamespaces&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The definitions are placed early enough in &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If the Talk namespace is defined later in the file, or after extensions that query namespaces, it may not appear until the next reload.&lt;br /&gt;
&lt;br /&gt;
=== Rule of thumb ===&lt;br /&gt;
Place all custom namespace definitions **at the top of LocalSettings.php**, before loading extensions.&lt;br /&gt;
&lt;br /&gt;
== 5. Namespace ID Pairing (Even/Odd Rule) ==&lt;br /&gt;
MediaWiki uses numeric pairing to link content and talk namespaces:&lt;br /&gt;
&lt;br /&gt;
* Even ID → content namespace  &lt;br /&gt;
* Odd ID → talk namespace  &lt;br /&gt;
* The talk namespace must immediately follow the content namespace&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &amp;lt;code&amp;gt;3000 → Network&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;3001 → Network_Talk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the pairing is broken, MediaWiki will not recognize the Talk namespace correctly.&lt;br /&gt;
&lt;br /&gt;
== 6. Summary ==&lt;br /&gt;
* Talk namespaces store discussion, decisions, and editorial notes separate from content.&lt;br /&gt;
* MediaWiki does not auto-create Talk namespaces for custom namespaces.&lt;br /&gt;
* A Talk namespace appears only after proper definition (ID + name + pairing).&lt;br /&gt;
* Namespace definitions must be placed early in &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Even/odd numeric pairing is essential for correct behavior.&lt;br /&gt;
&lt;br /&gt;
This structure ensures clean content pages, clear editorial history, and a successor‑friendly wiki architecture.&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>