Help:TemplateData/sco



Whit is TemplateData?
TemplateData is ae waa o storin information aneat ae template n its parameters, sae that the VeesualEediter can retreeve n displey it in the template eediter, thus makin it easier tae eedit the templates.

TemplateData syntax allows users to write small bits of structured data to a template page, or to be transcluded into that template page (such as on a template documentation page). Once a template has this structured data, it can be displayed properly in the VisualEditor. While this may sound complex, it's actually very easy.



TemplateData editor
There is a built-in tool for editing TemplateData in a simpler way.

To use the TemplateData editor, go to the template's page (or its documentation subpage) and press the "Edit" button. That will give you a button that says "", just above the open editing window: Click this button to enter the GUI tool for editing TemplateData. The editor allows you to add one row per template parameter and to set the most common attributes. If the page you edited already contains a block of TemplateData, then the information already documented will automatically be shown when you open the correct page in the TemplateData editor. In the first box, you can add or update a short description of the template in plain text. After that, you can use the "Import parameters" and "Add parameters" buttons to document the names and attributes of the parameters that the template uses.

You can list the name of the parameter, any aliases for it, the label and the description that will display to users. The only required field is Name (the first field in each row), which is where you record the exact, case-sensitive name of the parameter. In the pop-up menu, you can choose the type of content that the parameter should receive, such as a string (for plain-text answers), page (for links to other pages), or dates. If the template will produce an error if this parameter is left blank, please mark it as "Required". If the parameter is commonly used or recommended, then mark it as "Suggested". The "Remove" button will delete the parameter's entry from TemplateData.

When you are finished documenting each of the parameters, click "Apply" to insert the pre-formatted TemplateData into the open editing box. You must still save the page, using the normal "Save" button underneath the editing window.

Caution: The TemplateData editor will place TemplateData on either the template page or on a documentation subpage. You determine where the TemplateData will be added by opening (editing) the page that you want the TemplateData to be placed on. However, if multiple TemplateData blocks are placed on the same template, then only one of those TemplateData blocks will be used. If there is already TemplateData on a page, then you need to edit the page where the TemplateData was previously placed to avoid accidentally creating multiple blocks of TemplateData.



Structur o TemplateData
The TemplateData's structur is based roond the JSON staundairt, n is fairlie simple. Mynd that aw descreeptions in TemplateData maun be in plain tex (nae wikitex, nae airtins, etc.).

The first thing tae dae is tae type oot ae pair o  tags, oniewhaur oan the template's documentation subpage, like sae:

This tells the saffware that awthing atween the twa tags is TemplateData, n shid be referanced whan the template is uised.



Example
The descreeptions inside the TemplateData follae ae staundairt layoot; lat's say that ye hae ae template cried "Commons" fer airtin til ae Commons categerie aneat ae tapeec. It taks the ae mandatair boondin: the name o the categerie oan Commons. The TemplateData wid luik sommit like this:

This wid displey, in the template, lik sae: {   "description": "Ae template fer airtin til ae commons categerie aneat aen airticle", "params": { "1": {           "label": "Commons categerie", "description": "The commons categerie that ye want tae airt til.", "default": "Category:CommonsRoot", "type": "string", "required": true }   } }



Descreeption n boondins
Yince ye'r dun, clap "hain". Gif ye'v makit mistaks, it'll na lat ye hain (this is disrupteeve, bit means that ye canna break oniething). Shid ye rin intil mistaks, explain oan the feedback page whit ye were ettlin tae dae, n we'll be happie tae heelp.

Mynd that ilka bit o information is enclaised in quotation maurks (except fer  n  ), n separatit fae the nex bit bi ae comma (onless it's the laist yin).



Boondin aliases
Some templates permit ae same boondin tae hae differant names.

Fer example,  coud be wrutten aes   or   aes weel.

Tae eik this information til TemplateData, ye simplie need tae eik the aliases til the boondin's information:



Auto value
You can specify an "autovalue" for a parameter. When users add the template to a page, this value will be added automatically. For example, many clean-up templates need to have the date added; if you specify an autovalue for the template's date parameter, then the date will be filled in automatically.

To add this information to TemplateData, simply add the autovalue to the parameter's information. You will probably want to use  to make the values stick:



Monie boondins
Gf ye hae monie boondins, jist repeat ilka section (stairting fae the "1" tag) n fil it oot aes ye see fit. Mynd that gif ae template haes monie boondins, than ye need tae separate thaim wi ae comma in the templatedata, lik sae:



Siclik boondins
Whan ae template haes monie boondins, sometimes some o thaim can be o the same kynd. In this case, ye yinlie need tae gie ful properties fer the first yin, n the ithers can "inherit" thair properties fae it.



Blank boilerplate
Yae can capie the blank boilerplate ablo tae eik new TemplateData til ae template. Yinlie the maist commyn tags ar incluidit.



Leemitations n speirins

 * Missin featurs — TemplateData is ae guid example o ae tuil that wis makit available wi few featurs, in hope that uisers wid heelp tae guide deveelipmant o featurs that thay desired. Gif ye'd lik tae request new featurs fer TemplateData, please lat us ken.
 * Delays in shawin in templates — Efter eikin the TemplateData til ae template, the metadata shid be veesible immediatelie whan the template is apent in VeesualEediter. Houever, it is possible that it taks hoors afore the metadata shaws. Ye can force aen update bi daein ae null eedit til the template page itsel (na the documentation subpage). Tae perform ae null eedit, apen the template page fer eeditin, n hain the page wioot makin onie chynge.
 * The nou issues — Ae leet o the nou bugs n featur requests is available in bugzilla.



Other tools

 * TemplateDataEditor — Ae uiser screept that maks the process o eikin TemplateData easier. It nou exeests in French (contains Ingils, Italian, Japanese n Korean owersets), n can easilie be owerset intil ither leids.
 * TemplateData Wizard — Ae tuil that generates TemplateData throoch aen interacteeve interface.
 * Skeleton TemplateData generator — Ae tuil that reads the soorce wikicode o ae template, ettles tae fynd aw the boondins uised n ootpits ae skeleton document wi the boondins leetit.
 * JSONLint — Ae tuil that permits ye tae validate manuallie-wrutten JSON tae heelp fynd mistaks in the syntax.
 * List of all templates with TemplateData on this wiki