WMDE Technical Wishes/Templates

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

Make working with templates easier[edit]

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.

Projects[edit]

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
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
Improved Color Scheme of Syntax Highlighting
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
Line Numbering
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
for the template namespace
Suggested values for template parameters
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
Finding and inserting templates
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
Removing a template from a page using the VisualEditor
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
VisualEditor template dialog improvements
Complete from the Noun Project (3557299).png  Done
Complete from the Noun Project (3557299).png  Done
TemplateData editor improvements
  Cancelled
  Cancelled

Additional improvements[edit]

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

Notable[edit]

  • <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

Minor[edit]

  • 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

History[edit]

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

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

Identifying the projects[edit]

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.

Feedback[edit]

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