Global templates/Proposed specification, short version/id

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


 * 1) Perangkat lunak yang terpasang: Kode inti MediaWiki dan ekstensinya, yang dikembangkan, disebarkan, dan diinternasionalkan secara terpusat melalui, , dan peralatan terkait.
 * 2) Pengubahsuaian lokal: Sejumlah besar 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 menyalin kode-kode tersebut dari satu wiki ke wiki lainnya dan dari satu bahasa ke bahasa lainnya merupakan hal yang sulit dan menguras waktu.
 * Fitur perangkat lunak seperti dan  tidak dapat mengenali pengubahsuaian lokal semacam itu. Contohnya kotak info adalah salah satu templat utama di berbagai wiki, tapi diimplementasikan terpisah di masing-masing wiki, sehingga Visual Editor tidak dapat memiliki tombol "Masukkan kotak info", tapi hanya tombol  , dan setiap penyunting harus tahu nama templat kotak infonya dan mengetikkannya.
 * Wiki dengan komunitas yang lebih kecil dirugikan karena mereka tidak memiliki keahlian untuk mengembangkan templat dan gajet, dan tidak ada cara untuk memindahkannya dengan mudah. Wiki baru pada khususnya, dimulai dengan instalasi MediaWiki dan ekstensi yang sangat sederhana, sedangkan banyak fungsi wiki yang lebih dahulu ada dan lebih besar sebenarnya disediakan oleh templat dan modul, yang tidak dapat dipasang dengan cepat dan harus diimpor secara manual.
 * Ketidakcocokan antara perangkat lunak yang digunakan dan pengubahsuaian lokal menyebabkan kekutu yang sulit diantisipasi dan dideteksi. Memperbaikinya harus dilakukan di setiap situs wiki secara terpisah. Ini bahkan dapat menyebabkan penolakan beberapa fitur oleh komunitas, pemborosan sumber daya pengembangan, dan gesekan antara pengembang perangkat lunak dan penyunting. Semua ini bisa dihindari.
 * Perbedaan antara pengubahsuaian lokal membuat artikel lebih sulit untuk diterjemahkan. Menyelesaikan masalah ini akan secara dramatis meningkatkan kecepatan penerjemahkan konten dan berbagai informasi yang berguna dapat semakin cepat diakses oleh sebagian besar umat manusia.

Meskipun ini merupakan masalah yang sangat besar, namun sering diabaikan. Perangkat lunak dari kelompok yang berbeda sering dipadukan dengan mulus ke dalam antarmuka pengguna situs. Orang yang terutama menyunting dalam satu bahasa atau proyek mungkin tidak menyadari bahwa fitur tertentu hanya tersedia di proyek itu, dan berpikir bahwa fitur itu tersedia di mana-mana. Bahkan perancang dan pengembang perangkat lunak yang berpengalaman pun sering melakukan kesalahan ini.

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.