
概要
Trac Google Analytics プラグイン (修正版) は Trac Google Analytics Plugin (TracGoogleAnalytics) で発生するエラーを回避した修正バージョン。
Trac Google Analytics プラグインの特徴
- Trac の各ページに Google Analytics のトラッキングコードを自動的に挿入する
- 管理者ユーザー (admin) や認証ユーザー (authenticated) のトラッキングを無効にできる
- 外部リンクのトラッキングに対応 (外部リンクのクリック数のカウント)
- ダウンロードリンクのトラッキングに対応 (ファイルダウンロード数のカウント)
- ダウンロードリンクとみなすファイル拡張子のリストを指定できる
オリジナルからの変更点
- 管理コンソール – [Google] – [Analytics] を表示した際に、UndefinedError が発生してページが表示されない問題を修正
※ Trac Google Analytics プラグイン (修正版) のベース (オリジナルのバージョン) は TracGoogleAnalytics 0.2.2。
使い方
- 管理コンソール – [Google] – [Analytics] を表示する
- [UID] 欄にウェブプロパティ ID (UA 番号) を入力する (UA-XXXXX-Y 形式)
- 必要に応じてその他のオプションを設定する
- [Apply changes] ボタンをクリック
ダウンロード
インストール
管理コンソールまたは Easy Install を使用してインストールする。
管理コンソール
- 管理コンソール – [プラグイン] を表示する
- [プラグインをインストール] の [ファイルを選択] で TracGoogleAnalytics-0.2.2-py2.6.egg を選択して [インストール] ボタンをクリック
- 新しく追加された [TracGoogleAnalytics 0.2.2] セクションを展開する
- すべてのコンポーネントをチェックして [変更を適用] ボタンをクリック
※ 手動でインストールする場合は、TracGoogleAnalytics-0.2.2-py2.6.egg を /path/to/env/plugins ディレクトリにアップロードする。
Easy Install
%easy_install TracGoogleAnalytics-0.2.2-py2.6.egg
trac.ini の [components] セクションに以下の記述を追加してプラグインを有効にする。
[components] tracext.google.analytics.* = enabled
修正箇所 (diff)
管理コンソール – [Google] – [Analytics] を表示すると次のようなエラーメッセージが表示される。
UndefinedError: None has no member named "upper"
エラーを回避するためオリジナルの templates\google_analytics_admin.html を次のように修正。
--- google_analytics_admin.html (original)
+++ google_analytics_admin.html (modified)
@@ -22,3 +22,3 @@
<label for="uid">UID:</label>
-<input type="text" name="uid" value="${ga.uid.value.upper()}"/>
+<input type="text" name="uid" value="${ga.uid.value}"/>
<p class="help">Enter your Google Analytics' UID in this box.<br/>
※ エラーの原因は None 定数からの str.upper() 呼び出し。UID を設定するまで ga.uid.value 属性値は未定義 (None) が返る。
templates/site.html によるトラッキングコードの挿入
/path/to/env/templates/site.html を作成すると、プラグインを使わずに Google Analytics を導入できる。たとえばトラッキングコードを単に挿入する場合 site.html の内容は次のようになる。(UA-XXXXX-Y の部分は書き換える)
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/" py:strip="">
<body py:match="body" py:attrs="select('@*')">
${select('*|text()')}
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXX-Y");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body>
</html>
関連リンク
- TracGoogleAnalytics – Google For Trac
- Trac Google Analytics (Source Code)
タグ: リリース