Jump to content

Rozšíření:CentralNotice

From mediawiki.org
This page is a translated version of the page Extension:CentralNotice and the translation is 100% complete.
Příručka k rozšířením MediaWiki
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
  • $wgNoticeUseTranslateExtension
  • $wgNoticeBannerReducedMaxAge
  • $wgNoticeNumberOfBuckets
  • $wgCentralNoticeCategoriesUsingLegacy
  • $wgNoticeUseLanguageConversion
  • $wgNoticeCookieDurations
  • $wgCentralNoticeBannerMixins
  • $wgCentralNoticeLoader
  • $wgCentralBannerRecorder
  • $wgNoticeBucketExpiry
  • $wgNoticeCookieDomain
  • $wgNoticeTranslateDeployStates
  • $wgCentralNoticeAdminGroup
  • $wgCentralNoticeCampaignTypes
  • $wgCentralNoticeImpressionEventSampleRate
  • $wgCentralNoticePerCampaignBucketExtension
  • $wgNoticeNumberOfControllerBuckets
  • $wgNoticeProject
  • $wgNoticeTabifyPages
  • $wgCentralNoticeGeoIPBackgroundLookupModule
  • $wgCentralNoticeApiUrl
  • $wgNoticeProjects
  • $wgCentralNoticeMessageProtectRight
  • $wgNoticeBannerMaxAge
  • $wgNoticeInfrastructure
  • $wgCentralNoticeHideBannersP3P
  • $wgCentralNoticeSampleRate
  • $wgNoticeHideUrls
  • $wgCentralNoticeMaxCampaignFallback
  • $wgCentralNoticeContentSecurityPolicy
  • $wgCentralNoticeFallbackHideCookieDuration
  • $wgCentralSelectedBannerDispatcher
  • $wgCentralNoticeCampaignMixins
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

CentralNotice je vyvinut, testován a je známý pro nasazení pouze na wikinách, které nepoužívají prefixy tabulek. Pokud vaše nastavení používá prefixy tabulek, neexistuje žádná záruka, že toto rozšíření bude fungovat. Prosím, nahlaste jakékoli chyby na Phabricator.


  • Nejprve nainstalujte Rozšíření:EventLogging
  • Stáhněte soubor/y a vložte je do adresáře pojmenovaného CentralNotice ve vaší složce extensions/.
    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 Geo př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';
    
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší 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...

  1. $wgNoticeInfrastructure na false
  2. $wgCentralSelectedBannerDispatcher na URL adresu Special:BannerLoader na centrální wiki, například: https://meta.wikimedia.org/w/index.php/Special:BannerLoader;
  3. Buď $wgCentralDBname k názvu databáze infrastrukturní wiki, nebo $wgCentralNoticeApiUrl k koncovému bodu API infrastrukturní wiki a
  4. $wgCentralBannerRecorder na 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

  1. Načíst Special:CentralNoticeBanners
  2. Klikněte na odkaz pro přidání banneru v dolní části stránky (musíte být přihlášeni jako administrátor).
  3. Zadejte název a nezpracovaný HTML kód pro daný banner.
    1. Pokud bude tento banner přeložen, vložte jakýkoli text k překladu s trojitými závorkami - {{{FOO}}}.
  4. 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ň

  1. Načíst Special:CentralNotice
  2. Přidejte kampaň s daným časem zahájení v dolní části stránky, zanechte komentář a klikněte na tlačítko Odeslat.
    1. Pokud je tato kampaň spuštěna pouze na konkrétní wiki a nebo jazyce, vyberte ji z rozbalovacích nabídek.
  3. 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.
  4. 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.)


action=centralnoticechoicedata

(main | centralnoticechoicedata)

Get data needed to choose a banner for a given project and language

Specific parameters:
Other general parameters are available.
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.
Example:
Get the data for choosing a banner for English Wikipedia users.
api.php?action=centralnoticechoicedata&project=wikipedia&language=en [open in sandbox]


action=centralnoticequerycampaign

(main | centralnoticequerycampaign)

Get all configuration settings for a campaign.

Specific parameter:
Other general parameters are available.
campaign

Campaign name. Separate multiple values with a "|" (vertical bar).

This parameter is required.


Související odkazy