Global templates/Proposed specification, short version/he

במיזמי ויקימדיה יש בעיה. התוכנה שהם רצים עליה מגיעה משני מקורות:


 * 1) תוכנה מותקנת (deployed): תוכנת מדיה־ויקי והרחבות שלה, שמפותחות, מותקנות, ומתורגמות באופן מרוכז באמצעות Gerrit‏, translatewiki, וכלים קשורים אחרים.
 * 2) התאמות מקומיות: אוסף גדול של כלים שמפותח מקומית בכל אתר ויקי: תבנית, יחידות לואה, וגאדג׳טים.

עבור העורכים והקוראים של האתרים, הטכנולוגיות השונות מתערבבות יחד ונראות כמו מוצר אחד, אולם תהליכי פיתוח התוכנה השונים מציבים אתגרים:


 * תוכנות כמו העורך החזותי ותרגום תוכן אינן יכולות להיות מודעות להתאמות מקומיות כאלו. למשל, תיבות מידע (infoboxes) הן תכונה בולטת באתרי ויקי רבים, אך הן ממומשות בנפרד בכל אחד מהם, ולכן בעורך החזותי לא יכול להיות כפתור "הוספת תיבת מידע", אלא רק כפתור "הוספת תבנית", וכל עורך צריך לדעת את שם התבנית ולהקליד אותו.
 * אתרי ויקי עם קהילת עורכים קטנה מופלים לרעה משום שחסרה להם המומחיות שדרושה לפיתוח תבניות וגאדג׳טים, ואין דרך קלה להעביר אותם מאתר לאתר. בפרט, אתרי ויקי חדשים מתחילים מהתקנה בסיסית מאוד של תוכנת מדיה ויקי והרחבות, בעוד שאפשרויות רבות שקיימות באתרים הוותיקים והגדולים מסופקות על־ידי תבניות ויחידות, שלא ניתן להתקין במהירות ושצריך לייבא באופן ידני.
 * Incompatibilities between deployed software and local customizations create 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, leading to waste of development resources and friction between the software developers and the editors community. All of this could be avoided.
 * The local customizations can often be useful in many different languages, but porting them between wikis and languages is extremely hard and time-consuming.
 * The differences between the local customizations make articles harder to translate. Resolving this problem can dramatically increase the speed in which content is translated and made accessible to larger parts of humanity.

Despite being very large, these problems are often overlooked. 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 developers and managers in the WMF often make this mistake.

The proposed solution:


 * 1) Allow making some templates and modules global, similarly to images on Commons, global 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 editing community must keep its autonomy to override the templates’ functionality and the information they present.
 * 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 and immediately usable after publishing.
 * 5) Policies about maintenance, sharing, protection, and deletion of templates and modules will be developed by the editing community.

Making templates and modules global 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.

A much more detailed proposal for how this will work is at User:Amire80/Global templates draft spec.