Extension:EventLogging
EventLogging État de la version : stable |
|
---|---|
Implémentation | Page spéciale , Base de données , ContentHandler |
Description | Fournit un environnement de travail pour tracer les événements analytiques |
Auteur(s) | Ori.livnehdiscussion |
Dernière version | mises à jour continues |
MediaWiki | 1.33+ |
PHP | 5.5+ |
Modifie la base de données |
Non |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
|
|
Téléchargements trimestriels | 44 (Ranked 92nd) |
Utilisé par les wikis publics | 1,078 (Ranked 221st) |
Traduire l’extension EventLogging sur translatewiki.net si elle y est disponible | |
Rôle Vagrant | eventlogging |
Problèmes | Tâches ouvertes · Signaler un bogue |
L'extension EventLogging permet de collecter des données structurées sur la manière dont les utilisateurs interagisssent avec les sites MediaWiki.
Fonctionnalités
- EventLogging prend en charge la connexion à partir du JavaScript côté client et du côté serveur à partir de PHP.
- Le comportement de la connexion peut être configuré dynamiquement en utilisant Extension:EventStreamConfig .
- Les événements sont des objets JSON définis par des schémas JSON versionnés (JSONSchemas) enregistrés dans dépôt Git de schémas.
- L'extension n'inclut aucun code du serveur pour transporter, analyser ou charger ces événements. Un service séparé, EventGate, implémente cette fonction et gère l'insertion des événements dans Kafka. Les événements sont ensuite persistants dans les dépôts de données descendantes (comme Hive) via divers pipeline d'absorbsion. Les détails de ces composants sont spécifiques à la configuration de la Fondation Wikimedia.
EventLogging pour Wikimedia
La Fondation Wikimedia utilise l'extension EventLogging comme partie d'un système plus large de collecte, d'agrégation, d'enregistrement et d'analyse des données utilisateur à l'intérieur des limites fixées par notre politique de confidentialité et nos règles de conservation des données.
Cette page concerne l'utilisation générale de l'extension EventLogging. La Fondation Wikimedia utilise EventLogging avec des composants arrière spécifiques à la WMF ainsi que des dépôts de schémas. Pour la documentation spécifique à Wikimedia et la documentation maintenue, voir wikitech:Analytics/Systems/EventLogging et wikitech:Event Platform.
Installation
- Téléchargez et placez le(s) fichier(s) dans un répertoire appelé
EventLogging
dans votre dossierextensions/
.
Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'EventLogging' ); $wgEventLoggingBaseUri = '/beacon/event'; $wgEventLoggingServiceUri = '/beacon/intake-analytics'; $wgEventLoggingStreamNames = false;
- Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
Installation Vagrant :
- Si vous utilisez Vagrant , installez avec
vagrant roles enable eventlogging --provision
Configurer l'emplacement des schemas
Par défaut, l'extension cherche les schémas sur Meta-Wiki. Les paramètres par défaut significatifs sont :
# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';
Pour utiliser des schémas locaux, ou des schémas du wiki central de votre propre ferme de wikis, il faut réécrire ces lignes. Par exemple pour utiliser l'espace de noms Schema
du wiki local, déclarez :
$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;
(et assurez-vous que le compte utilisateur qui va créer les schémas est autoconfirmé).
Tracer les événements avec EventLogging
- Extension:EventLogging/Guide - pour développer et déployer les schémas EventLogging, et plus
- Extension:EventLogging/Programming - conseils et suggestions pour les développeurs qui écrivent du code pour tracer les événements
Développer l'extension EventLogging
Configuration développeur
En tant que développeur, vous voudrez configurer et utiliser EventLogging sur votre wiki de développement pour simuler son utilisation en production.
Utiliser Docker
Voir MediaWiki-Docker/Configuration recipes/EventLogging
Utiliser mediawiki-vagrant
Si vous développez avec mediawiki-vagrant, tout ce dont vous avez besoin est encapsulé dans le rôle eventlogging
.
Pour l'activer, exécutez :
$ vagrant roles enable eventlogging
$ vagrant provision
Pour les développements JavaScript
Si vous travaillez sur le client JavaScript, vous devrez installler les dépendances avec npm install
à partir du dossier dans lequel vous développez.
Puis vous pouvez utiliser npm test
pour exécuter ESLint par exemple.
La section « Comment exécuter les tests » ci-dessous montre comment voir le résultat des tests JavaScript.
Lorsque vous ajoutez le paramètre trackdebug=true
à l'URL, la console des outils développeur du navigateur affiche l'événement tracé en cours de traitement.
Comment exécuter les tests
Il existe des tests PHP, Python, et JavaScript.
Pour exécuter les tests JavaScript, visitez Special:JavaScriptTest/qunit sur votre wiki de développement. (Voir Tests unitaires JavaScript ).
Pour exécuter les tests PHP, nous utilisons PHPUnit. Vérifiez qu'elle est installée, puis :
$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |