Jump to content

Extension:CentralNotice

From mediawiki.org
This page is a translated version of the page Extension:CentralNotice and the translation is 77% complete.
Outdated translations are marked like this.
MediaWiki-Erweiterungen
CentralNotice
Freigabestatus: stabil
Einbindung Spezialseite , API
Beschreibung Adds a central sitenotice
Autor(en) Andrew Russell Green, Matthew Walker, Adam Roses Wight Formerly: Brooke Vibber, Tomasz Finc, Trevor Parscal, Ryan Kaldari
Letzte Version 2.6.1 (continuous updates)
Kompatibilitätspolitik Snapshots werden zusammen mit MediaWiki veröffentlicht. Der Master ist nicht abwärtskompatibel.
Datenbankänderungen Ja
Virtual domain virtual-centralnotice
  • $wgNoticeUseTranslateExtension
  • $wgNoticeBannerReducedMaxAge
  • $wgNoticeNumberOfBuckets
  • $wgCentralNoticeCategoriesUsingLegacy
  • $wgNoticeUseLanguageConversion
  • $wgNoticeCookieDurations
  • $wgCentralNoticeBannerMixins
  • $wgCentralNoticeLoader
  • $wgCentralBannerRecorder
  • $wgNoticeBucketExpiry
  • $wgNoticeCookieDomain
  • $wgNoticeTranslateDeployStates
  • $wgCentralNoticeAdminGroup
  • $wgCentralNoticeCampaignTypes
  • $wgCentralNoticeImpressionEventSampleRate
  • $wgCentralNoticePerCampaignBucketExtension
  • $wgNoticeNumberOfControllerBuckets
  • $wgCentralHost
  • $wgNoticeProject
  • $wgNoticeTabifyPages
  • $wgCentralNoticeGeoIPBackgroundLookupModule
  • $wgCentralNoticeApiUrl
  • $wgNoticeProjects
  • $wgCentralNoticeMessageProtectRight
  • $wgNoticeInfrastructure
  • $wgNoticeBannerMaxAge
  • $wgCentralNoticeHideBannersP3P
  • $wgCentralNoticeSampleRate
  • $wgCentralNoticeMaxCampaignFallback
  • $wgNoticeHideUrls
  • $wgCentralNoticeContentSecurityPolicy
  • $wgCentralNoticeFallbackHideCookieDuration
  • $wgCentralSelectedBannerDispatcher
  • $wgCentralNoticeCampaignMixins
Licence GNU General Public License 2.0 oder neuer
Herunterladen
Beispiel Special:CentralNotice on Meta (read-only)
Übersetze die CentralNotice-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Probleme Offene Aufgaben · Einen Fehler melden

Die CentralNotice-Erweiterung liefert Ankündigungen (normalerweise in Form von Bannern) an Wikimedia-Wikis. Sie wird vom Fundraising-Team intensiv genutzt, um um Spenden zu werben und um Ankündigungen zu machen, die für die Wikimedia-Gemeinschaften und -Nutzer von Interesse sind. CentralNotice kann Ankündigungen nach Land, Sprache, Projekt, Gerät und eingeloggtem Status ausrichten.

Diese Seite enthält Informationen für CentralNotice-Entwickler und Wiki-Administratoren, die CentralNotice auf ihren eigenen Websites installieren möchten. Wie du CentralNotice-Kampagnen erstellen und konfigurieren kannst, erfährst du unter Help:CentralNotice auf Meta-Wiki. Für Informationen über die Einrichtung von CentralNotice auf dem Cluster der Wikimedia Foundation siehe CentralNotice auf Wikitech.

CentralNotice ermöglicht die zentrale Verteilung von Ankündigungen von einem zentralen Wiki (dem Infrastruktur-Wiki) aus an viele Wikis (die abonnierten Wikis genannt). Sind nur Nachrichten an ein einziges Wiki zu richten, sollte stattdessen Sitenotice verwendet werden.

Installation

CentralNotice wurde entwickelt, getestet und ist dafür bekannt, dass es nur auf Wikis eingesetzt wird, die keine Tabellenpräfixe verwenden. Verwendet das Setup Tabellen-Präfixe, gibt es keine Garantie dafür, dass diese Erweiterung funktioniert. Bitte melde alle Fehler an Phabricator.


  • Install Extension:EventLogging first
  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens CentralNotice im Ordner extensions/ ablegen.
    Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CentralNotice
    
  • Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
    wfLoadExtension( 'CentralNotice' );
    
  • Führe das Aktualisierungsskript aus, welches automatisch die notwendigen Datenbanktabellen erstellt, die diese Erweiterung braucht.
  • #Standardmäßig ist die GeoIP-Suche deaktiviert. Wenn der Cookie Geo jedoch Daten beinhaltet, wird sein Wert verwendet. Für lokale Entwicklung kannst du eine Client-Side-Implementierung aktivieren, die https://freegeoip.net wie folgt verwendet. Für detailliertere Informationen schau bitte unter #GeoIP lookup.
    $wgCentralNoticeGeoIPBackgroundLookupModule = 'ext.centralNotice.freegeoipLookup';
    
  • Yes Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.

Das Infrastruktur-Wiki

Für die meisten Entwicklungsarbeiten kannst du sowohl in Infrastruktur als auch in Abonnementsrollen ein einzelnes Wiki verwenden.

# Standardmäßig ist die Gruppe sysop die einzige Gruppe mit der Möglichkeit, CentralNotice zu verwalten. Wenn weitere Gruppen benötigt werden, benötigen diese die Berechtigungen centralnotice-admin und editinterface.

Einige Funktionen von CentralNotice erfordern andere MediaWiki-Erweiterungen, darunter $1 und Übersetzen .

Abonnierende Wiki

Bearbeite LocalSettings.php und setze…

  1. # Füge $wgNoticeInfrastructure zu false hinzu.
  2. # $wgCentralSelectedBannerDispatcher auf die URL von Special:BannerLoader auf dem zentralen Wiki, zum Beispiel: https://meta.wikimedia.org/w/index.php/Special:BannerLoader;
  3. # entweder $wgCentralDBname zum Namen der Datenbank des Infrastrukturwiki oder $wgCentralNoticeApiUrl zum API-Endpunkt des Infrastrukturwikis; und
  4. # $wgCentralBannerRecorder auf die URL von Special:RecordImpression auf dem zentralen Wiki. Beispielsweise: https://meta.wikimedia.org/w/index.php/Special:RecordImpression.

Alle Codes, die auf abonnierenden Wikis werden, sollten mit MobileFrontend getestet werden, um sicherzustellen, dass sie auf der mobilen Version der Website funktionieren.

Hilfe erhalten

Das Team der WMF Fundraising tech ist die Verwalter von CentralNotice. Für Fragen zur Installation, Fehlerberichte, oder Benutzung von CentralNotice, schicke uns bitte eine E-Mail an die Liste wikitech-l@lists.wikimedia.org. Oder besuche uns im IRC channel #wikimedia-fundraising connect.

Berechtigungen

  • centralnotice-admin — Erlaubnis, die zur Änderung von Kampagnen und Banner erforderlich ist. Nur für die Infrastruktur-Wikis (siehe auch bugzilla:26377).
    • editinterface - erforderlich, um den Inhalt des Banners zu bearbeiten.

Designideen

Aus der Perspektive des Benutzers sind die High-Level-Objekte von CentralNotice campaigns (Hinweise) und banners (Vorlagen). Diese werden von den Back-End-Konzepten von selectors und allocation beeinflusst.

  • *Banner - ein einzelner übersetzbarer Block html/wikitext/css/javascript, der oben auf den Handbuch:$wgContentNamespaces Seiten angezeigt wird. Der Benutzerstatus, der Gerätentypen, die Benutzeroberfläche selectors werden auf Banner angewendet.
    • ** Banners können nach category gruppiert werden. Alle Banner einer Kategorie teilen Benutzerseiten-Cookies, wie zum Beispiel das versteckende Cookie, das eingestellt wird, wenn ein Benutzer auf einen Schließ-Button am Banner klickt.
  • *Campaign - eine Sammlung von Bannern. Die Projekt-, Länder- und Inhaltssprachen-Selektoren gelten auf Kampagnenebene. Das System ermöglicht so viele aktive Kampagnen gleichzeitig, wie gewünscht, um dynamisch einen allocation für jedes Banner in einer aktiven Kampagne zu berechnen. Kampagnen werden als aktiv definiert, wenn die zentrale Wiki-Zeit größer als die Kampagnenstartzeit, geringer als die Kampagnenendzeit und die Kampagne als aktiviert gekennzeichnet ist.
    • ** Bannern in einer Kampagne werden ein bucket und ein weight zugewiesen. Buckets sind ein weiterer Auswählfaktor, und die Gewichtung beeinflusst die relative Zuordnung von Bannern innerhalb einer Kampagne.
    • ** Es gibt vier Stufen der Priorität in CentralNotice. Höher priorisierte Kampagnen erhalten eine größere Zuordnung der Seitenansichten.
    • ** Kampagnen können gesperrt sein, um das Bearbeiten oder Löschen der Kampagne zu verhindern; jedoch nicht die Banner innerhalb der Kampagne.
  • * Selector — jegliche Eigenschaft, die für die Zwecke der Zuweisung gefiltert werden kann. Dies ermöglicht es beispielsweise, verschiedene Banner anzeigen zu lassen für eingeloggte und ausgeloggte Benutzer, die aus Argentinien stammen und Wikipedia in Englischer Sprache anzeigen lassen.
    • ** Ein Auswahlvektor ist die vollständige Menge an Selektoren, die ein Benutzer dem zentralen Wiki übermittelt, wenn er ein Banner anfordert.
  • * Allocation — Die Wahrscheinlichkeit, dass einem Benutzer unter einem bestimmten Auswahlvektor ein Banner angezeigt wird.

GeoIP nachschlagen

In den Standardeinstellungen ist für CentralNotice kein GeoIP-Service konfiguriert. Dies ist für die Produktionskonfiguration der Wikimedia Foundation optimiert, bei der Varnish das Geo-Cookie serverseitig mit Inhalten füllt. (Siehe wikitech:Geolocation.) Du kannst CentralNotice in der Konfigurationsvariablen CentralNoticeGeoIPBackgroundLookupModule konfigurieren, eine benutzerdefinierte client-seitige Datenquelle zu nutzen. Diese Variable erwartet den Namen eines ResourceLoader-Moduls, das eine Funktion exportiert. Die Funktion wird ohne Parameter aufgerufen und sollte ein Promise zurückgeben, das mit einem Objekt, welches die folgenden Eigenschaften enthält, gelöst wird:

  • country: Zeichenkette (string)- Ländercode mit 2 Buchstaben.
  • region: Zeichenkette (string) - Implementierungsspezifisch.
  • city: Zeichenkette (str)- Stadtname.
  • lat: Zahl.
  • lon: Zahl.

Verwendung

Die vollständigen Nutzungsanweisungen sind unter meta:Help:CentralNotice zu finden.

Neuer Banner

  1. #Öffne Special:CentralNoticeBanners
  2. #Klicke auf den Link Hinzufügen einer Vorlage am unteren Rand der Seite (du musst als Administrator angemeldet sein).
  3. #Gib einen Namen und den HTML-Quellcode für das gewünschte Banner ein.
    1. ##Soll dieses Banner übersetzt werden, setze den zu übersetzenden Text bitte in dreifache geschweifte Klammern - {{{FOO}}}.
  4. #Speichere die Vorlage

(TODO: Diesen Ausschnitt verschieben und erweitern)

  • Jedes Banner hat seine Bannerdefinition in MediaWiki:Centralnotice-template-<name> gespeichert
  • Alle zugehörigen Nachrichten werden unterhalb des definierten Banners in MediaWiki:Centralnotice-template-<name>-<message>/<language_code> gespeichert

Neue Kampagne

  1. #Öffne Special:CentralNotice
  2. #Fügen Sie im unteren Bereich der Seite eine Kampagne mit einer bestimmten Startzeit hinzu, gib eine Zusammenfassung an und klicke auf Speichern.
    1. ##Wenn diese Kampagne nur in einem bestimmten Wiki und/oder in einer bestimmten Sprache durchgeführt wird, wähle diese bitte aus den Dropdown-Menüs aus.
  3. #Klicke auf die neue Kampagne und füge die gewünschten Banner innerhalb dieser laufenden Kampagne sowie deren jeweilige Gewichtung hinzu.
  4. #Wenn alles in Ordnung ist, aktiviere diese Kampagne, und sie wird zum entsprechenden Zeitpunkt angezeigt.

Auswahl überschreiben

Füge einen oder mehrere der folgenden URL-Parameter hinzu, um eine bestimmte Banner-Vorschau anzuzeigen, "Diät"-Systeme zu umgehen oder die Auswahl von pseudozufälligen Bannern zu debuggen.

banner
Du kannst ein Banner direkt in jedem Wiki testen, indem du ?banner=<bannername> an das Ende der URL anhängst.
randomcampaign
Eine Dezimalzahl zwischen 0 und 1, die als "Zufallswert" für die Auswahl einer Kampagne verwendet werden soll.
randombanner
Eine Dezimalzahl zwischen 0 und 1, die als "Zufallswert" für die Auswahl eines Banners aus den in der gewählten Kampagne verfügbaren Bannern verwendet werden soll.
country
Überschreibt den Ländercode vor dem Filtern nach geografischen Zielgruppen der Kampagnen. Akzeptiert zweistellige ISO-3166-1-Codes.
uselang
Hat die in MediaWiki übliche Bedeutung, dass es festlegt, welche Banner dir angezeigt werden. Achte auf den Unterschied zwischen Inhaltssprache und Benutzersprache.
force
Überschreibt jeglichen Code zum Ausblenden des Banners und zeigt das Banner an.
reset
Löscht alle Cookies, die zur Personalisierung der Bannerdarstellung verwendet werden (z. B. Zählung der ausgelieferten Impressionen).

Zum Beispiel:

Fehlerbehebung bei problematischen Bannern

Falls sich auf der Seite ein problematisches Banner befindet, kannst du das aktive Banner ermitteln, indem du deine Entwicklerkonsole öffnest und den Wert von mw.centralNotice.bannerData.bannerName überprüfst.

Einschränkungen

Banner werden auf Seiten im Namensraum Special sowie auf Bearbeitungsseiten und Versionsunterschied-Seiten nicht angezeigt.

API

CentralNotice fügt zwei API-Module hinzu, centralnoticechoicedata und centralnoticequerycampaign. (Das API-Modul centralnoticeallocations war veraltet und wurde in MediaWiki 1.25 entfernt.)


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.


Siehe auch