WMDE Technical Wishes/Templates

Templates!

Make working with templates easierEdit

How can working with templates become easier? That's the question the Technical Wishes team at Wikimedia Deutschland will focus on for two years. This focus was set by the 2019 Technical Wishes Survey on German Wikipedia.

The team sets out to find solutions for different problems that people on the wikis encounter when they work with templates. Improving individual templates is not part of the project. Instead, it's about finding concepts that generally make it easier to work with templates.

ProjectsEdit

Based on the research results, feedback on the prototypes, interviews with Wikipedians and further input from the communities, we started the first projects in September 2020.

Project on some wikis on all wikis
Bracket Matching
   Done
   Done
Improved Color Scheme of Syntax Highlighting
   Done
   Done
Line Numbering
   Done
   Done
for the template namespace
Suggested values for template parameters
   Done
   Done
Finding and inserting templates
   Done
   Done
Removing a template from a page using the VisualEditor
   Done
   Done
VisualEditor template dialog improvements
   Done
   Done
TemplateData editor improvements
  Cancelled
  Cancelled

Additional improvementsEdit

While working on the projects, our team also took care of a few other issues that we came across:

NotableEdit

  • <templatedata> supports a “paramOrder” where one can specify a preferred order in which a template’s parameters should appear in VisualEditor. Alternatively, the actual order of the parameters in the “params” section can be changed. This is now respected when there is no “paramOrder”. T216808
  • Significantly improved performance of the wikitext syntax highlighter. T270317
  • Significantly improved loading time of the template editor when editing large multi-part templates, e.g. tables where each table row is a template. Note that it might still take up to a minute in extreme situations, but is a lot faster on average. T296335
  • Improved keyboard navigation and screen reader support (e.g. utilizing ARIA standards) in the VisualEditor template dialog. T289653
  • VisualEditor works much better with templates that are supposed to be used with the “subst:” prefix.
  • The TemplateData API works better together with other API modules as “generators”. The responses from both API modules will be merged. Before the data from the generator was not visible. T274907

MinorEdit

  • A few smaller improvements to the wikitext syntax highlighter to make it understand certain edge-cases better. Example: T277767
  • Fixed editor losing focus when switching syntax highlighting on/off. T298488
  • FileImporter now also supports syntax highlighting in the step where one can fixup the file description page before the actual import is started.
  • The interactive TemplateData editor now uses a proper user-friendly widget to manage aliases, instead of a comma-separated string. T285284
  • <templatedata> now validates “aliases” and “suggestedvalues”. Both need to be lists of strings. T297386
  • Made auto-detection of template parameters in the TemplateData API more reliable. Example (one of multiple): T290322
  • A TemplateData documentation table can be sorted by the parameter’s priority: required → suggested → optional → deprecated. This is now done numerically instead of alphabetically.
  • The TemplateData documentation table appears more clean with less non-essential bits, e.g. not sortable when there is nothing to sort.
  • Fixed the TemplateData editor accidentally adding empty “autovalue” fields. T295074

HistoryEdit

  •   Done Research of problem areas, presented on Meta and dewiki
  •   Done First ideas for solutions are presented and discussed on Meta and dewiki
  •   Done Ideas are revised, and tested in usability tests
  •   Done September 2020: Start of development work

For the status of the individual projects, see the table above.

Identifying the projectsEdit

Over several months, an interdisciplinary team did intensive research into potential problems and improvement requests associated with templates, as seen from both a technical point of view and from that of a user. In the box below you can see a summary of that research:

Following this first phase, further research was done to determine the improvements that could be implemented. We examined a number of improvement ideas for their feasibility, effort, potential value and any possible disadvantages. The goal was to have improvements for both template users and for template creators & maintainers. Based on that examination, we created basic prototypes to share and further discuss possible projects, which you can see in the following box:

Based on the feedback we received on the foregoing, as well as all our previous investigations and discussions, we improved on the ideas and evaluated them as to

  • their impact (how beneficial are they?),
  • the effort required (how hard would they be to implement?), and
  • risks (are there negative side effects? might the project fail or be blocked by other teams?).

For those projects we deemed most valuable and doable for our team, we conducted further investigations, and developed more elaborate prototypes. The idea of a standalone Template finder, for instance, was dismissed; instead, ideas for better findability were integrated directly into the template editors. These high-fidelity prototypes were tested in usability tests with newcomers, casual editors, power users, template users and template creators & maintainers, to make sure our contributions would serve all types of users. We also made sure to have testers with diverse backgrounds (home wiki, including RTL wikis, age, gender, color blindness). The tests showed that some project ideas would create confusion or additional problems, or just wouldn’t help as much as we thought. Those ideas were dismissed or significantly revised. Other ideas generated a lot of excitement and were further improved by constructive feedback from the testers. Those are the ideas that will now be implemented.

FeedbackEdit

As always, feedback is very welcome. The best place for it is the talk page.