Wikipedia talk:TemplateData/Archive 1

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Archive 1 Archive 2 Archive 3

"default" tag

I discovered that there is an additional tag, "default", that shows the default value for the template parameter. Example:

<templatedata>
{
        "description": "Description of the template",
        "params": {
                "1": {
                        "label": "Label of the parameter",
                        "description": "Description of the parameter",
                        "type": "string",
                        "required": true,
                        "default": "Default text of this parameter"
                     }
                }
}
</templatedata>

It is not mentioned in this tutorial, but it is listed in the TemplateData table that is produced. Are we supposed to be using it yet? The Anonymouse (talk) 13:58, 29 June 2013 (UTC)

Yeah, using it is fine - it's just not necessary, so I tried to strip the tutorial down to "things that are required", basically :). Okeyes (WMF) (talk) 15:08, 29 June 2013 (UTC)
OK, thanks! The Anonymouse (talk) 04:32, 30 June 2013 (UTC)

More useful debugging output needed

This system is really not usable without better debugging. I just spent over an hour creating 200 lines of TemplateData for Template:Infobox disease, and when I try to save it, all I get is "JSON syntax error". I'm not going to use this system until it does a better job of pinpointing errors, or at least giving some clue about the type of error. (If anybody is interested in trying to spot the syntax error, I saved my work as a comment in Template:Infobox disease/doc.) Looie496 (talk) 16:27, 1 July 2013 (UTC)

I agree we need better debugging commentary; actually, I'm unable to find a bug with that. @Adavidb:? Okeyes (WMF) (talk) 17:14, 1 July 2013 (UTC)
There was a double-quote symbol missing from the end of the "label" entry for the "eMedicineSubj" parameter. Such syntax errors are very difficult to catch with visual review alone. I commented out various parts of the code to narrow down where the error was. The corrected version remains commented, for any additional changes before activation. —ADavidB 18:05, 1 July 2013 (UTC)
Thanks. I've uncommented it and saved it -- appears to work. I still think I'm going to wait until there are more informative error messages before making further use of this system. Regards, Looie496 (talk) 18:26, 1 July 2013 (UTC)
Seems reasonable; I've added a bug for it. Okeyes (WMF) (talk) 18:42, 1 July 2013 (UTC)

Should be hidden when empty, and always link to documentation

I just discovered the existence of this after an IP editor added it to Template:Colon/doc. I have two observations: firstly, the displayed output needs to link to the TemplateData documentation (perhaps link "Template parameters"), otherwise it's virtually inexplicable - I had to perform a help namespace search to find it. Secondly, if empty it should either be hidden or a message along the lines of "this template does not take any parameters" should be shown. At present it just produces a clumsy-looking empty table, as in the example above.

This isn't meant to be negatively critical of the implementation, I know it's very early days yet. — Scott talk 12:07, 2 July 2013 (UTC)

Good points, both :). I'm not sure how we'd handle the first one - what do we do with localisation, for example? - but we can look into it. Okeyes (WMF) (talk) 12:58, 2 July 2013 (UTC)

Placement

The section Wikipedia:VisualEditor/TemplateData tutorial#TemplateData implies that it doesn't matter if <TemplateData>...</TemplateData> is added to the /doc page or to the main template page. I would suggest that the <TemplateData>...</TemplateData> should be placed on the /doc page wherever possible, since if it's put on the template, it'll add pages to the job queue unnecessarily (see bugzilla:50372 and WP:VPT#TemplateData: Is it working?). --Redrose64 (talk) 16:25, 3 July 2013 (UTC)

Fair point; I'll make sure it's tweaked when we update the documentation (being written now). Okeyes (WMF) (talk) 15:09, 5 July 2013 (UTC)

Template:Disambiguation ... how to write the TemplateData?

Need some help with this one. One named parameter is clear, but very rarely used: "page-name". The template can take up to 10 subject items as anonymous parameters where order is not relevant; for instance, if one uses {{Disambiguation|school|hospital}} this will categorize a page to Category:Educational institution disambiguation pages and Category:Hospital disambiguation pages. --User:Ceyockey (talk to me) 21:42, 5 July 2013 (UTC)

I would call these "1" with name "Type of disambiguation type" and description "Use one of 'school', 'hospital', …" (or not), and then make 2, 3, 4, 5, 6, 7, 8, 9 and 10 all just inherit from 1. Does that make sense? Jdforrester (WMF) (talk) 22:03, 5 July 2013 (UTC)

Template:R from alternative name ... takes no parameters - what to do?

I have added TemplateData to {{R from alternative name}} consisting of a description, which I take to be useful in and of itself, and left the parameters set empty because the template has no parameters. This results in the creation of an empty table on the /doc page. Is there a method for suppressing table production if, in fact, there are no parameters to list? --User:Ceyockey (talk to me) 21:56, 5 July 2013 (UTC)

@Ceyockey: not at the moment, I'm afraid; it's the sort of thing that will be supported more as the extension writers work out how the extension is used in practise, I think. But you're going about it the right way from my point of view :). Okeyes (WMF) (talk) 07:10, 9 July 2013 (UTC)

Parameters in example

The order of parameters in the "Str left"-example is reversed. In Templatedata (and the step by step instruction) "string" should come first, then "count". They are unnamed parameters, the current order won't work or would return wrong results. GermanJoe (talk) 14:43, 5 July 2013 (UTC)

Oh, darn :(. We're actually about to update the tutorial :). Okeyes (WMF) (talk) 15:09, 5 July 2013 (UTC)
Fixed the template Template:Str_left for now ;). GermanJoe (talk) 07:45, 9 July 2013 (UTC)
Thanks! :D. I need to start making a list of names (in a "free cookies" way, not in a PRISM way) Okeyes (WMF) (talk) 08:13, 9 July 2013 (UTC)

Can't include | in directions

The TemplateData description added to {{max}}, "A pipe-delimited list of numerical values. Example: -7|5|8|2*3|10+1|9", is totally useless for VE as the new editor will <nowiki> escape any sequence that includes pipes. It won't work at all. If other people have been saying "use pipes" in their template data descriptions, then they will need to be fixed. Dragons flight (talk) 19:20, 5 July 2013 (UTC)

I don't know if they have :/. Have you tried it in practise? I don't think it escapes markup through the template inspector. Okeyes (WMF) (talk) 07:12, 9 July 2013 (UTC)
If this is a problem, it's quite a big one - there are quite a few templates that can take an indefinite number of parameters and TemplateData doesn't appear to support that, unless VE can cope with pipe delimited lists. I'm not sure if it's a VE bug or a TemplateData bug but it's clearly a bug. WaggersTALK 07:38, 9 July 2013 (UTC)
I can confirm that VE puts nowiki tags around the parameters, generating something like this: {{Max|<nowiki>8|7|5|0|5|8|3|9</nowiki>}} WaggersTALK 07:47, 9 July 2013 (UTC)
Oh dear. But what about templates where...hangon, I'll test this. Okeyes (WMF) (talk) 07:51, 9 July 2013 (UTC)
So, I tested linking markup, at least, here. That works fine. I think the problem is pipes specifically. That's because parameters are used to distinguish between values; when you have 12[pipe]43[pipe]12, what you actually have is three parameters. Parameter 1 contains 12, parameter 2 contains 45, parameter 3...so on and so forth. here I tested the math template by manually adding 3 parameters, named 1 through 3, with values, and it seems to have worked fine. I think the answer is for TemplateData to consist of a number of parameters, say, 5, named 1,2,3,4,5, and the description to note you can add as many more as you'd like. Okeyes (WMF) (talk) 07:58, 9 July 2013 (UTC)
Thanks. I forgot (or didn't realise) that VE will allow you to add more parameters if they're not listed in the TemplateData. WaggersTALK 12:25, 9 July 2013 (UTC)
No problem :). Actually I didn't know either - I had to test it in my sandbox to work out. Okeyes (WMF) (talk) 15:16, 9 July 2013 (UTC)

Forcing templatedata updates

Performing a null edit (i.e. literally not making any changes to the template and pressing "Save") should now force templatedata updates without queuing up lots and lots of updates for highly used templates, thanks to this change by Tim.--Eloquence* 02:46, 9 July 2013 (UTC)

I was just about to post this; darn Deputy Directors, ruining all my plans ;). Okeyes (WMF) (talk) 07:06, 9 July 2013 (UTC)
This does not always work, unfortunately. Sometimes, the only remedy appears to be time. --User:Ceyockey (talk to me) 00:00, 17 July 2013 (UTC)

List of sighs

Sigh.

  • After creating a TD at a /doc page, no effect in VE. Nowhere a "delay" note to be found. Example: after 24h+, no effect in VE with {{RailGauge}} as used in page Isambard Kingdom Brunel.
  • TemplateData is the ugliest word to be pushed to an editor. Change it.
  • I am missing the "default behaviour" vs "default input" vs "no param present". For template effect, quite essential.

-DePiep (talk) 23:17, 16 July 2013 (UTC) In order:

  1. The TD tutorial says "There is also a slight delay after TemplateData is created before it appears in the VisualEditor."
  2. What's ugly about it? Sure, it's functional - but what it does needs to be transparent.
  3. I don't understand this, I'm afraid. Could you explain in more detail? Okeyes (WMF) (talk) 07:13, 17 July 2013 (UTC)
1. Ah, there it is. That slight delay is now 60hrs for my example. (Or I have put it in the wrong place, who knows).
2. TemplateData is no regular spelling. The second capital does not belong in a regular sentence. It looks like a code word -- not good for a manual/help/documentation.
3. Params can have a default value with default behaviour. The TD does not have a column to describe this. (see also my reply to Ceyockey below) -DePiep (talk) 08:28, 17 July 2013 (UTC)
Yeah, it's a jobqueue problem; they're working on fixing it :(. On TemplateData, I agree, it's not a normal word - but the same is true of VisualEditor, for example. Parameters don't have default options - those are put in the description, at the moment. TemplateData was deliberately built very barebones - the idea was it would be better to build around what people actually need it to do (for example, default options) rather than what we thought people needed to do. Okeyes (WMF) (talk) 08:33, 17 July 2013 (UTC)

Default value in a template

The way to handle a parameter which has a default value which is auto-filled but which can be overridden is to add the parameter as an optional ("required": false). If the parameter is not filled in VE, it will auto-fill in the article. Example: the name parameter in Template:Infobox_hospital; in the article McLean_Hospital, the infobox had been added before the advent of VE; I edited the infobox in VE to remove the name parameter, then saved the page, and the name of the hospital appears in the infobox. In this case, the default for name is {{subst:PAGENAME}}; optionally, you can override this by adding a different name from that of the page. --User:Ceyockey (talk to me) 23:59, 16 July 2013 (UTC)

Thanks, contribution appreciated. But this should be in Help or /doc page. I should not learn from a talkpage what is a generic treat. -DePiep (talk) 00:08, 17 July 2013 (UTC)
Actually, you described what a default parameter value is and does in a template. That I know. My question is: how to describe that in TD? There is no column for that. And, btw, your example |name= now does not appear at all in VE template editor. -DePiep (talk) 08:28, 17 July 2013 (UTC)
The TemplateData content as not yet propagated into the VE interface. After it does, could use Gardner State Hospital, for instance, as a working example. --User:Ceyockey (talk to me) 12:05, 17 July 2013 (UTC)
OK I'll take a look later on. Still, the main question is: the default value for an optional parameter, where is it TD described? -- in the description is an inconsistent way. It is a semantic. -DePiep (talk) 12:46, 17 July 2013 (UTC)
Inclusion in the description of the field ... and maybe in the description of the template ... is the best that can be done right now, I think. In the classical editor, the way that default values are related, and other editorial notes, is via <!-- ... --> comments in the field, which are removed/replaced during template editing. The closest analog to that is inclusion in the description in VE. The description of the field is included on both the parameter selection dialogue and the parameter value dialogue, which means that a default value description is present alongside the entry point for adding a value, same as in classical editing, but (dare I say it!) more convenient because you don't need to remove the comment in order to proceed. --User:Ceyockey (talk to me) 00:01, 18 July 2013 (UTC)
P.S. as an example of description in both places in VE, see List of neo-noir titles where I added {{refimprove}}; if you edit the article and call up the template editor, then select, for example, the section parameter, you'll see where the description is in both places. --User:Ceyockey (talk to me) 00:04, 18 July 2013 (UTC)
{{ce}}All clear, thanks. So I am asking for a feature, really. As I understand it to be. -DePiep (talk) 00:06, 18 July 2013 (UTC)

Move to subpages? To new namespace?

Wouldn't be better to have the <templatedata> tags in a specific subpage (/data? /templatedata?) of each template (as in e.g. hewiki, which used subpages for their Template Parameter Wizard before TemplateData was created) and have {{Documentation}} to add links for easy cration of such subpages when they do not exist? Helder 22:29, 20 July 2013 (UTC)

Another alternative would be to have a specific template for this information, as suggested on bugzilla:50512. Helder 22:31, 20 July 2013 (UTC)

What about redirected templates

So what should we do about redirected templates? {{Commons cat}} is a redirect to {{Commons category}} yet has 68742 pages transcluding it. The TD system does not seem to understand the redirect. I also note Template:Commons cat/doc redirects to Template:Commons category/doc so a simple measure like redirecting the document page does not help. --Salix (talk): 20:14, 21 July 2013 (UTC)

The way I see it is that VE-TD provides an opportunity to move away from the multiple aliases of a template to a single instance. There is no practical need to add Template Data to all of the template-redirect, but only to the canonical target template. One of the reasons for the many aliases for some is that the template addition process has been largely manual from the beginning, so people have created aliases which make sense to them so they are either easier to type or easier to remember. I'm sure there are other reasons, but when one deploys a lookup system and removes the manual addition element, it becomes relatively easy to focus down on a single template. Now there is the matter of "I can't find the template when doing a search because it is not called what I expect it to be called", which DOES call out for a solution which takes into account the multitude of aliases.
question mark Suggestion Add these features to the TemplateData / TemplateEditor system:
  1. add a second template-level TD element in addition to "Description" (the only element at this level), the new one being "Aliases/Redirects".
    a further enhancement would be to auto-read redirects in the template space so that no manual encoding would be required
  2. when doing a search for a template in the Editor, the current behavior returns templates where the string is a substring of the template name. In an enhancement, the search will look in both the canonical template name _and_ the aliases. A dedup should remove hits against both canonical name and alias.
    In the case of Template:Commons category there are 7 redirects, the one presented being Template:Commons cat. If one searches with "commons", only one entry should be returned; presently, only a single template in the suite will be returned, Template:Commons category. In the revised system, the return line in the lookup would be "Commons category [Commons cat][Commonscat][Commons Category][Wikimedia commons cat][Category commons][Ccat][C cat]".
At present, there is a heavy bias towards not deleting redirects like this, as "redirects don't cost much" and "you never know when someone will use one of the variants", and I think both of these will remain valid as long as there is a heavily used wiki-text editing interface. Deletion of some will be blocked due to the need for maintaining history integrity for CC-by-SA licensing. Having a manual process for listing redirects to appear in the Template Editor interface allows one to choose a subset of variants. For instance, a set of variants which might make more sense for the example here might be "Commons category [Wikimedia commons cat][C cat][Ccat]"; the variants [Commonscat], [Commons cat], [Commons Category] and [Category commons] would be largely redundant when either doing a case-insensitive type-ahead for 'commons' or 'category'. --User:Ceyockey (talk to me) 23:13, 21 July 2013 (UTC)
For a long time to come we will be supporting a dual editing environment, 90% of editors are still using the wikitext editor. While the use of wikitext editing remains high there is still a good case for needing the short names and redirects.--Salix (talk): 05:34, 22 July 2013 (UTC)
What is wrong with the first idea that comes to mind: VE-TD follows a redirect template and ends up with the content template (/doc)? Redirects do work elsewhere. The second option mentioned here, getting rid of using Rs, can be introduced so that when a R template is VE-TD edited, the name is replaced. -DePiep (talk) 07:48, 22 July 2013 (UTC)

Had a go - feedback

I've just tried adding TemplateData to {{EW charity}} on its /doc page - not one of the commonest templates, but one I know and understand as I wrote it. But I don't know whether I've done it right, and from the sound of it there's a 60-hour delay before I can look at its effect. Hmm, not ideal.

Comment on the tutorial: you don't explain what to do for an optional parameter (ie that "required" can be omitted, which seems to be the case, rather than needing to be set to "false"). I also wasn't very clear what I was supposed to be putting in the various fields - perhaps if I use more templates with templatedata it will start to make more sense.

I don't like being offered a choice without any indication which is preferred or why: please indicate the "best" or "standard" place to put the TemplateData (template page or /doc page) - and it might be helpful to standardise mildly on whether it goes at top or bottom of the /doc page, if that's the better page for it to be. Unnecessary choices are hard work: just tell us where to put the TemplateData.

In the list of heavily used templates, I noted that {{hatnote}} is marked up as "done". I wanted to have a look at the effects, as it's a template with no named parameters, just one locational parameter. Editing my sandbox I clicked to transclude "Hatnote"... and got no information about the parameters, just the usual "Add parameter" and "No unused parameters" - not what I expected. Looking at the history I see the TemplateData was added on 11 June, 6 days ago. Should something useful be displayed when I try to use the template? I'm struggling rather with all of this as yet. PamD 15:59, 17 July 2013 (UTC)

Having another look, I see that it seems to tell me I need to add "required" and set it to "false". Do I really? And I've realised that one reason the example is particularly confusing is that "string" is both a parameter name and a type! There might be a clearer example perhaps? PamD 16:05, 17 July 2013 (UTC)
Still not going well: I tried adding {{EW charity}} to an article, couldn't see the parameters I'd added in TemplateData 4 days ago. Tried choosing "EW charity/doc" from the dropdown menu... and the templates appeared with their descriptions... but continuing transcludes the documentation page into the article. Something is going wrong: either the documentation is wrong or I'm misreading it. Could someone have a look at Template:Genukiwry/doc and tell me what I'm doing wrong? Thanks. PamD 22:24, 21 July 2013 (UTC)
There is a long delay between changing the template data section and it actually being read by the Visual Editor. I waited nearly a week for {{Coord}} to be updated. You may find it updates quicker if you do a WP:NULL edit to the main template page (not the doc page).--Salix (talk): 22:55, 21 July 2013 (UTC)
The data you have specified looks fine for me.--Salix (talk): 22:56, 21 July 2013 (UTC)
The TD seems ok, except for the parameters names: I think it's not regno and charityname, but just 1 and 2. --NicoV (Talk on frwiki) 08:10, 22 July 2013 (UTC)
Thanks, Nico, I've amended them to numbers and will try again. The documentation isn't helpful as to how to code templates with locational rather than named parameters. Once I can see that I've got this right I might try to help improve the documentation. Will now presumably have to wait some time to see the effect. Will try the null edit suggested. PamD 08:19, 22 July 2013 (UTC)
Tweaked the doc already to help. But please double-check, if you like all changes. GermanJoe (talk) 08:33, 22 July 2013 (UTC)

Success: I've managed to add {{Genukiwry}} to my sandbox, using the templatedata - it certainly helps a lot, but I did find a couple of problems which I've reported at Wikipedia:VisualEditor/Feedback#Template_parameter_addition_problems. Thanks, all, for your help. I've been experimenting with two different templates and muddling my comments on them both, sorry for any confusion. PamD 08:51, 22 July 2013 (UTC)

Editor for TemplateData ?

Hi, is there any editor tool for TemplateData on enwiki ? On frwiki, a user made a script which allows creating/updating the <templatedata>...</templatedata> visually and very easily. Anyone willing to make the same for enwiki ? --NicoV (Talk on frwiki) 08:42, 16 July 2013 (UTC)

Ooh. I'd love if someone could take and translate that. Okeyes (WMF) (talk) 13:35, 16 July 2013 (UTC)
I posted a request on Wikipedia:WikiProject User scripts/Requests. --NicoV (Talk on frwiki) 16:39, 16 July 2013 (UTC)
Editor available at User:NicoV/TemplateDataEditor.js. --NicoV (Talk on frwiki) 23:00, 19 July 2013 (UTC)
Yes, sounds really useful, but how do we use it? Could you give a non-techie "How to do it" guide, please? Thanks. PamD 23:08, 19 July 2013 (UTC)

Sure :

  • Edit Special:MyPage/skin.js.
  • Add a line with the following text importScript('User:NicoV/TemplateDataEditor.js');
  • Save the page
  • Read the note at the top of the page explaining how to bypass your browser cache, and follow its instructions.

Then, when you edit a template (or rather its documentation page) :

Editor for TemplateData
  • You should see a "TemplateData" link on the left, in the "Toolbox" section
  • Check if the template page already contains a <templatedata>...</templatedata> tag
  • If not, add an empty one <templatedata />
  • Click on the "TemplateData" link
  • You should see a big window that's quite easy to use

--NicoV (Talk on frwiki) 23:16, 19 July 2013 (UTC)

Thanks - too late at night to try anything now but I look forward to having a go at it tomorrow. PamD 23:30, 19 July 2013 (UTC)
Hope you'll enjoy it :-) More explanations on how to install/use at User:NicoV/TemplateDataEditor. --NicoV (Talk on frwiki) 04:57, 20 July 2013 (UTC)
I've amended the first instruction, since it's not necessary to work out whether you should put it in Special:MyPage/vector.js or somewhere else if you use a different skin. The link Special:MyPage/skin.js automatically goes to the relevant .js file for your current skin.
But, it can be simpler. Does it work in all current skins (Cologne Blue, Modern, Monobook, Vector)? If so, the place to put it would be Special:MyPage/common.js; then, if you change skins, the script does not need to be reinstalled for the new skin. --Redrose64 (talk) 07:15, 20 July 2013 (UTC)
Thanks, I didn't know about skin.js. I do'nt know if it works for all skins, but it seems quite simple, so probably. In User:NicoV/TemplateDataEditor, I suggested to use common.js. --NicoV (Talk on frwiki) 07:20, 20 July 2013 (UTC)

Should it work within userspace aswell? Tried in my user sandbox with the skeleton TemplateData (just for testing), but toolbox option would not appear. Editing in template space under Vector.js looks fine though - great addition, thank you. GermanJoe (talk) 13:20, 22 July 2013 (UTC)

Currently, it works only in template namespace, but it could be added also in user namespace. --NicoV (Talk on frwiki) 14:55, 22 July 2013 (UTC)
Modified to work also in userspace. --NicoV (Talk on frwiki) 15:12, 22 July 2013 (UTC)
Thanks for the quick change - works for me :). GermanJoe (talk) 18:06, 22 July 2013 (UTC)


Ltrlg has modified TemplateDataEditor in frwiki, including suggestions here and adding a way to easily translate the tool in many languages. So, it can now be used from every wiki. If you want to contribute to translations, I think the best way is to propose translations at fr:Discussion utilisateur:Ltrlg/scripts/TemplateDataEditor.js, the messages to be translated are at the beginning of fr:Utilisateur:Ltrlg/scripts/TemplateDataEditor.js (the "messages"). --NicoV (Talk on frwiki) 11:31, 24 July 2013 (UTC)

Is the example correct?

The example for {{str left}} uses named parameters. However the actual template uses positional parameters! Did anyone check or test?

Should we change the example or fix it to use positional parameters instead. Ideally we want a fuller example which combines named parameters, and positional parameters. An example which also used the string/wiki-user-name, string/wiki-page-name would be good.--Salix (talk): 15:04, 24 July 2013 (UTC)

If you want to write a more full example I would be massively grateful; your tweaks so far have been most welcome :). Okeyes (WMF) (talk) 17:06, 24 July 2013 (UTC)
Just tested, template does only take positional parameters. Have done a quick fix, now the example should be correct. For further improvements another template would be a better example, agreed. GermanJoe (talk) 17:15, 24 July 2013 (UTC)

Need some way of categorising template data usage

We need some way of finding which templates have template data specified. The list is fine for starters but as the number of template where its used grows it won't be able to keep track. Ideally we want a category which would preferably be filled automatically whenever the <templatedata> tag is used.--Salix (talk): 07:11, 22 July 2013 (UTC)

Good idea. Would this work to build a usable selection list (just a suggestion obviously)?
  • Include all templates, which are stored directly in the root directoy of Template:XXX, unless they are manually tagged with an appropriate category as "non-template" (do any pages on this level contain non-template data?). Obviously the templatedata itself would have to be retrieved via documentation, but this is apparently done already.
  • Do not show pages in lower subdirectories like Template:XXX/sandbox, /doc, /testcases and others, unless they are manually tagged with an appropriate category as "usable template".
The first point would also help to hide "internal" core-templates, which shouldn't be shown for normal editing. GermanJoe (talk) 07:41, 22 July 2013 (UTC)
I've now created Category:TemplateData documentation for documentation pages with TemplateData sections. Obviously we are going to need refine the category system, once the number of templates increase. For now its good just to try and catch all uses. I've also created a template {{TemplateDataHeader}} which can be used at the start of a template data section and automatically characterises the template.--Salix (talk): 11:39, 23 July 2013 (UTC)
I just realized, i slightly misread your (good) suggestion. We need a list of templates with templatedata, agree. We (VE) should also refine the list of available templates (with and without templatedata) during editing to exclude non-template pages in the template space and internal templates. GermanJoe (talk) 11:57, 23 July 2013 (UTC)
I've found a way of getting all pages with templatedata section using the api
https://en.wikipedia.org/w/api.php?action=query&list=pageswithprop&pwppropname=templatedata&pwpprop=title&format=json&pwplimit=500
It looks like 240 templates have been done so far.--Salix (talk): 22:32, 24 July 2013 (UTC)

List of used templates

Hi! I need (for plwiki) a list of templates used in specific space, for example in main. The "Special:MostLinkedTemplates" gives a list for all spaces. Enwiki has lists separated by space (like one in section "Commonly-used templates" on this page) - how obtain such result? Cheers, Ency response? 06:52, 26 July 2013 (UTC)

Four spaces

Why and when was the wisdom of "four spaces" left? [1]? -DePiep (talk) 02:48, 28 July 2013 (UTC)

Merge talk pages

The following discussion is closed. Please do not modify it. Subsequent comments should be made in a new section.
Merged No objections. A little bit out of process, if anyone objects just revert or contact me. --Salix (talk): 18:05, 28 July 2013 (UTC)

I propose merging in Wikipedia talk:VisualEditor/TemplateData tutorial to here. Having two talk pages about template data issues seems confusing as I'm never sure which one I should post to.--Salix (talk): 16:51, 25 July 2013 (UTC)

  • Support --NicoV (Talk on frwiki) 17:04, 25 July 2013 (UTC)
  • Support - very similar topics with a lot of possible overlap. GermanJoe (talk) 06:35, 26 July 2013 (UTC)
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Discrete set of valid values for a parameter

From Wikipedia_talk:VisualEditor/TemplateData_tutorial. --Salix (talk): 18:09, 28 July 2013 (UTC)

If there is a discrete set of valid values for a parameter, e.g. collapse="yes"/"no", where do we tell the user which choices they've got? The "string" doesn't give them many pointers. --99of9 (talk) 21:58, 28 June 2013 (UTC)

The description, ideally :). Okeyes (WMF) (talk) 22:29, 28 June 2013 (UTC)

Choises for a parameter

The following discussion is marked as answered. If you have a new comment, place it just below the box.

Hello. In a parameter of a template can added only 4 different choices. For example, top, high, mid, low. How can those choises can put in templatedate so the user can choise for one 4 element-list the one he want. Xaris333 (talk) 19:21, 29 July 2013 (UTC)

This request has been made in bugzilla, hopefully it will be implemented. --NicoV (Talk on frwiki) 20:08, 29 July 2013 (UTC)
Thx, Xaris333 (talk) 20:34, 29 July 2013 (UTC)


Description

The following discussion is marked as answered. If you have a new comment, place it just below the box.

Is there a way to put something wiki in description; For example, to link to a specific page like Wikipedia:WikiProject Football. Xaris333 (talk) 22:03, 29 July 2013 (UTC)

Currently, no, but also requested. --NicoV (Talk on frwiki) 22:08, 29 July 2013 (UTC)
If the link is vital, i just spell it out as normal text for the moment. Ugly information is better than no information. GermanJoe (talk) 21:07, 31 July 2013 (UTC)

Skeleton TemplateData Generator

I've thrown together a Skeleton TemplateData Generator. It reads the source of a template and tries to find all the parameters used, using the regexp /\{\{\{[^\{\|\}]+ and outputs a skeleton document with all the parameters listed. --Salix (talk): 15:16, 25 July 2013 (UTC)

Interesting: is it possible to call it directly with language and page name to retrieve this skeleton? If it's possible, I will suggest to Ltrlg to add a call to your tool to automatically populate the window of TemplateDataEditor. Or is your code reusable directly in TemplateDataEditor ? --NicoV (Talk on frwiki) 17:11, 25 July 2013 (UTC)
It should be easy enough to do. Basically all you need to do is read an api call
http://en.wikipedia.org/w/index.php?title=Template%3ATaxobox_name&action=raw
Do a regexp on the text looking for {{{.*| or {{{.*}. That finds all the parameters used an a bit of array processing does the rest. There is a link to the source code at the bottom of the page. The one bit I'm not sure on is how to read the api call in javascript. You can easily call it directly e.g.
http://singsurf.org/things/TemplateData.php?SiteName=en.wikipedia.org&PageName=Template%3ATaxobox_name
Its probably better to actually convert the code to javascript and use a direct api call.--Salix (talk): 19:31, 25 July 2013 (UTC)
This is awesome! Okeyes (WMF) (talk) 17:38, 25 July 2013 (UTC)

I've now migrated this to on-wiki javascript User:Salix alba/TDSkell.js. To use include

importScript('User:Salix alba/TDSkell.js');

in Special:MyPage/skin.js. On templates and user pages a link TD Skeleton will appear in the toolbox on the left sidebar. Clicking the link will open an overlay with a skeleton for the templatedata for the template you are looking at. Copy and paste and click the close box.

I'm thinking of integrating a bit closer with Ltrlg's TemplateDataEditor, but may take some time.--Salix (talk): 18:27, 28 July 2013 (UTC)

Hi, great to have it as javascript. I also suggested to Ltrlg to include the skeleton generation in TemplateDataEditor (fr:Discussion_utilisateur:Ltrlg#Merge_de_TemplateDateEditor_et_du_g.C3.A9n.C3.A9rateur_de_squelette_.3F).
I haven't tried it yet, but it seems you can only use it on enwiki (var URL pointing to enwiki). Could you modify it so that including it from an other wiki works ? Thanks. --NicoV (Talk on frwiki) 18:45, 28 July 2013 (UTC)
I’ve started including it into TDE (just skeleton). I’m working on aliases and defaults — Ltrl G, 16:59, 12 August 2013 (UTC)

TemplateDataGenerator with Lua

Good ideas are those which are stolen immediately.

Here an alternative solution in Lua, that does not require a JS script, which some users try to avoid:

If you like this approach, please tell me appropriate page names for enWP. I will create the pages then to avoid importing and copyvio issues.

Greetings --PerfektesChaos (talk) 21:03, 31 July 2013 (UTC)

That looks good, thanks for stealing. If its on a *.wikipedia.org site then I think everything is under a CC-BY-SA 3.0 License and the GFDL licence, so there should not be copyvio problem, it just needs appropriate acknowledgements. Module:TemplateDataGenerator seems a good enough name.--Salix (talk): 14:38, 5 August 2013 (UTC)
Safest way was to create it myself.
Please feel free to adapt it to your desires.
Enjoy --PerfektesChaos (talk) 18:20, 5 August 2013 (UTC)

New release of TemplateDataEditor

Hi,

Ltrlg has released a new version of his TemplateDataEditor script, the major modifications being a partial inclusion of the skeleton generator and managing descriptions in several languages. I've updated the documentation, feel free to fix it as English is not my language. --NicoV (Talk on frwiki) 17:19, 12 August 2013 (UTC)

What should I do with redirects?

I see there is a debate above about what to do with template redirects in the long term, but is there any way to make them work in the meantime? I tried putting TemplateData on Template:Canadian election result/doc and Template:CANelec/doc and I tried transcluding one in the other, but they never seem to work. (I did get it working on Template:Canadian election result/top/doc, so I apparently understand how TemplateData works in general.) —Arctic Gnome (talkcontribs) 04:39, 20 August 2013 (UTC)

This is T52964. Other than changing {{CANelec}} so its like
{{Canadian election result|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|elected={{{elected|}}}}}

and then adding templatedata waiting seems the only solution.--Salix (talk): 06:09, 20 August 2013 (UTC)

Best solution for templates with common documentation?

What's the best way to handle templates, which share the same documentation page and thus the same TemplateData?

  1. Move the TemplateData directly to the template pages outside of the documentation?
  2. Split and duplicate the documentation page?
  3. Are there any other, better solutions? GermanJoe (talk) 06:57, 29 July 2013 (UTC)
Idea: Create a dedicated subpage for the TemplateData, and include it in the template with noinclude like the documentation ? Or if you want to have the TemplateData inside the documentation: add a parameter to the documentation to tell where the TemplateData is, so that the documentation includes the correct TemplateData depending on the template. --NicoV (Talk on frwiki) 07:18, 29 July 2013 (UTC)
See also bugzilla:50512. Helder 20:37, 29 July 2013 (UTC)
I've encountered this for {{Resize}}, {{Larger}} and relatives. I've made separate templatedata page Template:Resize/TemplateData, Template:Larger/TemplateData and removed any template data from the shared documentation page Template:Resize/doc, but added links to the templatedata pages. Essentially what NicoV suggested. Less than elegant but does ensure the right template gets the right templatedata.--Salix (talk): 22:32, 29 July 2013 (UTC)

You can actually use {{#switch|{{PAGENAME}}| ...}} or {{#if|{{PAGENAME}}| ...}} to have the different TD sections in the same document. In Template:Multicol/doc I've done:

{{#switch: {{PAGENAME}}
|Multicol/doc
|Multicol =
{{TemplateDataHeader|multicol}}
<templatedata>
{
    "description": "Starts a multi-column section. Subsequent columns are started by {{multicol-break}} and the section is ended with {{multicol-end}}",
    "params": {
        "1": {
            "label": "Table width",
            "description": "Width of table, a CSS width e.g. '50%'.",
            "type": "string",
            "default": "100%",
            "required": false
        },
        "2": {
            "label": "Column width",
            "description": "Width of the first column.",
            "type": "string",
            "default": "20px",
            "required": false
        }
    }
}
</templatedata>
}}

{{#switch: {{PAGENAME}}
|Multicol/doc
|Multicol-break =
{{TemplateDataHeader|Multicol-break}}

<templatedata>
{
    "description": "Starts another column in a table started by {{multicol}}.",
    "params": {
        "1": {
            "label": "Column width",
            "description": "Width of the column.",
            "type": "string",
            "default": "20px",
            "required": false
        }
    }
}
</templatedata>
}}

{{#switch: {{PAGENAME}}
|Multicol/doc
|Multicol-end =
{{TemplateDataHeader|Multicol-end}}
<templatedata>
{
    "description": "Ends a multi-column list started by {{multicol}}. The template takes no parameters.",
    "params": {
    }
}
</templatedata>
}}

This means all three are visible in the documentation page but only the appropriate one is used in the actual template. This has the advantage of not having to change the actual template page at all. It also has a slight positive effect in the TD sections don't appear in the sandbox or testcase pages.--Salix (talk): 15:53, 10 August 2013 (UTC)

Just for the fun of it i tried the approach with "switching" on template:merge and its family. It makes editing the template data a bit more complicated, but seems to work quite well - thanks for the great advice, Salix. GermanJoe (talk) 13:23, 28 August 2013 (UTC)

Problem illustrated by documentation rendered for Template:Expand section

Please fix how parameter aliases are documented.

In {{Expand section}}, the first numbered parameter has an alias, "with"; this is rendered as follows:

"params": {
        "1": {
            "label": "reason",
            "description": "Reason the template was added, an explanation of what expansion the section needs. A bulleted list with lines beginning '*' can be given.",
            "type": "string",
            "required": false,
            "aliases": ["with"]
        },

Another parameter, talksection, is similarly specified to have an alias.

If you go to Template:Expand section/doc, you'll see how parameter alias documentation is actually rendered by {{TemplateData}}:

Template parameters
Parameter Description Type Default Status
reason 1with Reason the template was added, an explanation of what expansion the section needs. A bulleted list with lines beginning '*' can be given. string empty optional
talksection talksectiontalk A section heading in the talk page where the issue is discussed. string empty optional

Here's what I think should be rendered:

Template parameters (Properly rendered)
Parameter Description Type Default Status
reason 1, with Reason the template was added, an explanation of what expansion the section needs. A bulleted list with lines beginning '*' can be given. string empty optional
talksection talksection, talk A section heading in the talk page where the issue is discussed. string empty optional

Note the addition of space and a comma in the second column. Thanks in advance. 72.244.200.11 (talk) 10:38, 15 October 2013 (UTC)

What I am actually seeing looks more like
Template parameters (Properly rendered)
Parameter Description Type Default Status
reason 1
  with
Reason the template was added, an explanation of what expansion the section needs. A bulleted list with lines beginning '*' can be given. string empty optional
talksection talksection
  talk
A section heading in the talk page where the issue is discussed. string empty optional
The alias is on a separate line and slightly indented and in a light grey. This is achieved by a CSS rule
.mw-templatedata-doc-param-alias {
  color: #777;
  display: block;
  margin-left: 1em;
}
I suspect this might be caused by the browsers not understanding block elements in table cells. Which browser are you using? --User:Salix alba (talk): 13:59, 15 October 2013 (UTC)

File and category templates

Now that VE can be used on file and category pages, could someone please add the most used templates from those namespaces?:Jay8g [VTE] 03:40, 30 October 2013 (UTC)

Subst: only?

Is there any way to indicate a template that is not supposed to be transcluded, only substituted? VanIsaacWS Vexcontribs 04:20, 11 November 2013 (UTC)

Not currently. I'd just put it in the template description. VisualEditors support for the subst needs work see T51904.--User:Salix alba (talk): 09:05, 11 November 2013 (UTC)

TemplateData Template

Would it be possible for the <templatedata> tags to be buried within a {{templatedata}} template? Then the template could simply add the tags rather than the tags being directly put into template documentation. The reason I propose this is on other wikis that don't yet have the <templatedata> tags implemented, it might then be possible to modify the {{templatedata}} template to handle this information with some modicum of grace. Where it comes up is when mirroring templates from Wikipedia, the <templatedata> tags within the documentation of many templates leaves a mess when our wiki doesn't know how to handle the <templatedata> tags. How about a little love for those of us who are stuck a few versions behind? --Salton Finneger (talk) 17:27, 12 November 2013 (UTC)

I'm not sure what you mean by templatedata tags not being implemented. Are there wikis where it is not currently possible to add templatedata? Or do you just mean that 99% of the templates on 99% of the wikis haven't yet had the data added? Whatamidoing (WMF) (talk) 01:44, 13 November 2013 (UTC)
Our internal wiki runs the 1.18 version of the Media Wiki software, and when we snag any templates off of Wikipedia that use <temmplatedate>, it doesn't know how to handle it. So that comes through as plain text and then everything before </templatedata>, since it is generally indented, comes through as if wrapped inside <pre>...</pre> tags. If instead of using <templatedata>...</templatedata>, {{templatedata|...}} were used instead and that template inserted the necessary tags, then this could be handled rather more gracefully on sister projects that do not yet have the necessary extensions. But I appreciate that this is probably a relatively low priority when all the WMF sites have already made the transition. —Salton Finneger (talk) 20:42, 13 November 2013 (UTC)
I've though about doing something like this generating the TemplateData or part of the TemplateData with a template. I guess it depends on quite when the TemplateData is read when parsing the page, does it happen before templates are evaluated or not. You could experiment and see what happens. @Krinkle: may know something about this as hes the guy who works on TemplateData.--User:Salix alba (talk): 23:08, 13 November 2013 (UTC)

Null edits

Surely it would be easier just to purge the template with action=purge in the URL, rather than having to request a null edit? RainCity471 (talk) 00:00, 22 November 2013 (UTC)

I just tried that and it does not work. You can check which templates need to be updated by running an api call or running a bit of javascript see Wikipedia:VisualEditor/TemplateData/List. I'm periodically running the script and fixing and doing any null edits which are required.--User:Salix alba (talk): 07:34, 22 November 2013 (UTC)
Oh, I see. I was a bit stupid and didn't realise the different ways something can be purged. Sorry, RainCity471 (talk) 13:03, 22 November 2013 (UTC)

Nts

Could someone add TemplateData to Template:Number table sorting? It's sometimes used a hundred times or more in a page, and it appears not to be on this list, despite having about 16,000 transclusions. Whatamidoing (WMF) (talk) 02:45, 8 December 2013 (UTC)

 Done. Parameters quiet and scinote not added because they are not properly implemented. Best regards, Codename Lisa (talk) 03:48, 8 December 2013 (UTC)
Thanks, Lisa. Whatamidoing (WMF) (talk) 19:29, 9 December 2013 (UTC)

Sending Google Code-in students this way

Hi, just a note to say that hopefully you will see some Google Code-in students working on template data for infoboxes with >5000 uses. Google Code-in participants are 13-17 years old students willing to complete basic technical tasks (coding, documentation, UX, QA, promotion). Most of them are contributing to a free software project for the first time, and probably most of them are editing Wikipedia and templates for the first time. We have just created a pilot with five tasks like this one. We will create more if the experiment goes well and new template data is added to popular templates successfully. As a GCI mentor will do my best filtering visible mistakes. Your help reviewing this work is welcome. Thank you!--Qgil (talk) 00:27, 10 December 2013 (UTC)

Hi! I am one of the aforementioned Google Code-in students and I'll be working on {{Infobox artist}}. Guoguo12 (Talk)  00:31, 10 December 2013 (UTC)
Thats good. The initial version of the TemplateData looks good. --User:Salix alba (talk): 22:19, 11 December 2013 (UTC)

How are these lists generated?

How are these lists of pending templates generated? Is it automated or manual work? My reason to ask is that Catalan Wikipedia editors are also interested in a page like this, to track progress as you do here. Thank you!--QuimGil (talk) 16:19, 18 December 2013 (UTC)

I don't know. I think that an automated list would be a good idea, especially if it could resolve redirects. User:Okeyes (WMF) posted the list, so presumably he knows where it came from. Whatamidoing (WMF) (talk) 18:54, 18 December 2013 (UTC)
I just ran a (relatively simple) db query to retrieve those unique entries in templatelinks from [namespace] that had the most entries. Drop me an email if you want something for Catalan :). Okeyes (WMF) (talk) 19:05, 18 December 2013 (UTC)
Looking at Special:MostLinkedTemplates is an easy way to get started. You may be able to find an equivalent for your language from the list of special pages. Wikipedia:Database reports/Templates transcluded on the most pages is also worth looking at.--Salix alba (talk): 19:50, 18 December 2013 (UTC)
Getting a list of most used templates is one thing, but I thought there was a mechanism in place to check automatically which ones had template data, and therefore which ones missed it. In any case, any help saving tedious manual work is welcome, Okeyes (WMF)! ca.wiki is starting a "Fortnight of Quality" on Dec 22 and one of the indicators we want to consider is templates missing template data. Thank you for your advice!--Qgil (talk) 05:12, 19 December 2013 (UTC)

HTML5 standardization

Currently, there is an issue that prevents me from seeing the parameters and types on my BlackBerry mobile device in desktop mode. It appears that anything using <font>, <big>, <acronym>, <center>, <tt> doesn't show up anymore. On my laptop, I can see that those two columns of templatedata are using <tt> and I was wondering if you could instead change it to use <code>. There's a lot of background to this, and you can see my talk page (there is a specific discussion there that offers a demonstration screenshot), WP:VPR has a proposal based on this issue (I'm trying to not scare everyone too much and my old BB isn't one of the big five browsers), and I've started standardizing some non-article/draft space stuff to fix the issue. Thanks if you can fix this part of it (I'm guessing it is in the extension itself). — {{U|Technical 13}} (etc) 18:27, 19 June 2014 (UTC)

@Technical 13: No problem – I've done this in this patch which we should get merged in the next few days and deployed here with a fortnight. HTH. Jdforrester (WMF) (talk) 22:29, 19 June 2014 (UTC)

New TemplateData tool

When you edit a /doc page, you should now see a gray button labeled "Edit template data". That will take you to the new tool for creating TemplateData. It can't do everything (no "suggested" parameters, for example), but for basic work, it may be better than what you've been doing. If you have any feedback (positive, negative, needed improvements—anything) on it, please let me know. Thanks, Whatamidoing (WMF) (talk) 19:17, 16 July 2014 (UTC)

Whatamidoing (WMF), a brief feature request: the button shouldn't show up when the template has been deleted or doesn't exist. APerson (talk!) 13:14, 7 August 2014 (UTC)
Thanks for this good observation. I have made the request at T71268. Whatamidoing (WMF) (talk) 21:34, 7 August 2014 (UTC)

Documentation pages

Hi Whatamidoing (WMF) not sure if it's better to report these things here or on your talk page but anyway... the tool works great if editing a template directly, but if I'm editing the documentation subpage for a template I've found the "import parameters" button tends not to find anything to import. Obviously there's an easy workaround for this (generate the templatedata on the template itself then move it to the documentation subpage) but I can see it getting annoying after a while. WaggersTALK 13:47, 8 August 2014 (UTC)

Ask me any place that works for you, so long as you ping me (more than once, if you think I've missed it).
This is T67951, which User:Mooeypoo has been working on for a while. It may be easier to fix when TemplateData moves off the /doc pages and into its own namespace. Whatamidoing (WMF) (talk) 19:34, 8 August 2014 (UTC)

Location

Where on a template documentation should the template data go? First? Last? Before the "see also" section? Hyacinth (talk) 11:20, 15 August 2014 (UTC)

I generally put it towards the end of the documentation page before the see also.--Salix alba (talk): 11:36, 15 August 2014 (UTC)
Eventually, it may become its own page, which would neatly resolve this question. Whatamidoing (WMF) (talk) 23:41, 16 August 2014 (UTC)

Safeguard needed

to prevent foulups like this. --Redrose64 (talk) 17:11, 6 September 2014 (UTC)

A "Suggestion" is required?

The page says, highlighted: "You should almost always have at least one suggested parameter on a template". But if I understand this well, having a "required" parameter would be OK too. Adjust text? -DePiep (talk) 08:37, 18 October 2014 (UTC)

Move TemplateData to a subtemplate?

A discussion about moving the TemplateData text into a subtemplate, or separating it from the template documentation page via other means, is taking place at Help talk:Citation Style 1.

Doing this would allow protection of the TemplateData while leaving the documentation, which does not affect the functioning of any tools, available to edit. This could be a stopgap measure on the way to having TemplateData on its own page, as Whatamidoing (WMF) mentions above.

Would there be any problems with moving TemplateData into a subtemplate? It may be best to respond in the original thread. – Jonesey95 (talk) 17:56, 5 December 2014 (UTC)

Yes; it would worsen, not solve the problem of duplication, which I raised above. Ditto the problem of the two not being kept in sync. Andy Mabbett (Pigsonthewing); Talk to Andy; Andy's edits 18:08, 5 December 2014 (UTC)

Whitespace

Hello. The code inserted by the TemplateData editor (after [Apply] is clicked in its window) adds a lot of whitespace. Is there an option to reduce/remove much/most/all or is it necessary..? (If necessary, because..?)

Regards, Sardanaphalus (talk) 11:19, 7 January 2015 (UTC)

I've a feeling the software is not that advanced. Try editing the page normally after using tool.--Salix alba (talk): 18:14, 7 January 2015 (UTC)
  • Thanks for your response; editing the page afterward is what I've done. If it's the software that adds the whitespace – or, at least, can influence its addition? – then I imagine it should be possible to make the routine/s involved configurable, even if only to e.g. use single spaces (or N spaces, or nothing) in place of the [tab]s and/or e.g. omit newlines from within definitions..? Sardanaphalus (talk) 00:46, 9 January 2015 (UTC)
My idea of manually trimming the white space was rejected with a plausible reason in one case. –Be..anyone (talk) 03:25, 20 January 2015 (UTC)
  • If the plausible reason is "It's also us humans who need to parse the data, and it goes a lot easier when properly formatted", I suggest that the amount of whitespace the TemplateData editor adds produces something "less-than-properly" formatted. (Especially for smaller screens.) Sardanaphalus (talk) 12:32, 24 January 2015 (UTC)

New(?) editing interface, paramOrder

Just to report that the new(?) editing interface appears to have an eye-strainingly small default font-size, seems less intuitive (e.g. clicking a [Back] rather than e.g. an [OK] button feels as though any changes made might be lost) and the "paramOrder" parameter doesn't seem to function. Regards, Sardanaphalus (talk) 12:32, 24 January 2015 (UTC)