Global templates/Proposed specification, short version/id

Proyek Wikimedia punya masalah. Perangkat lunak yang ada di dalam mereka merupakan campuran dari kode-kode yang berasal dari dua sumber:


 * 1) Perangkat lunak yang disebarkan: Inti MediaWiki dan ekstensinya, yang dikembangkan, disebarkan, dan diinternasionalkan secara terpusat melalui, , dan peralatan terkait.
 * 2) Pengubahsuaian lokal: Kumpulan peralatan wiki yang dikembangkan secara lokal di masing-masing situs wiki:, , dan.

Bagi penyunting dan pembaca situs, teknologi yang berbeda tersebut tampil bersama seakan-akan merupakan satu produk, tetapi proses pengembangan perangkat lunak yang berbeda juga menyebabkan beberapa tantangan:


 * Pengubahsuaian lokal bisa jadi berguna dalam banyak bahasa, tetapi memortakan mereka dari wiki ke wiki dan bahasa ke bahasa merupakan hal yang sulit dan menguras waktu.
 * Software features such as and  cannot be aware of such local customizations. For example, infoboxes are a notable feature of many wikis, but they are implemented separately in each of them, so Visual Editor cannot have an “Insert infobox” button, but only an “  ” button, and each editor has to know the name of the template and type it.
 * Wikis with smaller communities are disadvantaged because they don’t have the expertise to develop templates and gadgets, and there is no way to port them easily. New wikis, in particular, start with a very bare-bones installation of MediaWiki and extensions, whereas a lot of the older and larger sites’ functionality is actually provided by templates and modules, which cannot be quickly installed and have to be imported manually.
 * Incompatibilities between deployed software and local customizations cause bugs that are hard to anticipate and detect. Fixing them must be done on each wiki site separately. This can even lead to the rejection of some features by the community, waste of development resources and friction between the software developers and the editors. All of this could be avoided.
 * The differences between the local customizations make articles harder to translate. Resolving this problem will dramatically increase the speed in which content is translated and made accessible to larger parts of humanity.

Despite being very large, these problems are overlooked most of the time. Software from the different groups is often blended seamlessly into the site’s user interface. People who primarily edit in one language or project may not realize that a certain feature is only available on that project, and think that it’s available everywhere. Even experienced software designers and developers often make this mistake.

The proposed solution:


 * 1) Allow making some templates and modules global, similarly to images on Commons, global personal JS and CSS pages, global user pages, etc. (Gadgets should be global as well, but this is already possible in practice using hacks such as those used by HotCat. It’s not perfect, but it’s much less problematic than the issue with templates. Gadgets are therefore not in the scope of this proposal.)
 * 2) Each editors community will keep its independence to maintain local templates and to make local changes to global templates’ functionality and the information they present to readers.
 * 3) The user interface strings of the global templates must be translatable in a translatewiki-like interface, similarly to extensions.
 * 4) The templates and modules will still be editable as wiki pages and immediately usable in all wikis after publishing.
 * 5) Policies about maintenance, sharing, protection, and deletion of templates and modules will be developed by the editors community.

Building the infrastructure for global templates and modules is challenging, however the core platform developers have said multiple times that it’s possible, and mostly requires product management and dedication. It has to be done, because the lack of global templates is the biggest usability challenge for all stakeholders: developers, new editors, veteran editors, and translators, in all languages and in all wiki projects.

If this sounds interesting, and you want to know more, please read the full detailed.

For discussion about this proposal, see the page and the talk page of the full proposal.