Extension:EventLogging
EventLogging リリースの状態: 安定 |
|
---|---|
実装 | 特別ページ , データベース , ContentHandler |
説明 | アナリティクスのイベントを記録するためのフレームワークを提供 |
作者 | Ori.livnehトーク |
最新バージョン | 継続的な更新 |
MediaWiki | 1.33+ |
PHP | 5.5+ |
データベースの変更 | いいえ |
ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
ダウンロード | |
|
|
四半期ごとのダウンロード数 | 50 (Ranked 87th) |
使用中の公開ウィキ | 1,078 (Ranked 221st) |
translatewiki.net で翻訳を利用できる場合は、EventLogging 拡張機能の翻訳にご協力ください | |
Vagrant role | eventlogging |
問題点 | 未解決のタスク · バグを報告 |
EventLogging拡張機能は、ユーザーがどのようにMediaWikiサイトを操作しているかについて、構造化されたデータを収集することを可能にします。
特徴
- EventLoggingは、JavaScriptによるクライアントサイドロギングと、PHPによるサーバーサイドロギングをサポートしています。
- ログの動作はExtension:EventStreamConfig を使って動的に設定できます。
- イベントは、スキーマのgitリポジトリに格納されているバージョン管理されたJSONSchemasによって定義されたJSONオブジェクトです。
- この拡張機能には、これらのイベントを転送、解析、またはロードするためのバックエンドコードは一切含まれていません。 別のサービスであるEventGateは、この機能を実装し、Kafkaにイベントを挿入する処理を行います。 イベントは、様々な取り込みパイプラインを介して、下流のデータストア(Hiveなど)に永続化されます。 これらのコンポーネントの詳細は、ウィキメディア財団の構成に固有のものです。
ウィキメディアでのEventLogging
ウィキメディア財団は、利用者データを収集、集約、保存、分析するための広範なシステムの一部として、プライバシーポリシーとデータ保持ガイドラインで定められた範囲内で、EventLogging拡張機能を使用しています。
このページでは、EventLogging拡張機能の一般的な使い方について説明します。 ウィキメディア財団では、WMF専用のバックエンドコンポーネントとschema repositoriesでEventLoggingを使用しています。 ウィキメディア特有の維持されている文書については、wikitech:Analytics/Systems/EventLoggingとwikitech:Event Platformを参照してください。
Installation
- ダウンロードして、ファイルを
extensions/
フォルダー内のEventLogging
という名前のディレクトリ内に配置します。
開発者とコード寄稿者は、上記の代わりに以下を使用して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;
- 完了 – ウィキの「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).
EventLoggingでイベントを記録する
- Extension:EventLogging/Guide - EventLoggingスキーマの開発・導入など、様々な活動を行っています。
- Extension:EventLogging/Programming - イベントを記録するコードを書く開発者のためのヒントと提案
EventLogging拡張機能の開発
開発者の設定
開発者であれば、開発用のWikiでEventLoggingを設定して使用し、本番での使用をシミュレートしたいと思うでしょう。
Dockerの使用
MediaWiki-Docker/Configuration recipes/EventLogging を参照
mediawiki-vagrantを使用
mediawiki-vagrantを使って開発する場合、必要なものはすべてeventlogging
ロールにまとめられています。
有効にするには、次のように実行します。
$ vagrant roles enable eventlogging
$ vagrant provision
JavaScript開発のために
JavaScriptクライアントで作業する場合は、開発しているフォルダからnpm install
で依存関係をインストールする必要があります。
そうすると、例えばnpm test
をリントに使えます。
下記の「テストの実行方法」では、JavaScriptのテスト結果を確認する方法を紹介しています。
When adding the parameter trackdebug=true
to the URL, the console in the browser's devtools will show the event logging being triggered.
テストの実行方法
PHPテスト、Pythonテスト、JavaScriptテストがあります。
JavaScriptのテストを実行するには、開発wikiの「Special:JavaScriptTest/qunit」をご覧ください。 (Manual:JavaScript 単体テスト を参照)
PHPのテストを実行するには、PHPUnitを使用します。 インストールされていることを確認してから
$ vagrant ssh
vagrant@mediawiki-vagrant:/vagrant/mediawiki$ composer phpunit:entrypoint -- extensions/EventLogging/testsEventLoggingExtensionFunctionsTest.php
この拡張機能は 1 つ以上のウィキメディアのプロジェクトで使用されています。 これはおそらく、この拡張機能が安定していて高いトラフィックのウェブサイトでも十分に動作することを意味します。 この拡張機能がインストールされている場所を確認するには、ウィキメディアの設定ファイル CommonSettings.php および InitialiseSettings.php 内で、この拡張機能の名前を探してください。 特定のウィキにインストールされている拡張機能の完全な一覧は、そのウィキの Special:Version ページにあります。 |
この拡張機能は以下のウィキ ファーム/ウィキ ホスト/パッケージに含まれています: これは正式な一覧ではありません。 一部のウィキ ファーム/ウィキ ホスト/パッケージは、ここに記載されていなくてもこの拡張機能を含んでいる場合があります。 必ずご利用のウィキ ファーム、ウィキ ホスト、バンドルで確認してください。 |
- Stable extensions/ja
- Special page extensions/ja
- Database extensions/ja
- ContentHandler extensions/ja
- GPL licensed extensions/ja
- Extensions in Wikimedia version control/ja
- ApiMain::moduleManager extensions/ja
- BeforePageDisplay extensions/ja
- CanonicalNamespaces extensions/ja
- CodeEditorGetPageLanguage extensions/ja
- EditFilterMergedContent extensions/ja
- GetPreferences extensions/ja
- MovePageIsValidMove extensions/ja
- All extensions/ja
- Extensions used on Wikimedia/ja
- Extensions included in Canasta/ja
- Extensions included in Miraheze/ja
- Extensions included in WikiForge/ja
- Analytics extensions/ja
- Statistics extensions/ja