Community Wishlist Survey 2023/Template Picker Improvements
This page is kept for historical interest. Any policies mentioned may be obsolete. Reason: The Template Picker project has now been added to the Community Wishlist as the Template recall and discovery focus area. Please visit the focus area page for the latest information. |
Quickly Add Infobox, Favorite and Related Templates | |
---|---|
An improved way to find and select templates | |
Group: | Community Tech |
Team members: | Joydeep Sengupta, Dayllan Maza, Harumi Monroy, MusikAnimal, Sam Wilson, Sandister Tei, Sammy Tarling |
Lead: | Jack Wheeler - Product Owner |
Overview
Since 2013, volunteers have asked for a more intuitive template selector, exposing popular or most-used templates on the templates dialog. A nonexhaustive search in Phabricator also shows multiple comments and workarounds relating to a similar problem:
- Hebrew Wikipedia has the Templateslist script (https://he.wikipedia.org/wiki/MediaWiki:Templateslist.js)
- https://www.mediawiki.org/wiki/Topic:Vgnhu5y3r8yxipqr
- https://phabricator.wikimedia.org/T136152
Even though templates are used on millions of pages, for example infoboxes are used on approximately 3.6 million pages, users still do not have clear or easy ways to add templates to pages.
As expected, the Community Wishlist Survey has received several requests around improving access to templates over the years. We want to help new and established editors see popular and recently used templates, and also bookmark their favorite templates.
Hence we are grouping all the requests around template selection into a Focus Area, to address them.
Wishes in this problem area
We are implementing 4 wishes together:
- Wish #1: Quickly add infobox – an easier way for newer editors to find and insert common templates such as infoboxes.
- Wish #2: Quickly add favorite and related templates – a way to show recently used templates and favorited templates for frequent template use.
- Wish #3: Select templates by categories – a way to find templates by "type".
- Wish #4: Easy access templates – help users configure the Template dialog to show common and favorite templates.
These wishes ranked 5th and 11th in the Community Wishlist Survey 2023, #74 in 2021, and #85 in 2022, respectively.
In summary, this Focus Area is about template picker improvements.
Focus Area Proposers
Here are the proposers of the individual wishes that make up this focus area:
Problem
As a beginner, one may spend half an hour finding the appropriate template – and if it doesn’t have an easy-to-remember name (what is easy-to-remember is subjective, so it may not be possible to find a name that’s easy to remember for everyone), one needs to spend this half hour the second, third and fifteenth time as well. [favoriting templates] doesn't solve the problem of the first half-hour search, but it does solve the ones of the subsequent ones
— Editor
Current user experience
When an editor clicks on “Templates” from either wikitext or Visual Editor, the template selector is empty. It makes it challenging for a newcomer to name the template they are looking for, and it makes it cumbersome for an admin to search for frequently-used templates.
Current technical challenge
There are two technical implementations of the template selector: in Visual Editor (VE), it is called the Template Dialog (MWTemplateDialog) and in the 2010 wikitext editor, it is called TemplateWizard.
Each implementation has a slightly different user experience, which may introduce complexities for our implementation. Ideally, all users will interact with a single template selector interface.
Both of the template selectors use the same backend to retrieve the metadata about templates: an extension called TemplateData, where the descriptions, parameter types, etc. are all stored and localized. Both selectors are also capable of operating without the other installed (i.e. either VisualEditor or TemplateWizard can be installed on their own, but neither can be installed without TemplateData). This has implications for where we can build a common user interface for template selection — it can’t be part of either of these extensions. It could perhaps be part of TemplateData, but this idea has been rejected in the past. A new extension could be created, or the required widgets/components added to MediaWiki core. (Adding to core isn’t without precedent: there are other widgets there that are not used in core.)
Another optional dependency is on CirrusSearch, which TemplateWizard uses if it’s installed (this doesn’t really change how things work from the user’s point of view though).
TemplateWizard is built pretty much entirely with OOUI. It is likely that we’d want to build the new common UI in Codex, and so we’ll have to decide whether that’s going to be inserting it into the existing system in TemplateWizard, or if it’s going to completely replace it.
Scope of Work
Goals
- Help volunteers find popular and recently-used templates when they open the Template Wizard
- Enable this experience for both Visual Editor and wikitext editors
- Allow users to “favorite” templates they frequently use
Success metrics
- Improve template insertion rate on articles / edits
- Increase the number of volunteers who insert templates
What we're not building
- Help template editors provide additional context or best practices for using templates
- Change how templates work, once embedded on a page
- Change how users fill or edit templates
- Improving template tooling or template READMEs
- Helping admins select and present templates for other users
- Building a template insertion wizard for Mobile Web or Apps
Requirements
- When a contributor clicks the template icon, they should see a pop-up with suggested templates for the particular page, recent, and favorite templates.
- Suggested templates should be based on either the user’s permissions, the page category, or popular templates for the wiki
- When a contributor has successfully made an edit with a template, they should see the template in their recent templates list
- When a contributor is viewing a template in the template selection pop-up, they should see the option to favorite a template
- The user should be able to remove a template from their favorites