Open main menu

lensowiki β

Help:MediaWiki help policy

  This page discusses content atomization, internationalization, portability, and style issues pertaining to the MediaWiki software help.

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 m:Main Page and find the correct page to build off.

The intention is that the master page of any help page in a given language is on Meta. 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.

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.

Template:Shortcut

Internationalization

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

ISO Language ns Help Pages
en English  12 Help Template:PAGESINNS:12 Template:PAGESINNS:13
de German 100 [[Hilfe:Handbuch|]] Template:PAGESINNS:100 Template:PAGESINNS:101
fr French 102 [[Aide:Aide|]] Template:PAGESINNS:102 Template:PAGESINNS:103
da Danish 104 [[Hjælp:Indhold|]] Template:PAGESINNS:104 Template:PAGESINNS:105
eo Esperanto 106 Template:PAGESINNS:106 Template:PAGESINNS:107
sv Swedish 108 Template:PAGESINNS:108 Template:PAGESINNS:109
es Spanish 110 [[Ayuda:Contenido|]] Template:PAGESINNS:110 Template:PAGESINNS:111
it Italian 112 [[Aiuto:Sommario|]] Template:PAGESINNS:112 Template:PAGESINNS:113
ja Japanese 114 Template:PAGESINNS:114 Template:PAGESINNS:115
nl Dutch 116 [[NL_Help:Inhoudsopgave|]] Template:PAGESINNS:116 Template:PAGESINNS:117
pl Polish 118 [[Pomoc:Spis_treści|]] Template:PAGESINNS:118 Template:PAGESINNS:119
pt Portuguese 120 Template:PAGESINNS:120 Template:PAGESINNS:121
ca Catalan 122 [[CA_Ajuda:Contingut|]] Template:PAGESINNS:122 Template:PAGESINNS:123
no Norwegian 124 [[Hjelp:Innhold|]] Template:PAGESINNS:124 Template:PAGESINNS:125
zh Chinese 126 [[帮助:目录|]] Template:PAGESINNS:126 Template:PAGESINNS:127
ru Russian 128 [[Помощь:Содержание|]] Template:PAGESINNS:128 Template:PAGESINNS:129
?? unknown 130 Template:PAGESINNS:130 Template:PAGESINNS:131
?? unknown 132 Template:PAGESINNS:132 Template:PAGESINNS:133
?? unknown 134 Template:PAGESINNS:134 Template:PAGESINNS:135
?? unknown 136 Template:PAGESINNS:136 Template:PAGESINNS:137
?? unknown 138 Template:PAGESINNS:138 Template:PAGESINNS:139

Template:H-langs:Contents

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

Internal links

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 [[{{SUBJECTSPACE}}:Naamruimte]].

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

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

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

Keeping project-specific material separate

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 {{h:h|parameter}}, {{h:f|enname=parameter }} (and the corresponding, deprecated {{h:f|langs=|enname=parameter }}), {{h:|parameter }}, {{h:l}}, and {{h:new|parameter }}. 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 {{SUBJECTSPACE}} and {{PAGENAME}}.

Template:h:h

{{h:h|parameter }} is at the top of every help page and refers to template:h:h ( talk edit history links ). On Meta it produces a box at the top, which is language dependent, defined by {{h:h {{SUBJECTSPACE}}|parameter }}, examples:

Other languages: Template:H-langs:H:h Help

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 template:Reader toc ( talk edit history links ) 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 template:H:h Help ( talk edit history links ). 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

{{h:f|enname=pagename in English }} 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 {{h:f {{SUBJECTSPACE}}|enname=pagename in English }}, examples:

Other languages: Template:H-langs:H:f Help

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

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:

{{h:|parameter }} 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 {{PAGENAME}}. Each help page can have its own template with additional content; e.g. on the English Wikipedia they are named Template:ph:{{PAGENAME}}, 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#Parameters).

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: [[help:editing|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.

Portability

To ensure that a wiki that has these help pages imported into it does not have broken links:

The links from this namespace to other namespaces and other projects use interwiki links or external link style.

Examples:

  • help:template works, provided that that help page has been copied
  • translation would point to that page on the same wiki, hence it would not work if there is no such page
  • m:translation would point to http://meta.wikimedia.org/wiki/translation, provided that interwiki links have been set up in the wiki, including m: to Meta-Wikipedia; it would work without that page being imported into the wiki.
  • w:en:HTML points to http://en.wikipedia.org/wiki/HTML, provided that interwiki link w: has been set to point to a Wikipedia, as is the case for Wikimedia projects (w: points from a non-Wikipedia to the Wikipedia in the same language, and from a Wikipedia to the English Wikipedia); using the prefix w:en ensures that the link also works on non-English projects that use the English help pages.

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 w:Village pump (technical), the page MediaWiki feature request and bug report discussion is apparently a dead end.

For formal requests use mediazilla:.

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 [[mediazilla:bugnumber]].

Templates

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

{{ed|Template|this template}} gives Template:Ed
{{ed|another template}} gives Template:Ed

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

{{edi|template name}} gives Template:Edi
{{edi|template name|link text}} gives Template:Edi

For other templates see Help:Help page footer templates.

See also