WMDE Technical Wishes/Templates/Research Results

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Examples of identified problem areas

Primary target group: people working on templates[edit]

Problems with syntax[edit]

  • Space characters and line breaks in the template source text, unlike in most programming languages, almost always have an effect on the template integration and can therefore hardly be used to structure the template source text. An indentation of template code is therefore not possible (without tricks) and even a single line break can often lead to undesirable results
  • Code can only be commented on via HTML comments - these are integrated and thus appear in the HTML source code of the articles
  • The syntax uses numerous curly braces. This makes it difficult to see what belongs together and if anything is missing
  • Since there are no variables or functions, template code often has to be duplicated.
  • White spaces are treated differently for named and unnamed parameters.
  • Parameter names can contain any characters. With unnamed parameters, this can lead to that part of the value being identified as the parameter name.

Insufficient developer tools[edit]

  • Editing complex templates is a form of programming. However, most of the tools usually available for programming are missing.
  • Version comparisons are often unusable for templates.

Maintenance of existing templates[edit]

  • It is difficult to understand templates when their functionality is spread across many subtemplates.
  • There are no tools to analyze how existing templates are used.
  • Widely used templates are protected from editing, as incorrect changes would be fatal. However, this makes it difficult to improve these templates.
  • It is not possible to sufficiently check the effects of changes to templates.

Primary target group: users of templates[edit]

Overview and findability of templates[edit]

  • Users often do not know which templates exist or what their names are


  • How to find the right documentation page for the template is not clear for new members.
  • To see the documentation of a template, you have to leave the page you are currently editing.
  • Many templates have no documentation.

Learn how to use templates[edit]

  • You need to know what parameters a template has, how they are written, and what input format they expect.
  • Often there are inconsistencies between templates and between wikis.

Using Templates in the Visual Editor[edit]

  • The content of templates such as info boxes cannot be edited directly, but only in a separate window.
  • If you often use the same templates, you have to type in their names again and again.
  • You cannot format parameters without using Wikitext syntax.
  • Nested templates are not supported.
  • There are no selection lists of allowed values (enumeration).
  • There is no convenient interface for selecting a date (date selector).
  • Fields that should normally contain the current date are not prefilled.
  • The Visual Editor only knows mandatory and optional parameters, but often there are restrictions such as "one of the two parameters X and Y must be used".
  • The Visual Editor does not support integration with "subst".

Social values and norms that have formed around the use of templates[edit]

  • The Visual Editor adds empty parameters even if this violates the convention.
  • Rules for standardizing templates do not find a majority.

Further problems[edit]

  • Templates make the source code more confusing.
  • Some templates slow down the rendering of pages.
  • #ifexist and similar causes that pages in some special pages incorrectly appear as links
  • If you load an old version of an article, it does not display the former versions of the used templates, but the current one. Thus it is not possible to be sure what the article looked like in the past.
  • For each wiki, the "standard" templates must either be rewritten or imported from another wiki. Both lead to inconsistencies between the different wikis over time.