From FamilySearch Wiki
Jump to: navigation, search

This is {{pp-meta}}, a meta-template used to create protection message boxes.

This meta-template automat uses the right style for each namespace. It also takes care of the code for the "small" case with just a small padlock icon at the top right corner of the page.


Note that the small padlock in the top right corner of this page also is an example created with this meta-template. This template uses a position that does not collide with icons such as the "Featured Article" star, the "Spoken FamilySeach Wiki" icon, or other top-right-hand-corner icons.

Main space

Any talk space

Other spaces


| type = <any of "full", "semi", "indef", "move", "create" or "office" depending on protection type>
| disallowlevel = <if type is not move or create and the template should only be used on one protection level, then "autoconfirmed" or "sysop">
| small = {{{small|}}} <unless template should always be small, then "yes", or if never small, "no" or omit>
| expiry = {{{expiry|}}} <omit for indef templates>
| reason = &#32;<your reason here>
| xfd = <if type is "create", then "{{{xfd|}}}", else omit>
| demospace = {{{demospace|}}} <unless template should only be used in one mainspace, when it is then
   appropriate to set this to "main", "talk", or "other" where talk includes all odd-numbered namespaces>
| demolevel = {{{demolevel|undefined}}} <unless you want the template to strictly fail on inappropriate protection levels, or want to disable the protection checks>
| image = <your image here without Image: prefix, omit unless nonstandard>
| icon-link = <your link without any [[]] but perhaps with a #section here, applies to icon version>
| icon-text = <your *complete* alternate icon text including full stop if applicable.
   Use only plaintext. Omit unless nonstandard.>
| icon-reason = <your specific reason here without full stop, use only plaintext>
| reason-text = <your complete top line without formatting but including full stop and allowing wikilinks.>
| explanation-text = <Your full explanation here>
| categories = {{{categories|<your categories here, else replace all with "no">}}}


This template is designed to be both defining of the major types of protection notice, but flexible enough to allow exceptions. All parameters have some fallback to allow for graceful failure, but some should almost always be applied.

"Usually" required parameters

The type parameter applies most default settings for the broad classes of protection templates. It can have values equal to any of the following: full, semi, indef, move, create, and office (all case-insensitive). These values apply default boilerplate text, images, and links. This parameter should almost always be used, as the default settings require little other input, making the code of templates such as {{pp-semi-protected}} very clean. Note that not supplying this parameter causes the image to default to Image:Transparent.gif.
The small parameter lets the template decide whether to display a small icon version or a large boilerplate version. It can take any value, but the only one which will be acted on is "yes" (case-insensitive). As instance templates should be able to decide, using their input, whether or not to apply small, this should usually be set to {{{small|}}}, which defaults to non-small but allows small to be specified. Not supplying this parameter will cause the template to always be expanded big.
This expiry parameter allows, when type is defined normally, the expiry date to be automatically displayed properly for both the tooltip of the small version and in text for the large version. It should typically take the input {{{expiry|}}}, which allows instances using this template to be provided input specifying the expiry date. It should be left blank for templates where type is set to indef, as it has no effect because indefinite protection templates clearly do not need expiry dates to be specified.
The dispute parameter adds some boilerplate text disclaiming against endorsement of the protected version or title. It is not dependent on the type parameter, but the explanation-text parameter described below overrides it when applicable.
The reason parameter allows a particular reason to be applied to the template to explain why the page is protected. The code used in this parameter should be prefixed with &#32; so that there are proper spaces between words as {{{reason|}}} in the code is not prefixed with a space, such that the requisite full stop is not prefixed by a space when reason is null. Instances which want to pass through the reason should use code along the general lines of {{{reason|a default reason}}}.
The categories parameter is relatively strict in the input form instances of this template should use: if the template has categories that it should apply to pages upon which it is placed, they should be implemented within the container of {{{categories| and }}}, which will cause categories to be disabled in the instances if they are given |categories=no as an argument. If the template applies no categories, there is no use for this parameter.
Although the demospace parameter is primarily useful for testing purposes, its name betrays its purpose: demonstration. Instances should generally use the code demospace={{{demospace|}}} so as to allow them to be forced to display as though they were in a particular namespace. If a template is to be always used in a particular namespace and never in another, it is also possible to set demospace to any of main, talk, or other (all case-insensitive) to specify the messagebox type typical for that namespace or namespace family such that it will never change from that type.
The demolevel parameter, like the demospace parameter, is useful for demonstration and testing. Instances should generally use the code demospace={{{demolevel|undefined}}} so as to allow them to be forced to display as though they were on a page with a particular level of protection. This must have the default of "undefined" if it is used, as a null value will cause the template to fail. Failing the demolevel test causes the template to disappear and the page to be placed into Category:FamilySeach Wiki pages with incorrect protection templates.

Type-dependent parameters

If the type applied is create, and explanation-text as below does not over-ride it, then the parameter xfd should be applied as equal to {{{xfd|}}} so that this input is passed through and the explanation can be more descriptive.

Optional parameters

The image parameter allows an alternate icon to be chosen if so desired. This image should typically be chosen from Commons:Padlock icons, though any image can be chosen. Only the name of the alternate image should be applied; do not supply the "Image:" prefix.
The icon-link parameter allows one to change the page to which the small version's icon links. This probably shouldn't generally be used if type is in use as type applies proper links to FamilySeach Wiki:Protection policy, but it allows for exceptions and can define the link to sections within that page. Input given to this parameter should not be supplied within [[double brackets]].
The icon-text parameter, like the icon-link parameter, affects only the small version. This one, however, affects the text outputted as the tooltip for the protection icon. It completely replaces, when used, the default text and any specified by type, including the final full stop.
The icon-reason parameter allows text to be added to the default text of the small version's tooltip as supplied by type. It is over-written by icon-text if that parameter is used.
This parameter, reason-text, allows one to over-ride the first, bolded line of the text of the expanded version of any instance. It, when used, over-rides input as initially defined by type, expiry, and reason, including the final full stop.
This code over-rides the explanation text following the bolded reason line; it over-rides text initially provided by the template itself, type, dispute, and, if applicable, xfd.
This code disallows a particular level of protection for templates which do not have the type move or create. It can be set to either autoconfirmed or sysop to disable the template on semi-protected or full-protected pages respectively. If the page is protected at the disallowed level and demolevel is not set to the allowed level, the template will not appear and the page will be placed into Category:FamilySeach Wiki pages with incorrect protection templates.

Full list of parameters in vertical form

| type =
| disallowlevel =
| small =
| expiry =
| reason =
| xfd =
| demospace =
| demolevel =
| image =
| icon-link =
| icon-text =
| icon-reason =
| reason-text =
| explanation-text =
| categories =

See also

Template:Protection templates