Extension: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 |
|
|
| 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
- Install Extension:EventLogging first
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
CentralNoticeim Ordnerextensions/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
Geojedoch 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';
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…
- # Füge
$wgNoticeInfrastructurezufalsehinzu. - #
$wgCentralSelectedBannerDispatcherauf die URL von Special:BannerLoader auf dem zentralen Wiki, zum Beispiel:https://meta.wikimedia.org/w/index.php/Special:BannerLoader; - # entweder
$wgCentralDBnamezum Namen der Datenbank des Infrastrukturwiki oder$wgCentralNoticeApiUrlzum API-Endpunkt des Infrastrukturwikis; und - #
$wgCentralBannerRecorderauf 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.
Links und Dokumente
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
- #Öffne Special:CentralNoticeBanners
- #Klicke auf den Link Hinzufügen einer Vorlage am unteren Rand der Seite (du musst als Administrator angemeldet sein).
- #Gib einen Namen und den HTML-Quellcode für das gewünschte Banner ein.
- ##Soll dieses Banner übersetzt werden, setze den zu übersetzenden Text bitte in dreifache geschweifte Klammern - {{{FOO}}}.
- #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
- #Öffne Special:CentralNotice
- #Fügen Sie im unteren Bereich der Seite eine Kampagne mit einer bestimmten Startzeit hinzu, gib eine Zusammenfassung an und klicke auf Speichern.
- ##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.
- #Klicke auf die neue Kampagne und füge die gewünschten Banner innerhalb dieser laufenden Kampagne sowie deren jeweilige Gewichtung hinzu.
- #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.)
| Die folgende Dokumentation ist die Ausgabe von 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]
| Die folgende Dokumentation ist die Ausgabe von 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]
Siehe auch
- Help:CentralNotice und Änderungen nach dem Refactoring (09/2015) auf 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
- Andere Unterseiten dieser Seite (Warnung: viele sind veraltet)
| Diese Erweiterung wird in einem oder mehreren Wikis von Wikimedia verwendet. Das bedeutet mit hoher Wahrscheinlichkeit, dass die Erweiterung stabil ist und gut genug funktioniert, um auf solch häufig besuchten Webseiten benutzt zu werden. Suche nach dem Erweiterungs-Namen in den Wikimedia CommonSettings.php und den InitialiseSettings.php-Konfigurations-Dateien, um nachzusehen, wo es installiert ist. Eine vollständige Liste der installierten Erweiterungen in einem bestimmten Wiki wird auf Special:Version im Wiki generiert und angezeigt. |
| Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: |
- Stable extensions/de
- Special page extensions/de
- API extensions/de
- CanonicalNamespaces extensions/de
- ChangeTagsListActive extensions/de
- GetPreferences extensions/de
- ListDefinedTags extensions/de
- LoadExtensionSchemaUpdates extensions/de
- PreferencesGetIcon extensions/de
- ResourceLoaderRegisterModules extensions/de
- SkinTemplateNavigation::Universal extensions/de
- UserMergeAccountFields extensions/de
- GPL licensed extensions/de
- Extensions in Wikimedia version control/de
- All extensions/de
- Extensions used on Wikimedia/de
- Extensions included in Miraheze/de
- Extensions for data exchange with other local wikis/de
- Extensions supporting fundraising and donations/de
- Fundraising/de
