Extension:EventLogging/ru

Category:GPL licensed extensions/ru
Справка по расширениям MediaWiki
EventLogging
Статус релиза: стабильноCategory:Stable extensions/ru
Реализация Служебная страница Category:Special page extensions/ru, База данных Category:Database extensions/ru, ContentHandler Category:ContentHandler extensions/ru
Описание Предоставляет платформу для регистрации аналитических событий
Автор(ы) Ori.livnehобсуждение
Последняя версия постоянные обновления
MediaWiki 1.33+Category:Extensions with manual MediaWiki version
PHP 5.5+
Изменения в БД Нет
Лицензия GNU General Public License 2.0 или позднее
Скачать Category:Extensions in Wikimedia version control/ru
  • $wgEventLoggingStreamNames
  • $wgEventLoggingSchemaApiUri
  • $wgEventLoggingServiceUri
  • $wgEventLoggingQueueLingerSeconds
  • $wgEventLoggingBaseUri
  • $wgEventLoggingSchemas
  • $wgEventLoggingDBname
Ежеквартальные загрузки 28 (Ranked 83rd)
Использование общедоступными вики 1,078 (Ranked 221st)
Переведите расширение EventLogging, если оно доступно на translatewiki.net
Роль Vagrant eventlogging
Проблемы Открытые задачи · Сообщить об ошибке
Category:All extensions/ru

Расширение EventLogging позволяет собирать структурированные данные о том, как пользователи взаимодействуют с сайтами MediaWiki.

Возможности

  • EventLogging supports client-side logging from JavaScript and server-side logging from PHP.
  • Logging behavior can be dynamically configured using Extension:EventStreamConfig.
  • The events are JSON objects defined by versioned JSONSchemas stored in a schema git repository.
  • The extension does not include any back-end code for transporting, parsing, or loading these events. A separate service, EventGate, implements this functionality and deals with inserting events into Kafka. Events are then persisted in downstream datastores (e.g. Hive) via various ingestion pipelines. The details of these components are specific to Wikimedia Foundation's configuration.

EventLogging at Wikimedia

The Wikimedia Foundation uses the EventLogging extension as part of a broader system for collecting, aggregating, storing, and analyzing user data within the limits set out by our privacy policy and data retention guidelines.

This page is about general use of the EventLogging extension. The Wikimedia Foundation uses EventLogging with WMF specific backend components and schema repositories. For Wikimedia specific and maintained documentation, see wikitech:Analytics/Systems/EventLogging and wikitech:Event Platform.

Installation

  • Скачайте и распакуйте файл(ы) в папку с названием EventLogging в вашей папке extensions/.
    Вместо этого разработчикам и соавторам кода следует установить расширение из Git, используя:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EventLogging
  • Добавьте следующий код в конце вашего файла LocalSettings.php :
    wfLoadExtension( 'EventLogging' );
    $wgEventLoggingBaseUri = '/beacon/event';
    $wgEventLoggingServiceUri = '/beacon/intake-analytics';
    $wgEventLoggingStreamNames = false;
    
  • Yes Готово – Перейдите на страницу Special:Version на своей вики, чтобы удостовериться в том, что расширение успешно установлено.


Установка Vagrant:

  • Если вы используете Vagrant , установите с помощью vagrant roles enable eventlogging --provision

Configuring the schema location

By default, the extension will look for schemas on Meta-Wiki.

The relevant default settings are:

# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';

To use local schemas, or schemas from the central wiki of your own wikifarm, you need to override these. E.g. to use the Schema namespace of the local wiki, set

$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;

(and ensure the user account that will create the schemas is autoconfirmed).

Logging events using EventLogging

Developing the EventLogging extension

Developer setup

As a developer, you will want to set up and use EventLogging on your development wiki to simulate its use in production.

Using Docker

See MediaWiki-Docker/Configuration recipes/EventLogging

Using mediawiki-vagrant

If you develop using mediawiki-vagrant, everything you need is encapsulated in the eventlogging role. To enable it, run:

$ vagrant roles enable eventlogging
$ vagrant provision

For JavaScript development

If working on the JavaScript client, you'll need to install dependencies with npm install from the folder you're developing in. Then you can use npm test to run ESLint for example. The "How to run tests" section below points out how to see JavaScript test results.

When adding the parameter trackdebug=true to the URL, the console in the browser's devtools will show the event logging being triggered.

How to run tests

There are PHP tests, Python tests, and JavaScript tests.

To run JavaScript tests, visit Special:JavaScriptTest/qunit on your development wiki. (See Manual:JavaScript unit testing.)

To run PHP tests, we use PHPUnit. Make sure it is installed, then:

$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
Category:Extensions used on Wikimedia/ru#EventLogging/ru Category:Analytics extensions/ru Category:Statistics extensions/ru
Category:All extensions/ru Category:Analytics extensions/ru Category:ApiMain::moduleManager extensions/ru Category:BeforePageDisplay extensions/ru Category:CanonicalNamespaces extensions/ru Category:CodeEditorGetPageLanguage extensions/ru Category:ContentHandler extensions/ru Category:Database extensions/ru Category:EditFilterMergedContent extensions/ru Category:Extensions in Wikimedia version control/ru Category:Extensions included in Canasta/ru Category:Extensions included in Miraheze/ru Category:Extensions included in WikiForge/ru Category:Extensions used on Wikimedia/ru Category:Extensions with manual MediaWiki version Category:GPL licensed extensions/ru Category:GetPreferences extensions/ru Category:MovePageIsValidMove extensions/ru Category:Special page extensions/ru Category:Stable extensions/ru Category:Statistics extensions/ru