Global templates/Proposed specification, short version/pt-br

Os projetos Wikimedia tem um problema. O software neles é uma mistura de códigos que vêm de duas fontes:


 * 1) Softwares implantados: O software MediaWiki core e suas extensões, que são desenvolvidas, implantadas e centralmente internacionalizadas via Gerrit, translatewiki e ferramentas relacionadas.
 * 2) Personalizações locais: Uma grande coleção de ferramentas on-wiki que são desenvolvidas localmente em cada wiki: predefinições (templates), módulos Lua e gadgets.

Para os editores e leitores dos sites, as diferentes tecnologias são entrelaçadas e aparecem como um produto. Contudo, os diferens processos de desenvolvimento dos softwares apresentam alguns desafios:


 * As personalizações locais podem ser úteis para diversas línguas, mas é muito difícil e demorado migrá-las de um projeto para outro.
 * Os softwares como o Editor visual e o Tradutor de conteúdos não têm acesso a essas personalizações locais. Por exemplo, infocaixas ("infoboxes") são uma característica notável de várias wikis, mas são implementadas separadamente em cada. Dessa forma, o editor visual não pode ter um botão de "insira infobox", somente um botão de "insira predefinição". Cabe então ao editor saber o nome da predefinição e digitá-la.
 * Wikis com comunidades menores estão em desvantagem por que não tem tantos indivíduos com expertise para desenvolver predefinições e gadgets, e portar entre wikis é complicado. Novas wikis, particularmente, começam com instalações bem cruas do MediaWiki e suas extensões, enquanto projetos mais antigos tem uma gama de funcionalidades possiblitadas por predefinições e módulos.
 * 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 Global templates proposal.

For discussion about this proposal, see the page Global templates/Discuss and the talk page of the full proposal.