Erweiterung:EventLogging
Freigabestatus: stabil |
|
|---|---|
| Einbindung | Spezialseite , Datenbank , ContentHandler |
| Beschreibung | Bietet einen Rahmen für die Protokollierung von Analyseereignissen |
| Autor(en) | Ori.livneh Diskussion |
| Letzte Version | Laufende Aktualisierungen |
| MediaWiki | 1.33+ |
| PHP | 5.5+ |
| Datenbankänderungen | Nein |
|
|
| Licence | GNU General Public License 2.0 oder neuer |
| Herunterladen | |
| Ü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. If you're interested in the separate components that Wikimedia uses for these purposes, see #EventLogging at Wikimedia.
EventLogging bei Wikimedia
Auf dieser Seite geht es um die allgemeine Verwendung der EventLogging-Erweiterung.
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. Für Wikimedia-spezifische und gepflegte Dokumentation, siehe 1ドル und wikitech:Event Platform.
Installation
- Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens
EventLoggingim Ordnerextensions/ablegen.
Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cdextensions/ gitclonehttps://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:Versionin deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.
Vagrant-Installation:
- Wird Vagrant benutzt, ist mit
vagrant roles enable eventlogging --provisionzu 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:
$ vagrantrolesenableeventlogging $ vagrantprovision
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:
$ vagrantssh vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composerphpunit:entrypoint--extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
- Stable extensions/de
- Special page extensions/de
- Database extensions/de
- ContentHandler extensions/de
- ApiMain::moduleManager extensions/de
- BeforePageDisplay extensions/de
- CanonicalNamespaces extensions/de
- CodeEditorGetPageLanguage extensions/de
- EditFilterMergedContent extensions/de
- GetPreferences extensions/de
- MovePageIsValidMove extensions/de
- GPL licensed extensions/de
- Extensions in Wikimedia version control/de
- All extensions/de
- Extensions used on Wikimedia/de
- Extensions included in Canasta/de
- Extensions included in Miraheze/de
- Analytics extensions/de
- Statistics extensions/de