Extension:EventLogging/nl
EventLogging Release status: stabiel |
|
---|---|
Implementatie | Speciale pagina , Database , ContentHandler |
Beschrijving | Biedt een framework voor het loggen van evenementen |
Auteur(s) | Ori.livnehoverleg |
Laatste versie | continue updates |
MediaWiki | 1.33+ |
PHP | 5.5+ |
Database wijzigingen | Nee |
Licentie | GNU General Public Licentie 2.0 of hoger |
Download | |
|
|
Downloads kwartaal | 44 (Ranked 92nd) |
Publieke wiki's die het gebruiken | 1,078 (Ranked 221st) |
Vertaal de EventLogging extensie indien beschikbaar op translatewiki.net | |
Vagrant rol | eventlogging |
Problemen | Open taken · Rapporteer een bug |
De extensie EventLogging maakt het mogelijk om gestructureerde gegevens te verzamelen over hoe gebruikers omgaan met MediaWiki sites.
Functies
- EventLogging ondersteunt logging aan de klantzijde van JavaScript en logging aan het serverzijde van PHP.
- Het loggen kan dynamisch worden geconfigureerd met behulp van Extension:EventStreamConfig .
- De gebeurtenissen zijn JSON-objecten die worden gedefinieerd door JSONSchemas met versiebeheer die zijn opgeslagen in een git repository.
- De extensie bevat geen back-end code voor het transporteren, analyseren of laden van deze gebeurtenissen. Een aparte service, EventGate, implementeert deze functionaliteit en behandelt het toevoegen van gebeurtenissen in Kafka. Gebeurtenissen worden vervolgens persistent bewaard in downstream-gegevensarchieven (bijv. Hive). De details van deze componenten zijn specifiek voor de configuratie van de Wikimedia Foundation.
Het loggen van gebeurtenissen op Wikimedia
De Wikimedia Foundation gebruikt de extensie EventLogging als onderdeel van een breder systeem voor het verzamelen, aggregeren, opslaan en analyseren van gebruikersgegevens binnen de limieten die zijn uiteengezet in ons privacybeleid en onze richtlijnen voor het bewaren van gegevens.
Deze pagina gaat over algemeen gebruik van de extensie EventLogging. De Wikimedia Foundation maakt gebruik van EventLogging met WMF-specifieke backend-componenten en schema-repositories. Voor specifieke en onderhouden documentatie van Wikimedia, zie wikitech:Analytics/Systems/EventLogging en wikitech:Event Platform.
Installation
- Download en plaats de bestanden in de map
EventLogging
in de mapextensions/
.
Ontwikkelaars en bijdragers van code moeten in plaats daarvan de extensie van Git installeren, met behulp van:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging - Voeg de volgende code onderaan het bestand LocalSettings.php toe:
wfLoadExtension( 'EventLogging' ); $wgEventLoggingBaseUri = '/beacon/event'; $wgEventLoggingServiceUri = '/beacon/intake-analytics'; $wgEventLoggingStreamNames = false;
- Klaar – Navigeer naar Special:Version op de wiki om te controleren dat de extensie geïnstalleerd is.
Vagrant installatie:
- Wanneer Vagrant gebruikt wordt, installeer door middel van
vagrant roles enable eventlogging --provision
De locatie van het schema configureren
Standaard zoekt de extensie op Meta-Wiki naar schema's. De relevante standaardinstellingen zijn:
# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';
Om lokale schema's te gebruiken of schema's van de centrale wiki van uw eigen wikifarm, moet u deze overschrijven. Om bijvoorbeeld de namespace Schema
van de lokale wiki te gebruiken:
$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;
(en zorg ervoor dat het gebruikersaccount dat de schema's maakt automatisch bevestigd is).
Gebeurtenissen met EventLogging loggen
- Extension:EventLogging/Guide - voor o.a. het ontwikkelen en implementeren van EventLogging-schema's.
- Extension:EventLogging/Programming - tips en suggesties voor ontwikkelaars die code schrijven om gebeurtenissen te loggen
Ontwikkeling van de extensie EventLogging
Instellingen voor ontwikkelaars
Als ontwikkelaar wilt u EventLogging instellen en gebruiken op uw ontwikkelingswiki om het gebruik ervan in productie te simuleren.
Docker gebruiken
Zie MediaWiki-Docker/Configuration recipes/EventLogging
mediawiki-vagrant gebruiken
Als u met mediawiki-vagrant ontwikkelt, is alles wat u nodig heeft in de rol eventlogging
opgenomen.
Om dit in te schakelen:
$ vagrant roles enable eventlogging
$ vagrant provision
Voor ontwikkeling van JavaScript
Als u werkt met de JavaScript-client, moet u de afhankelijkheden installeren met npm install
uit de map waarin u werkt.
U kunt npm test
gebruiken om bijvoorbeeld ESLint uit te voeren.
In het onderstaande gedeelte "Het uitvoeren van testen" wordt aangegeven hoe u de resultaten van JavaScript-testen kunt zien.
Bij het toevoegen van de parameter trackdebug=true
aan de URL, zal de console in de devtools van de browser laten zien dat de gebeurtenisregistratie wordt geactiveerd.
Het uitvoeren van testen
Er zijn PHP-testen, Python-testen en JavaScript-testen.
Als u JavaScript-tests wilt uitvoeren, bezoek Special:JavaScriptTest/qunit op uw ontwikkelingswiki. (Zie Manual:JavaScript unit testing .)
Om PHP-tests uit te voeren, gebruiken we PHPUnit. Zorg ervoor dat het geïnstalleerd is, en dan:
$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
Deze uitbreiding wordt gebruikt op een of meerdere Wikimedia projecten. Dit betekent waarschijnlijk dat de uitbreiding stabiel is en goed werkt op dergelijke vaak bezochte websites. Zoek op de naam van deze uitbreiding in Wikimedia's CommonSettings.php en InitialiseSettings.php om te zien waar deze is geïnstalleerd. Een volledige lijst van de uitbreidingen die geïnstalleerd zijn op een bepaalde wiki kan worden gevonden op de Special:Version pagina van de wiki. |
Deze uitbreiding is beschikbaar op de volgende wiki-families en/of onderdeel van de volgende pakketten: Dit is geen gezaghebbende lijst. Sommige wikifarms/hosts en/of pakketten kunnen deze extensie bevatten, zelfs als ze hier niet worden vermeld. Controleer het altijd bij uw wiki farms/hosts of bundel. |
- Stable extensions/nl
- Special page extensions/nl
- Database extensions/nl
- ContentHandler extensions/nl
- GPL licensed extensions/nl
- Extensions in Wikimedia version control/nl
- ApiMain::moduleManager extensions/nl
- BeforePageDisplay extensions/nl
- CanonicalNamespaces extensions/nl
- CodeEditorGetPageLanguage extensions/nl
- EditFilterMergedContent extensions/nl
- GetPreferences extensions/nl
- MovePageIsValidMove extensions/nl
- All extensions/nl
- Extensions used on Wikimedia/nl
- Extensions included in Canasta/nl
- Extensions included in Miraheze/nl
- Extensions included in WikiForge/nl
- Analytics extensions/nl
- Statistics extensions/nl