Extension:EventLogging/de

Category:GPL licensed extensions/de
MediaWiki-Erweiterungen
EventLogging
Freigabestatus: stabilCategory:Stable extensions/de
Einbindung Spezialseite Category:Special page extensions/de, Datenbank Category:Database extensions/de, ContentHandler Category:ContentHandler extensions/de
Beschreibung Bietet einen Rahmen für die Protokollierung von Analyseereignissen
Autor(en) Ori.livnehDiskussion
Letzte Version Laufende Aktualisierungen
MediaWiki 1.33+Category:Extensions with manual MediaWiki version
PHP 5.5+
Datenbankänderungen Nein
Lizenz GNU General Public License 2.0 oder neuer
Herunterladen Category:Extensions in Wikimedia version control/de
  • $wgEventLoggingStreamNames
  • $wgEventLoggingSchemaApiUri
  • $wgEventLoggingServiceUri
  • $wgEventLoggingQueueLingerSeconds
  • $wgEventLoggingBaseUri
  • $wgEventLoggingSchemas
  • $wgEventLoggingDBname
Vierteljährliche Downloads 24 (Ranked 71st)
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
Category:All extensions/de

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 . 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 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/EventLogging
  • Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
    wfLoadExtension( 'EventLogging' );
    $wgEventLoggingBaseUri = '/beacon/event';
    $wgEventLoggingServiceUri = '/beacon/intake-analytics';
    $wgEventLoggingStreamNames = false;
    
  • Yes 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

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
Category:Extensions used on Wikimedia/de#EventLogging/de Category:Analytics extensions/de Category:Statistics extensions/de
Category:All extensions/de Category:Analytics extensions/de Category:ApiMain::moduleManager extensions/de Category:BeforePageDisplay extensions/de Category:CanonicalNamespaces extensions/de Category:CodeEditorGetPageLanguage extensions/de Category:ContentHandler extensions/de Category:Database extensions/de Category:EditFilterMergedContent extensions/de Category:Extensions in Wikimedia version control/de Category:Extensions included in Canasta/de Category:Extensions included in Miraheze/de Category:Extensions included in WikiForge/de Category:Extensions used on Wikimedia/de Category:Extensions with manual MediaWiki version Category:GPL licensed extensions/de Category:GetPreferences extensions/de Category:MovePageIsValidMove extensions/de Category:Special page extensions/de Category:Stable extensions/de Category:Statistics extensions/de