Extension:EventLogging
リリースの状態: 安定 |
|
|---|---|
| 実装 | 特別ページ, データベース, ContentHandler |
| 説明 | アナリティクスのイベントを記録するためのフレームワークを提供 |
| 作者 | Ori.livnehトーク |
| 最新バージョン | 継続的な更新 |
| MediaWiki | 1.33+ |
| PHP | 5.5+ |
| データベースの変更 | いいえ |
|
|
| ライセンス | GNU 一般公衆利用許諾書 2.0 以降 |
| ダウンロード | |
| translatewiki.net で翻訳を利用できる場合は、EventLogging 拡張機能の翻訳にご協力ください | |
| Vagrant role | eventlogging |
| 問題点 | 未解決のタスク · バグを報告 |
EventLogging拡張機能は、ユーザーがどのようにMediaWikiサイトを操作しているかについて、構造化されたデータを収集することを可能にします。
特徴
- EventLoggingはログ処理について、JavaScriptによるクライアント側と、PHPによるサーバー側をサポートします。
- ログの動作はExtension:EventStreamConfigを使って動的に設定できます。
- イベントはJSONオブジェクトとして扱い、それを定義する JSONSchemas はスキーマのgitリポジトリに格納してありバージョン管理されています。
- この拡張機能には、これらのイベントを転送、解析、または読み込むバックエンドコードは一切含まれていません。 ウィキメディアで同じ目的のため採用する別個の構成要素に関心がある人は、ウィキメディアで#EventLogging(イベントのログ処理)を参照してください。
ウィキメディアにおけるEventLogging
このページでは、EventLogging拡張機能の一般的な使い方について説明します。
ウィキメディアではEventLogging拡張機能に関して、利用者データを収集、集約、保存、分析するための広範なシステムの一部として、プライバシーポリシーとデータ保持ガイドラインで定められた範囲内での採用しています。 このシステムの説明文書は、wikitech:Event Platform を参照してください。
インストール
- ダウンロードして、ファイルを
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でインストールしてください。
スキーマの配置を設定
この拡張機能は既定では、メタウィキにスキーマを探しに行きます。 関連する既定の設定は次のとおり。
# (default) $wgEventLoggingSchemaApiUri = 'https://meta.wikimedia.org/w/api.php';
# (default) $wgEventLoggingDBname = 'metawiki';
ローカルのスキーマまたは独自のウィキ・ファームの中央ウィキからスキーマを得て採用するには、これらを上書きしてください。
一例としてローカルのウィキの名前空間 Schema を使う場合の設定は次のとおり
$wgEventLoggingSchemaApiUri = $wgServer . '/w/api.php';
$wgEventLoggingDBname = $wgDBname;
(そのスキーマを作成するには必ず自動認証済みの利用者アカウントを使うこと)。
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のテスト結果を確認する方法を紹介しています。
URL に引数 trackdebug=true を追加するとイベントのログを取り出し、ブラウザの開発ツール(devtools)にあるコンソールに示します。
テストの実行方法
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
- ApiMain::moduleManager extensions/ja
- BeforePageDisplay extensions/ja
- CanonicalNamespaces extensions/ja
- CodeEditorGetPageLanguage extensions/ja
- EditFilterMergedContent extensions/ja
- GetPreferences extensions/ja
- MovePageIsValidMove extensions/ja
- GPL licensed extensions/ja
- Extensions in Wikimedia version control/ja
- All extensions/ja
- Extensions used on Wikimedia/ja
- Extensions included in Canasta/ja
- Extensions included in Miraheze/ja
- Analytics extensions/ja
- Statistics extensions/ja
