Trac Google Analytics プラグイン (修正版)
目次
概要
Trac Google Analytics プラグイン (修正版) は Trac Google Analytics Plugin (TracGoogleAnalytics) で発生するエラーを回避した修正バージョン。
※ TracGoogleAnalytics 0.2.4 で同様の修正が行われました。
Trac Google Analytics プラグインの特徴
- Trac の各ページに Google Analytics のトラッキングコードを自動的に挿入する
- 管理者ユーザー (admin) や認証ユーザー (authenticated) のトラッキングを無効にできる
- 外部リンクのトラッキングに対応 (外部リンクのクリック数のカウント)
- ダウンロードリンクのトラッキングに対応 (ファイルダウンロード数のカウント)
- ダウンロードリンクとみなすファイル拡張子のリストを指定できる
オリジナルからの変更点
管理コンソール – [Google] – [Analytics] を表示した際に、UndefinedError が発生してページが表示されない問題を修正
※ Trac Google Analytics プラグイン (修正版) のベース (オリジナルのバージョン) は TracGoogleAnalytics 0.2.2。
※ TracGoogleAnalytics 0.2.4 で同様の修正が行われました。
使い方
- 管理コンソール – [Google] – [Analytics] を表示する
- [UID] 欄にウェブプロパティ ID (UA 番号) を入力する (UA-XXXXX-Y 形式)
- 必要に応じてその他のオプションを設定する
- [Apply changes] ボタンをクリック
ダウンロード
インストール
管理コンソールまたは Easy Install を使用してインストールする。
管理コンソール
- 管理コンソール – [プラグイン] を表示する
- [プラグインをインストール] の [ファイルを選択] で TracGoogleAnalytics-0.2.4-py2.7.egg を選択して [インストール] ボタンをクリック
- 新しく追加された [TracGoogleAnalytics 0.2.4] セクションを展開する
- すべてのコンポーネントをチェックして [変更を適用] ボタンをクリック
※ 手動でインストールする場合は、TracGoogleAnalytics-0.2.4-py2.7.egg を /path/to/env/plugins ディレクトリにアップロードする。
Easy Install
%easy_install TracGoogleAnalytics
trac.ini の [components] セクションに以下の記述を追加してプラグインを有効にする。
[components] tracext.google.analytics.* = enabled
修正箇所 (diff)
※ TracGoogleAnalytics 0.2.4 で同様の修正が行われました。(変更内容)
管理コンソール – [Google] – [Analytics] を表示すると次のようなエラーメッセージが表示される。
UndefinedError: None has no member named "upper"
エラーを回避するためオリジナルの templatesgoogle_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>
サポートする?
いただいたコメントは大変参考になります。ここまで読んでいただきありがとうございました。