Extension:EventLogging

From mediawiki.org
This page is a translated version of the page Extension:EventLogging and the translation is 100% complete.
Manuel des extensions MediaWiki
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
  • $wgEventLoggingStreamNames
  • $wgEventLoggingSchemaApiUri
  • $wgEventLoggingServiceUri
  • $wgEventLoggingQueueLingerSeconds
  • $wgEventLoggingBaseUri
  • $wgEventLoggingSchemas
  • $wgEventLoggingDBname
Téléchargements trimestriels 74 (Ranked 82nd)
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 dossier extensions/.
    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;
    
  • Yes 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

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