Jump to content

Help:MediaWiki help policy

From Meta, a Wikimedia project coordination wiki
Shortcut:
WM:HELP
This page discusses content atomization, internationalization, portability, and style issues pertaining to the MediaWiki software help.

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

[edit]

Help pages on Meta were originally intended to be copied without modification (hence very easily, either manually or automatically) into another wiki of the same language. Diqfferences in content were thus achieved by templates. This system has been defunct for many years.

While some Meta pages are transferred to mw:, see Meta: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

[edit]

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.

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

[edit]

Help pages uses subpages to store translated versions.

For making translations, Translate extension is used.

Templates

[edit]

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

[edit]

{{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:

<small>'''Other languages''': {{H-langs:H:h Help}}</small>

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

[edit]

{{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:

[edit]

{{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

[edit]
  • 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 were 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. w:en:Template:h:f had no parameter, the two parameters in the call of h:f were ignored (surplus parameters are ignored, see Help:Template#Parameters).

Categories

[edit]

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

[edit]

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.

[edit]

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:

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:

Link to a page, or section of a page, in another namespace on Meta:

Link to a page, or section of a page, on the English Wikipedia:

  • {{h:mlw|HTML element|Links and anchors|HTML element "a"}} gives HTML element "a"; on Meta, due to Template:H:mlw [ talk edit history links ], it produces a link in interwiki link style and also a "hidden external link", to allow a backlink [5]; on the English Wikipedia the corresponding template, w:Template:h:mlw [ talk edit history links ], redirected to Template:H:ml and produced a link in internal link style to the same page with backlink [6]; on other wikis, with a copy of Template:H:mlw//meta.wikimedia.org/wiki/Template:H:mlw 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

[edit]

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

[edit]

The "Help talk:" pages are for:

  • discussing the documentation
  • discussing the software features concerned

Discussing improvements in the software

[edit]

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

[edit]

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 Edit this template
{{ed|another template}} gives Edit another template

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

{{edi|template name}} gives +/-
{{edi|template name|link text}} gives link text

For other templates see Help:Help page footer templates.

See also

[edit]

Edit Ph:MediaWiki help policy

This list of templates used on help pages, but not yet covered in the page Help:MediaWiki help policy, is not complete. Please add what you find, or try to remove what's not really needed worldwide:

Help contents
Meta · Wikinews · Wikipedia · Wikiquote · Wiktionary · Commons: · Wikidata · MediaWiki · Wikibooks · Wikisource · MediaWiki: Manual · Google
Versions of this help page (for other languages see further)
What links here on Meta or from Meta · Wikipedia · MediaWiki
Reading
Go · Search · Namespace · Page naming · Section · Backlinks · Redirect · Category · Image page · Special pages · Printing
Tracking changes
Recent changes (enhanced) | Related changes · Watching pages · Diff · Page history · Edit summary · User contributions · Minor edit · Patrolled edit
Logging in and preferences
Logging in · Preferences
Editing
Starting a new page · Advanced editing · Editing FAQ · Export · Import · Shortcuts · Edit conflict · Page size
Referencing
Links · URL ·  · Footnotes
Style and formatting
Wikitext examples · CSS · Reference card · HTML in wikitext · Formula · Lists · Table · Sorting · Colors · Images and file uploads
Fixing mistakes
Show preview · Reverting edits
Advanced functioning
Expansion · Template · Advanced templates · Parser function · Magic words · System message · Substitution · Arrays · Expr parser function syntax · Transclusion
Others
Special characters · Renaming (moving) a page · Preparing a page for translation · Talk pages · Signatures · Sandbox · Legal issues for editors
Other languages: