Noví vývojáři/Úvod do technického ekosystému Wikimedie
Tato stránka poskytuje přehled softwaru a infrastruktury Wikimedie pro nové technické přispěvatele. Jeho cílem je pomoci vývojářům porozumět hlavním oblastem, kde můžete uplatnit své technické dovednosti, abyste pomohli podpořit a rozvíjet Hnutí.
Základní principy a technologie
Open source
Technický ekosystém Wikimedie se řídí principy bezplatného open source software (FLOSS). Přispěvatelé z celého světa dobrovolně věnují svůj čas údržbě a rozšiřování technologie na projektech Wikimedie. To znamená, že technický ekosystém Wikimedie se skládá z mnoha jedinečných projektů s různými přispívajícími pokyny, návrhovými vzory, hostitelskými místy a procesy kontroly kódu.
Hodnoty open source, jako je sdílené vlastnictví a silné závazky týkající se ochrany osobních údajů, jsou ústředním bodem technické infrastruktury, softwaru a služeb Wikimedie. Například:
- Pro kontrolu verzí a kontrolu kódu používá Wikimedia Foundation (WMF) Git a Gerrit. Git je bezplatný a open source distribuovaný systém správy verzí a Gerrit je bezplatný webový nástroj pro kolaborativní kontrolu kódu, který se integruje s Git.
- Wikimedia Cloud Services (WMCS) poskytuje infrastrukturu cloud computingu, sdílený hosting (platforma jako služba) a datové služby pro přispěvatele do softwarových projektů Wikimedie. Tyto služby můžete použít k hostování svých softwarových nástrojů pro hnutí Wikimedi, a to zdarma, namísto používání proprietárních, placených nebo neopen source služeb.
Kromě poskytování nástrojů a služeb pro technické přispěvatele WMF spravuje základní infrastrukturu, jako jsou datová centra, vyhledávání, sítě a globální směrování provozu. Nemusíte se o nich učit, abyste mohli přispívat do wiki projektů, ale měli byste vědět o základním softwaru, který pohání Wikipedii a další wikiny: MediaWiki.
MediaWiki
Projekty Wikimedie, včetně Wikipedie, běží na softwarové platformě MediaWiki. MediaWiki je bezplatný a otevřený software vytvořený speciálně pro shromažďování a organizování svobodných a otevřených znalostí. Je vícejazyčný, rozšiřitelný, přizpůsobitelný a spolehlivý. MediaWiki umožňuje uživatelům na celém světě upravovat, organizovat, udržovat a spolupracovat na wikinách. Spravuje zobrazení obsahu, jako je text, fotografie, formátování a revize. MediaWiki je více než jen systém pro správu obsahu: Poskytuje také nástroje pro řešení spamu a vandalismu a další funkce, které podporují komunitní správu volně znovu použitelných znalostí na otevřené platformě.
-
Zajímavý fakt: NASA používá MediaWiki jako svůj wiki software.
Klíčové oblasti, kam mohou vývojáři přispívat
Vývoj MediaWiki, aplikací a rozšíření
Jádro MediaWiki a rozšíření
Software MediaWiki je vyvíjen ve spolupráci lidí z celého světa. Technická komunita Wikimedie přidala do MediaWiki mnoho klíčových funkcí a vybudovala rozsáhlý ekosystém rozšíření základního softwaru. Vzhledem ke své složitosti může být přispívání do MediaWiki náročnější než jiné typy technických příspěvků. Jako nový přispěvatel se zaměřte na funkce a chyby, které se dotýkají pouze malé oblasti kódu. Zde můžete najít dobré první úkoly pro jádro MediaWiki. Vyhněte se vytváření nových vzhledů a rozšíření MediaWiki: Každé nové rozšíření zvyšuje celkovou zátěž softwaru na údržbu a může blokovat spouštění nových důležitých funkcí. Místo toho se podílejte na práci na jednom z mnoha existujících rozšíření.
Rozšíření Translate umožňuje lokalizaci MediaWiki a překlad všech druhů textu.
Podporuje webové překlady, korektury a spolupráci mezi překladateli po celém světě a zároveň co nejjednodušší integraci back-endu se zdrojovým kódem.
Co byste měli vědět, než začnete:
|
Chcete-li se dozvědět více, navštivte Jak se stát vývojářem MediaWiki .
Mobilní aplikace Wikimedie
Mobilní aplikace rozšiřují dosah obsahu Wikimedie tím, že umožňují uživatelům komunikovat s Wikimedií bez použití prohlížeče. Existují aplikace pro platformy Android, iOS a KaiOS, aplikace pro různé projekty Wikimedie, jako je Commons, Wikipedie a Wikislovník a aplikace pro aktivity, jako je čtení, přispívání a další. Mnoho aplikací má živé vývojářské komunity a vítá nové přispěvatele.
Kiwix je offline čtečka – zpřístupňuje Wikipedii lidem bez přístupu k internetu.
Poskytuje obsah ve více než 100 jazycích z Wikipedie, Wikiquote, Wiktionary a dalších online zdrojů.
Vývoj Kiwix využívá Java/Kotlin (Android), Swift (iOS), Qt (desktop), NodeJS (mediawiki offliner) a C++.
-
Leták Kiwix
-
Snímek obrazovky Kiwix na iOS
Chcete-li se dozvědět více, navštivte Aplikace Wikimedie .
Přizpůsobení MediaWiki prostřednictvím vývoje na wiki
Šablony a moduly
Šablony umožňují zobrazení jednoho obsahu na více wiki stránkách ("transkluze"). Mnoho wikin se silně spoléhá na šablony: Jsou jich tisíce, používají se téměř na každé stránce a jsou nedílnou součástí funkcí wiki. Šablonám můžete předat parametry a přizpůsobit je tak, jak je s obsahem v různých kontextech nakládáno.
Šablona Blockquote poskytuje formátování pro blokové citace a zahrnuje předformátované parametry přiřazení pro autora a zdroj citace.
To umožňuje editorům používat značky wikitextu ke snadnému a konzistentnímu stylu zobrazování blokových uvozovek na stránkách wiki.
K úpravě nebo vytvoření šablony nepotřebujete účet vývojáře a jsou napsány ve wikitextu. Díky tomu jsou šablony snadným způsobem, jak začít s přizpůsobením chování wiki.
Moduly jsou podobné šablonám, ale místo toho, aby byly napsány ve wikitextu, používají programovací jazyk Lua. Zatímco šablony jsou součástí základní aplikace MediaWiki, podpora modulů je implementována rozšířením nazvaným Scribunto .
Modul Routemap podporuje speciální, komplexní, vlastní jazyk pro zobrazování železničních map. Používá se v tisících článků o železnicích ve více jazycích. Použití Lua umožňuje tomuto modulu nahradit starší šablony map tras rychlejší a mobilnější implementací.
Co byste měli vědět, než začnete:
|
Chcete-li se dozvědět více o šablonách, navštivte Nápověda:Šablony . Chcete-li se dozvědět více o modulech ao tom, jak se Lua používá na MediaWiki, navštivte příručku Scribunto Lua.
Uživatelské skripty a miniaplikace
MediaWiki podporuje přizpůsobení front-endu nebo vývoj "on-wiki", aby se zlepšila základní funkčnost softwaru. Uživatelské skripty jsou Javascript a nebo CSS, které poskytují další funkce nad MediaWiki. Kód žije na wiki a je vkládán ze strany klienta na MediaWiki prostřednictvím uživatelských preferencí. Můžete upravit svůj místní JavaScript a CSS, abyste změnili vzhled a chování svého vlastního rozhraní. Jednotliví uživatelé mohou přidávat funkce pro sebe, pokud dodržují očekávání a pokyny týkající se toho. Pokud vytvoříte něco, co mohou používat ostatní, můžete své skripty neformálně sdílet nebo ve spolupráci s komunitou wiki prozkoumat zpřístupnění vašich přizpůsobení ostatním uživatelům a projektům jako "gadget".
Tento uživatelský skript vypočítá dobu čtení článku a zobrazí jej na stránce.
var numWords = $("#mw-content-text > div").text().split(" ").length;
var headerWords = $("h1").text().split(" ").length;
var totalWords = numWords + headerWords;
var timeInMinutes = totalWords / 200;
var header = $("h1").text();
$("h1").text(header + " (it will take you " + timeInMinutes + " mins to read this article)");
Gadgets jsou uživatelsky vytvořená přizpůsobení, která jsou k dispozici pro instalaci na wiki prostřednictvím Gadgets MediaWiki rozšíření. Mnoho gadgetů vzniklo jako uživatelské skripty, které se staly široce používanými na jejich domácí wiki, a administrátoři chtěli, aby je každý snáze našel a použil. Správci mohou nakonfigurovat, které miniaplikace jsou ve výchozím nastavení dostupné a povolené pro celý web MediaWiki nebo vzhled.
HotCat pomáhá uživatelům snadno odstraňovat, měnit a přidávat kategorie na stránky Wikipedie.
Obsahuje seznam návrhů, který navrhuje existující kategorie pro automatické dokončování.
Tento gadget nasazený na perské Wikipedii pomáhá moderátorům obsahu opravit arabská písmena, gramatiku, čísla, adresy URL, strukturu článků a další.
Co byste měli vědět, než začnete:
|
Chcete-li se dozvědět více o uživatelských skriptech a miniaplikacích, navštivte Gadget kitchen .
Vytvářejte nástroje a roboty, které pomáhají projektům Wikimedie
API MediaWiki poskytují přímý přístup k datům obsaženým v databázi MediaWiki. To zahrnuje obsah wiki, metadata, analytická data a další. Tato rozhraní API můžete použít k vytváření aplikací, které přispívají obsahem nebo novými funkcemi do ekosystému Wikimedie. Moduly API poskytují programový přístup k mnoha stejným funkcím, které poskytuje webové rozhraní MediaWiki.
Roboti
Bots jsou automatické programy, které pomáhají wiki projektům tím, že dělají zásadní, ale opakující se úkoly. Roboti šetří lidské úsilí tím, že opravují chybějící nebo nadbytečné mezery, navrhují články nováčkům, opravují nefunkční odkazy a další. Automatizace robotů podporuje dobrovolníky Wikimedie tím, že jim umožňuje trávit více času úkoly, které vyžadují lidskou inteligenci, jako je psaní článků, hledání zdrojů, ověřování faktů a syntéza různých úhlů pohledu.
Rovněž doplňuje referenční šablony a v případě potřeby přidává odkazy na zdroje.
Tento robot je provozován jako služba internetového archivu ve spolupráci s komunitou Wikimedie.
Od října 2022 běží IABot na více než 150 wikinách Wikimedie.
IABot má také rozhraní založené na prohlížeči (webovou aplikaci), které poskytuje snadný přístup k některým službám a konfiguraci robota.
Roboti mohou žádat o stránky a odesílat úpravy na wikiny, stejně jako lidští uživatelé dělají stejné úkoly ve webovém prohlížeči. Protože roboti přistupují ke stránkám stejným způsobem jako lidé, mohou se dostat do konfliktů úprav, mít časové limity stránky nebo narazit na jiné neočekávané komplikace při vyžádání stránek nebo provádění úprav. Vzhledem k tomu, že roboti obecně vykonávají práci s velkým objemem, měli byste tyto situace zvážit při psaní robota.
Co byste měli vědět, než začnete:
|
Chcete-li se dozvědět více o robotech, navštivte Manual:Creating a bot .
Nástroje
Nástroje jsou softwarové aplikace, které pomáhají lidem pracujícím na projektech Wikimedie. Nástroje dokážou provádět nejrůznější úkoly, například pomáhají editorům objevovat obsah ke zlepšení, zjednodušují plánování úprav, vizualizují obsah wiki, pomáhají bojovat proti vandalismu a mnoho dalšího.
CropTool je nástroj MediaWiki pro ořezávání obrázků na Wikimedia Commons a dalších stránkách Wikimedie.
Podporuje soubory JPEG, PNG, TIFF a (animované) GIF a může také extrahovat jednotlivé stránky ze souborů DJVU a PDF jako JPEG pro oříznutí.
MediaWiki Action API vám poskytuje programový přístup k obsahu na libovolné wiki Wikimedie. Pomocí Action API můžete vyhledávat a zobrazovat wiki stránky, získávat mediální soubory, upravovat stránky a spravovat wikiny. Klientské knihovny implementující MediaWiki API jsou dostupné v mnoha jazycích, včetně Pythonu a JavaScriptu.
Nástroj Duplicity vybere náhodný článek wiki, který nemá přidruženou položku Wikidata, a nabízí některé možné shody na Wikidatech.
Usnadňuje přidávání strukturovaných dat k zachycení témat, konceptů nebo entit probíraných v článku.
Chcete-li prozkoumat další nástroje Wikimedie, navštivte Toolhub. Or, learn about hosting your tools and bots for free on Toolforge.
Co byste měli vědět, než začnete:
|
Připojte se k technické komunitě Wikimedie
Skvělý způsob, jak najít způsoby, jak přispět, je připojit se k technické komunitě. Můžete se setkávat s lidmi a diskutovat o vývojové práci na různých komunikačních kanálech a na akcích jako Hackathony. Wikimedia Foundation také nabízí outreach programy pro mentorování nových vývojářů.
Začněte jako nový přispěvatel
- Navštivte stránku nových vývojářů, kde se dozvíte více o tom, jak začít s vývojem a přispívat do open source Wikimedie.
- Použijte Developer Portal k nalezení zdrojů a výukových programů pro vaši oblast zájmu.