Erweiterung:EventLogging
EventLogging Freigabestatus: stabil |
|
---|---|
Einbindung | Spezialseite , Datenbank , ContentHandler |
Beschreibung | Bietet einen Rahmen für die Protokollierung von Analyseereignissen |
Autor(en) | Ori.livnehDiskussion |
Letzte Version | Laufende Aktualisierungen |
MediaWiki | 1.33+ |
PHP | 5.5+ |
Datenbankänderungen | Nein |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | |
|
|
Quarterly downloads | 42 (Ranked 96th) |
Public wikis using | 1,078 (Ranked 221st) |
Übersetze die EventLogging-Erweiterung, wenn sie auf translatewiki.net verfügbar ist | |
Vagrant-Rolle | eventlogging |
Probleme | Offene Aufgaben · Einen Fehler melden |
Die EventLogging-Erweiterung ermöglicht es, strukturierte Daten darüber zu sammeln, wie Nutzer mit MediaWiki-Seiten interagieren.
Funktionen
- EventLogging unterstützt Client-seitiges Logging von JavaScript und Server-seitiges Logging von PHP.
- Das Logging-Verhalten kann mit Erweiterung:EventStreamConfig dynamisch konfiguriert werden.
- Die Ereignisse sind JSON-Objekte, die durch versionierte JSONSchemas definiert sind, die in einem Schema-Git-Repository gespeichert sind.
- Die Erweiterung enthält keinen Back-End-Code für den Transport, das Parsing oder das Laden dieser Ereignisse. Ein separater Dienst, EventGate, implementiert diese Funktionalität und kümmert sich um das Einfügen von Ereignissen in Kafka. Die Ereignisse werden dann über verschiedene Ingestion-Pipelines in nachgelagerten Datenspeichern (z. B. Hive) persistiert. Die Details dieser Komponenten sind spezifisch für die Konfiguration der Wikimedia Foundation.
EventLogging bei Wikimedia
Die Wikimedia Foundation verwendet die EventLogging-Erweiterung als Teil eines größeren Systems zum Sammeln, Aggregieren, Speichern und Analysieren von Nutzerdaten innerhalb der Grenzen, die in unserer Datenschutzrichtlinie und Datenaufbewahrungsrichtlinie festgelegt sind.
Auf dieser Seite geht es um die allgemeine Verwendung der EventLogging-Erweiterung. Die Wikimedia Foundation verwendet EventLogging mit WMF-spezifischen Backend-Komponenten und [1]. Für Wikimedia-spezifische und gepflegte Dokumentation, siehe wikitech:Analytics/Systems/EventLogging und wikitech:Event Platform.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
EventLogging
im 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/EventLogging - Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
wfLoadExtension( 'EventLogging' ); $wgEventLoggingBaseUri = '/beacon/event'; $wgEventLoggingServiceUri = '/beacon/intake-analytics'; $wgEventLoggingStreamNames = false;
- Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Vagrant-Installation:
- Wird Vagrant benutzt, ist mit
vagrant roles enable eventlogging --provision
zu installieren
Konfigurieren des Schemaspeicherorts
Standardmäßig sucht die Erweiterung nach Schemas auf Meta-Wiki. Die relevanten Standardeinstellungen sind:
# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';
Um lokale Schemas oder Schemas aus dem zentralen Wiki deiner eigenen wikifarm zu verwenden, musst du diese überschreiben. Um z.B. den Schema
-Namensraum des lokalen Wikis zu verwenden, setze
$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;
(und stelle sicher, dass das Benutzerkonto, das die Schemas erstellt, autoconfirmed ist).
Ereignisse protokollieren mit EventLogging
- Extension:EventLogging/Guide - zur Entwicklung und zum Einsatz von EventLogging-Schemata und mehr
- Extension:EventLogging/Programming - Tipps und Vorschläge für Entwickler, die Code zum Protokollieren von Ereignissen schreiben
Entwicklung der EventLogging-Erweiterung
Entwickler-Einrichtung
Als Entwickler möchtest du EventLogging auf deinem Entwicklungs-Wiki einrichten und verwenden, um den Einsatz in der Produktion zu simulieren.
Mit Docker
Siehe MediaWiki-Docker/Configuration recipes/EventLogging
Mit mediawiki-vagrant
Wenn du mit mediawiki-vagrant entwickelst, ist alles, was du brauchst, in der eventlogging
-Rolle gekapselt.
Um sie zu aktivieren, führe aus:
$ vagrant roles enable eventlogging
$ vagrant provision
Für JavaScript-Entwicklung
Wenn du mit dem JavaScript-Client arbeitest, musst du die Abhängigkeiten mit npm install
aus dem Ordner installieren, in dem du entwickelst.
Dann kannst du npm test
verwenden, um zum Beispiel ESLint auszuführen.
Im Abschnitt "Wie führe ich Tests durch?" weiter unten erfährst du, wie du die Ergebnisse von JavaScript-Tests sehen kannst.
Wenn du den Parameter trackdebug=true
zur URL hinzufügst, zeigt die Konsole in den Devtools des Browsers die ausgelöste Ereignisprotokollierung an.
Wie man Tests ausführt
Es gibt PHP-Tests, Python-Tests und JavaScript-Tests.
Um JavaScript-Tests auszuführen, besuche Special:JavaScriptTest/qunit auf deinem Entwicklungswiki. (Siehe Manual:JavaScript unit testing .)
Um PHP-Tests auszuführen, verwenden wir PHPUnit. Stelle sicher, dass es installiert ist, dann:
$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
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: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |
- Stable extensions/de
- Special page extensions/de
- Database extensions/de
- ContentHandler extensions/de
- GPL licensed extensions/de
- Extensions in Wikimedia version control/de
- ApiMain::moduleManager extensions/de
- BeforePageDisplay extensions/de
- CanonicalNamespaces extensions/de
- CodeEditorGetPageLanguage extensions/de
- EditFilterMergedContent extensions/de
- GetPreferences extensions/de
- MovePageIsValidMove extensions/de
- All extensions/de
- Extensions used on Wikimedia/de
- Extensions included in Canasta/de
- Extensions included in Miraheze/de
- Extensions included in WikiForge/de
- Analytics extensions/de
- Statistics extensions/de