Global templates/Proposed specification, short version/it

I progetti Wikimedia hanno un problema. Il software che utilizzano è un mix di codice che proviene, fondamentalmente, da due fonti:


 * 1) Software principale: MediaWiki e le sue estensioni, che sono sviluppate, distribuite e tradotte centralmente tramite Gerrit, Translatewiki e strumenti correlati.
 * 2) Personalizzazioni locali: una vasta raccolta di strumenti sviluppati localmente su ogni wiki, come template, moduli Lua e gadget.

Per gli utenti e i lettori delle varie wiki, le varie tecnologie si mescolano insieme e sembrano essere un unico prodotto, ma il differente processo di sviluppo delle sue parti crea dei problemi:


 * Le personalizzazioni in locale sono spesso utilissime su varie lingue, ma la loro portabilità fra progetti è complessa e richiede un sacco di tempo.
 * Alcune estensioni come Visual Editor e Content Translation non possono riconoscere queste personalizzazioni locali; per esempio, gli infobox sono una caratteristica principale di molte wiki, ma sono implementate separatamente in ogni versione, al punto che per inserirli tramite Visual Editor serve cliccare sul pulsante “Inserisci template” (non “Inserisci infobox”) e conoscere il nome corretto del template da inserire.
 * Le comunità wiki più piccole sono svantaggiate perché non hanno la capacità di sviluppare template e gadget da sole e non c'è modo di importarle in modo semplice. In particolare le wiki appena create iniziano con un “minimo sindacale” fornito da MediaWiki e le principali estensioni, mentre molte delle funzionalità delle comunità più grandi o più vecchie sono basate su template e moduli, che non possono essere installate automaticamente e devono essere importate manualmente.
 * Le incompatibilità fra software e localizzazioni possono creare dei bug che sono difficili da individuare o prevedere e che possono essere risolti solo su una wiki alla volta. Questo può portare una comunità a rinunciare ad adottare una funzione, a sprecare risorse e a generare frizioni non necessarie fra comunità e sviluppatori - tutte cose che possono essere tranquillamente evitate.
 * Le differenze fra versioni locali rendono più difficili le traduzioni. Risolvere questo problema potrebbe aumentare notevolmente la velocità nella traduzione di contenuti, che si possono rendere accessibili a più ampie parti dell'umanità.

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.

La soluzione proposta:


 * 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 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.

Una proposta più dettagliata su come potrebbe funzionare si trova in questa pagina.