Rozšíření:CentralNotice
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Speciální stránka, API |
| Popis | Adds a central sitenotice |
| Autoři | Andrew Russell Green, Matthew Walker, Adam Roses Wight Formerly: Brooke Vibber, Tomasz Finc, Trevor Parscal, Ryan Kaldari |
| Nejnovější verze | 2.6.1 (continuous updates) |
| Zásady kompatibility | Vydání snímků současně s MediaWiki. Hlavní vývojová větev není zpětně kompatibilní. |
| Změny v databázi | Ano |
| Virtuální doména | virtual-centralnotice |
|
|
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Příklad | Special:CentralNotice on Meta (read-only) |
| Přeložte rozšíření CentralNotice, používá-li lokalizaci z translatewiki.net | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření CentralNotice dodává oznámení (obvykle ve formě bannerů) na wikiny Wikimedie. Tým Fundraising jej ve velké míře používá k získávání darů a pro oznámení zájmu komunit a uživatelů Wikimedie. CentralNotice může cílit oznámení podle země, jazyka, projektu, zařízení a přihlášeného stavu.
Tato stránka obsahuje informace pro vývojáře CentralNotice a administrátory wiki, kteří si chtějí nainstalovat CentralNotice na své vlastní stránky. Chcete-li se dozvědět, jak vytvářet a konfigurovat kampaně CentralNotice, podívejte se na článek 1. část o 2. části. Informace o nastavení CentralNotice v clusteru Wikimedia Foundation naleznete v článku CentralNotice na Wikitech.
CentralNotice umožňuje centrální distribuci oznámení na mnoho wikin (nazývaných wikiny přihlášené k odběru) z centrální wiki (infrastruktura wiki). Pokud potřebujete zveřejňovat zprávy pouze na jedné wiki, zvažte použití hodnoty Sitenotice.
Instalace
- Nejprve nainstalujte Rozšíření:EventLogging
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
CentralNoticeve vaší složceextensions/.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralNotice
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'CentralNotice' );
- Spusťte aktualizační skript, který automaticky provede všechny nezbytné databázové změny, jaké rozšíření vyžaduje.
- Ve výchozím nastavení je vyhledávání GeoIP zakázáno. Pokud je však soubor cookie
Geopředem vyplněn, použije se jeho hodnota. Pro lokální vývoj můžete povolit implementaci na straně klienta, která používá https://freegeoip.net, následujícím způsobem. Více informací naleznete v části #VyhledáváníGeoIP.$wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';
Dokončeno – Přejděte na stránku Special:Versionvaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Infrastruktura wiki
Rozšíření CentralNotice ve výchozím nastavení povoluje jak infrastrukturní, tak i odběratelské role, což postačuje pro většinu vývojových úloh a zahrnuje pouze jednu wiki.
Členové skupiny sysop mají právo spravovat kampaně a bannery CentralNotice.
Pokud jsou potřeba další skupiny, přiřaďte jim oprávnění centralnotice-admin a editinterface.
Některé funkce CentralNotice se volitelně integrují s programem Překlady. Abyste tyto funkce mohli plně využívat, budete si ho muset také nainstalovat.
Wiki stránky pouze pro předplatitele
Upravit LocalSettings.php a nastavit...
$wgNoticeInfrastructurenafalse$wgCentralSelectedBannerDispatcherna URL adresu Special:BannerLoader na centrální wiki, například:https://meta.wikimedia.org/w/index.php/Special:BannerLoader;- Buď
$wgCentralDBnamek názvu databáze infrastrukturní wiki, nebo$wgCentralNoticeApiUrlk koncovému bodu API infrastrukturní wiki a $wgCentralBannerRecorderna URL adresu Special:RecordImpression na centrální wiki. Například:https://meta.wikimedia.org/w/index.php/Special:RecordImpression.
Veškerý kód, který běží na předplatitelských wikin, by měl být testován kouřovou metodou s kryptoměnou MobileFrontend, aby se zajistilo, že bude fungovat i na mobilní verzi webu.
Získání pomoci
Tým WMF Fundraising tech je správcem CentralNotice. Máte-li dotazy ohledně instalace, hlášení o chybách nebo používání CentralNotice, pošlete e-mail na mailing list wikitech-l@lists.wikimedia.org nebo se k nám připojte na IRC kanálu #wikimedia-fundraising připojit se.
Oprávnění
centralnotice-admin– k úpravě kampaní a bannerů je vyžadováno oprávnění. Relevantní pouze pro wikiny s infrastrukturou (viz také bugzilla:26377).editinterface– nutné upravit obsah banneru.
Návrhové koncepty
Z pohledu uživatele jsou objekty CentralNotice na vysoké úrovni campaigns (neboli oznámení) a banners (neboli šablony). Tyto jsou ovlivněny koncepty selectors a allocation.
- Banner — jeden blok přeložitelné části html/wikitext/css/javascript, která se zobrazí v horní části stránek Příručka:$wgContentNamespaces. Na bannery se vztahuje stav uživatele, typ zařízení a jazyk uživatelského rozhraní selectors.
- Bannery lze seskupit podle hodnoty category. Všechny bannery v kategorii sdílejí soubory cookie na straně uživatele, například soubor cookie pro skrytí, který se nastaví, když uživatel klikne na tlačítko pro zavření banneru.
- Campaign – kolekce bannerů. Selektory projektu, země a jazyka obsahu platí na úrovni kampaně. Systém umožňuje spustit libovolný počet aktivních kampaní současně a dynamicky vypočítává allocation za každý banner v aktivní kampani. Kampaně jsou definovány jako aktivní, pokud je čas centrální wiki větší než čas zahájení kampaně, menší než čas ukončení kampaně a kampaň je označena jako povolená.
- Bannerům v kampani jsou přiřazeny bucket a weight. Dalším selektorem jsou bannery (buckety) a jejich váha ovlivňuje relativní rozmístění bannerů v rámci kampaně.
- V CentralNotice existují čtyři úrovně priority. Kampaně s vyšší prioritou získají větší počet zobrazení stránek.
- Kampaně mohou být zamčené, což zabrání jejich úpravě a smazání. Ale ne bannerů uvnitř kampaně.
- Selector – jakákoli vlastnost, kterou lze filtrovat pro účely alokace. To například umožňuje zobrazovat různé bannery přihlášeným a nepřihlášeným uživatelům v Argentině, kteří prohlížejí Wikipedii v angličtině.
- Vektor výběru je kompletní sada selektorů, které uživatel předloží centrální wiki při požadavku na banner.
- Allocation – Šance, že se uživateli zobrazí banner pod daným vektorem výběru.
Dokumenty k návrhu
Vyhledávání GeoIP
Ve výchozím nastavení nemá CentralNotice nakonfigurovanou žádnou službu vyhledávání GeoIP na straně klienta.
Toto je optimalizováno pro produkční konfiguraci Wikimedia Foundation, kde Varnish naplňuje soubor cookie Geo ze strany serveru.
(Podívejte se na stránku wikitech:Geolocation.)
CentralNotice můžete nakonfigurovat tak, aby na straně klienta používal vlastní zdroj dat, a to pomocí konfigurační proměnné CentralNoticeGeoIPBackgroundLookupModule.
Tato proměnná očekává název modulu ResourceLoader, který exportuje funkci.
Funkce bude volána bez parametrů a měla by vrátit Promise, který se vyřeší s objektem obsahujícím následující vlastnosti:
- země: řetězec - dvoupísmenný kód země.
- oblast: řádek - specifické pro provádění.
- město: řetěz - jméno města.
- lat: číslo.
- lon: číslo.
Použití
Úplný návod k použití naleznete na meta:Help:CentralNotice.
Nový banner
- Načíst Special:CentralNoticeBanners
- Klikněte na odkaz pro přidání banneru v dolní části stránky (musíte být přihlášeni jako administrátor).
- Zadejte název a nezpracovaný HTML kód pro daný banner.
- Pokud bude tento banner přeložen, vložte jakýkoli text k překladu s trojitými závorkami - {{{FOO}}}.
- Odeslat
(ÚKOL: přesunout a rozbalit tento úryvek)
- Každý banner má svou definici uloženou v MediaWiki:Centralnotice-template-<name>
- Všechny jeho zprávy jsou uloženy pod bannerem definovaným v MediaWiki:Centralnotice-template-<name>-<message>/<language_code>
Nová kampaň
- Načíst Special:CentralNotice
- Přidejte kampaň s daným časem zahájení v dolní části stránky, zanechte komentář a klikněte na tlačítko Odeslat.
- Pokud je tato kampaň spuštěna pouze na konkrétní wiki a nebo jazyce, vyberte ji z rozbalovacích nabídek.
- Klikněte na novou kampaň a přidejte bannery, které chcete v rámci této spuštěné kampaně, a jejich příslušné váhy.
- Pokud vše vypadá v pořádku, nastavte tuto kampaň na povolenou a zobrazí se v odpovídajícím čase.
Přepsání výběru
Přidejte kterýkoli z následujících parametrů URL pro zobrazení náhledu konkrétního banneru, potlačení "dietních" schémat nebo ladění pseudonáhodného výběru bannerů.
- banner
- Banner můžete otestovat přímo na jakékoli wiki přidáním
?banner=<bannername>na konec URL adresy.
- randomcampaign
- Desetinné číslo mezi 0 a 1, které se použije jako "náhodné" seed pro výběr kampaně.
- randombanner
- Desetinné číslo mezi 0 a 1, které se použije jako "náhodné" semínko pro výběr banneru z bannerů dostupných ve zvolené kampani.
- country
- Před filtrováním na geograficky cílené kampaně přepište kód země. Přijímá dvoumístné kódy ISO 3166-1.
- uselang
- Jeho obvyklý význam v MediaWiki určuje, které bannery se vám mohou zobrazovat. Pozor na jazyk obsahu oproti jazyku uživatele.
- force
- Přepište jakýkoli kód pro skrytí banneru a zobrazte banner.
- reset
- Vynulujte všechny soubory cookie používané k přizpůsobení zobrazení bannerů (např. počet zobrazení).
Například
Ladění problematických bannerů
Pokud se na stránce nachází problematický banner, můžete zjistit, který banner je aktivní, otevřením konzole pro vývojáře a kontrolou hodnoty: 1 $.
Omezení
Bannery se nezobrazují na stránkách v jmenném prostoru Special, stejně jako na stránkách pro úpravy a stránkách s rozdíly.
API
CentralNotice přidává dva API moduly, centralnoticechoicedata a centralnoticequerycampaign.
(Modul API centralnoticeallocations byl v MediaWiki 1.25 zastaralý a odstraněn.)
| Následující dokumentace je výstupem Special: |
action=centralnoticechoicedata
- This module requires read rights.
- Source: CentralNotice
- License: GPL-2.0-or-later
Get data needed to choose a banner for a given project and language
- project
The project to get banner choice data for.
- This parameter is required.
- language
The language to get banner choice data for.
- This parameter is required.
- Get the data for choosing a banner for English Wikipedia users.
- api.php?action=centralnoticechoicedata&project=wikipedia&language=en [open in sandbox]
| Následující dokumentace je výstupem Special: |
action=centralnoticequerycampaign
- This module requires read rights.
- Source: CentralNotice
- License: GPL-2.0-or-later
Get all configuration settings for a campaign.
- campaign
Campaign name. Separate multiple values with a "|" (vertical bar).
- This parameter is required.
- Show campaign "Plea_US"
- api.php?action=centralnoticequerycampaign&format=json&campaign=Plea_US [open in sandbox]
Související odkazy
- Help:CentralNotice a Změny po refaktoringu (2015-09) na Meta
- Extension:CentralNotice/Campaign and banner selection
- Extension:CentralNotice/Impression diet
- Extension:CentralNotice/Special:RecordImpression
- Extension:CentralNotice/Statuses, reasons and status codes
- Extension:CentralNotice/Banner_mixins
- Requests for comment/CentralNotice Caching Overhaul - Frontend Proxy
- Extension:CentralNotice/Notes/Miscelaneous doc bits
- Extension:CentralNotice/Notes/Documentation rewrite
- Extension:CentralNotice/Notes/Campaign-associated_mixins_and_banner_history
- Extension:CentralNotice/Notes/Banner controller refactoring
- Další podstránky této stránky (Varování: mnoho z nich je zastaralých)
| Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
| Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: |
- Stable extensions/cs
- Special page extensions/cs
- API extensions/cs
- CanonicalNamespaces extensions/cs
- ChangeTagsListActive extensions/cs
- GetPreferences extensions/cs
- ListDefinedTags extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- PreferencesGetIcon extensions/cs
- ResourceLoaderRegisterModules extensions/cs
- SkinTemplateNavigation::Universal extensions/cs
- UserMergeAccountFields extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- Extensions included in Miraheze/cs
- Extensions for data exchange with other local wikis/cs
- Extensions supporting fundraising and donations/cs
- Fundraising/cs
