Help:MediaWiki help policy

This is the Master Help repository for the MediaWiki Software. This is a help reference, not an encyclopedic article. It can contain help about using features in all ways, even in ways that violate specific site conventions or styleguides. Please do not go into excessive detail about a specific site's policy, although feel free to refer to it. Lastly, this page lists a few templates to aid in organizing this content.

Master page on Meta; duplication requirement
For English the master page of any help page is on Meta. For other languages practices vary. The wikitext is copied without modification (hence very easily, either manually or automatically) into another wiki of the same language. Differences in content are achieved by templates.

While some Meta pages are transferred to, see MetaProject to transfer content to MediaWiki.org, for pages in the Help namespace (largely these are the pages in Help:Contents and Category:English documentation) there are complications: on mediawiki.org the Help namespace is for public domain pages, and the help page system is multilingual. See also Meta talk:MetaProject to transfer content to MediaWiki.org.

Content guidelines
The help namespace is reserved for the MediaWiki software Help. Please avoid writing content that is specific only to Wikimedia in the MediaWiki help. If you have content about Wikimedia, go to the Main Page and find the correct page to build off.

Help pages are not necessarily written by developers. If some behavior of the software, described on the help pages, strikes you as odd and/or inconvenient, do not assume that it is intentional or even that developers are aware of it. Please file a bug report or feature request to bring it to their attention, and link to the bug report from the Help or Help talk page. See also MediaWiki feature request and bug report discussion.

Developers are encouraged to add technical details to help pages, based on their knowledge of the internal workings of the software, and/or to provide links to pages on the subversion server, etc.

Help pages are largely based on observed behavior of MediaWiki, including accidental features and side-effects. These may change with changes of implementation. See also undefined MediaWiki behavior.

Internationalization
There is a separate help namespace for several languages on Meta:

The Bulgarian, Greek, and Slovenian help pages are currently in the main namespace.

Internal links within non-English namespaces
To make the links to other help pages work, preferably the name of the help namespace on all projects in a given language is the same as that of the help namespace for that language on Meta.

For example, the help namespace on German projects is "Hilfe:"; this can be checked with links like w:de:help:a, b:de:help:a, etc.: "help" is automatically converted to the local name.

In e.g. Dutch projects the help namespace is called "Help", but on Meta the name is "NL_Help". In such a case a special provision is necessary to make links from one help page to another one in the same language work in all projects concerned. One method is to use links like Naamruimte.

This can be put in templates, one can use Template:h:l for producing the link:
 * gives.
 * gives.
 * gives.


 * b gives b.
 * b gives b.
 * b gives b.

As demonstrated, existence detection and the self-link feature still work.

See also Portability of help pages to a namespace with a different name.

Templates
For each subject/language combination the wikitext of the help page is the same on all projects. Differences in content are achieved by templates.

Copies of the exact wikitext on other projects have the same tags; removing them from the imported help pages would not be practical, it would make updates cumbersome. However, a non-existing template shows up as an edit link to the non-existing template page. Therefore at least an empty template has to be created on the other projects. Alternatively it may have project-specific content.

A name conflict occurs when a template used on a help page is already in use on another project. Also, mixed use of capital and lower-case first letter gives problems on projects where the first letter, like other letters, is case-sensitive.

Therefore the names used for templates are restricted: the full template names start with "Template:h:" (on Meta and many other, but not all projects, the h is capitalized) and the tags use lower-case h. Each project should reserve these names for this purpose.

In fact, the only tags are, (and the corresponding, deprecated ), ,  , and. The page Help:Template is an exception, it uses many demo templates. It is therefore not very suitable for copying to other projects. Help:Contents is also an exception, it is a composite page.

All projects need to create templates with these four names, even if only to specify (by a blank template) that no content is desired.

Various constructions explained below use the fact that a template name and a parameter value can both depend on a parameter or variable, in particular, in template calls, template names are expressed in terms of the variables and.

Template:h:h
is at the top of every help page and refers to. On Meta it produces a box at the top, which is language dependent, defined by, examples: Other languages:

The parameter taken by Template:H:h is passed to the language specific template where it's typically used to display a sidebar, e.g. parameter reader toc uses as sidebar for the English documentation. This template also adds the help page to Category:Reader handbook.

Depending on the help page and the browser long floating sidebars can overwrite the content, in that case it's better to specify no parameter. H:h then passes an empty string to e.g. H:h Aide, where that could be handled as in. The handbook subcategory has then to be specified explicitly in the help page. If there are such subcategories, this organization is entirely optional.

Template:h:f
is at the bottom of every help page and refers to Template:h:f. On Meta it produces a box at the bottom, which is language dependent, defined by, examples: Other languages:
 * Template:H:f Help
 * Template:H:f Aide
 * Template:H:f Hilfe
 * Template:H:f Hjelp

On Meta interlanguage links are provided in Template:H-langs:.

The above-mentioned template tag is the same for all translations of a help page, and can therefore conveniently be copied.

For further details and lists of translations see Help page footer templates. Here's a [ list] of all existing pages using h:f on Meta.

Template:h:
can be put at arbitrary locations of help pages and refers to Template:h:. It is intended for short Meta-specific content (the parameter value). Other projects can select one of four meaningful definitions of the template with this name:
 * leave it blank
 * put a marker
 * show the text like on Meta
 * show the text like on Meta with a marker

Use of the template tags by other projects

 * If h:l tags are used on a page for internal links within the namespace, then, for the page to work on another project, that project should of course have a copy of Template:h:l.
 * Content that should be the same on all help pages of a project can be put in the local templates h:h and h:f.
 * Additional content in selected pages can be achieved with . Each help page can have its own template with additional content; e.g. on the English Wikipedia they are named Template:ph: , called inside h:f, and placed at the bottom of the page, above the links to the other help pages in the project. See e.g. w:Help:Variable. A disadvantage is that for all help pages without additional content an empty template has to be created. w:en:Template:h:f has no parameter, the two parameters in the call of h:f are ignored (surplus parameters are ignored, see Help:Template).

Categories
Category tags should be written with the English word "Category"; that works on all projects, see Automatic conversions of page names. Note however that there is only one Category namespace on Meta. You may want to avoid putting help pages of two languages together in a category on Meta, just because the word describing the category happens to be the same in the two languages.

Naming
Use short names. Help:Editing is better than Help:How to edit a page Keep in mind that you may want to link to this page many times in the future, and choose a short, descriptive name. As a guideline, try to avoid titles longer than 20 characters, and use "-ing" instead of "How to...".

Most of your links will be piped links, of the form: editing a bug will be opened on the wikimedia bugzilla when a possible solution is found, as piped links are not quick to implement. The feature request will be something like: "hide namespace when in that namespace" then the text will look normal.

Links from the English Help namespace
To ensure that a wiki that has these help pages imported into it does not have broken links, the following templates need to be copied:
 * (replace "w:" with "w:en:" on non-English projects).
 * (replace "w:" with "w:en:" on non-English projects).
 * (replace "w:" with "w:en:" on non-English projects).

Using these we can have the following links:

Link to another help page:
 * Use internal link style, e.g. Help:Section; on another wiki this links to the local copy of that help page.

Link to a section of a help page:
 * Protection gives Protection; on Meta, due to, it produces, e.g. on , a link in internal link style and also a "hidden external link", to allow a backlink , which, unlike Special:Whatlinkshere/Help:Administration, is specific for the target section; on another wiki with a copy of the template, e.g. , the copy of the source page, in this case , has a link to the corresponding section of the corresponding local help page, in this case Protection (on that wiki it is a link in internal link style). The backlinks are produced by.

Link to a page, or section of a page, in another namespace on Meta:
 * gives ; on Meta this is due to, which redirects to ; it produces an internal link and also a "hidden external link", to allow a backlink ; on other wikis a copy of is used, an adapted version of the template; this produces an interwiki link to the same page on Meta, provided that interwiki link m: to Meta has been set up in the wiki.

Link to a page, or section of a page, on the English Wikipedia:
 * Links and anchors gives Links and anchors; on Meta, due to, it produces a link in interwiki link style and also a "hidden external link", to allow a backlink ; on the English Wikipedia the corresponding template, , redirects to Template:H:ml and produces a link in internal link style to the same page with backlink ; on other wikis, with a copy of on Meta, a link in interwiki link style is produced, provided that interwiki link w: has been set to point to the English Wikipedia, as is the case for English-language Wikimedia projects (replace "w:" with "w:en:" on non-English projects).

Alternatively, for links to other help pages a separate version of h:ml could be used, containing the namespace name "Help". The prefix "Help:" would not be needed in the first parameter. Also, this template use would be useful if at some stage the help pages would be moved to MediaWiki.org, into a namespace different from Help (because that is used for public domain pages). For that purpose also ordinary internal links (not to a section) could be created with a call to the template.

Older MediaWiki versions
When updating a help page for major MediaWiki version change, you can create a subpage with the name of the older version, and move the old instructions into that subpage.

"Help talk:" namespace
The "Help talk:" pages are for:
 * discussing the documentation
 * discussing the software features concerned

Discussing improvements in the software
For discussing improvements in the software maybe use Village pump (technical), the page MediaWiki feature request and bug report discussion is apparently a dead end.

For formal requests use.

If the bug / feature request is being fixed or implemented, one can start creating the documentation for the feature in the help namespace, but be sure to specify what version the feature is targeted for,

Moderators frown on discussion in content pages, so use the discussion page for any discussions to avoid problems. One can link to a bug on mediazilla by bugnumber.

Templates
Template:ed is called within another template for easy editing of the other template from a page that calls this other template.
 * gives
 * gives

Where the naive I18N MediaWiki:Edit = isn't good enough Template:edi allows greater flexibility:
 * gives
 * gives

For other templates see Help:Help page footer templates.