• Trac Google Analytics プラグイン (修正版)

    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 で同様の修正が行われました。

    使い方

    1. 管理コンソール – [Google] – [Analytics] を表示する
    2. [UID] 欄にウェブプロパティ ID (UA 番号) を入力する (UA-XXXXX-Y 形式)
    3. 必要に応じてその他のオプションを設定する
    4. [Apply changes] ボタンをクリック

    ダウンロード

    インストール

    管理コンソールまたは Easy Install を使用してインストールする。

    管理コンソール

    1. 管理コンソール – [プラグイン] を表示する
    2. [プラグインをインストール] の [ファイルを選択] で TracGoogleAnalytics-0.2.4-py2.7.egg を選択して [インストール] ボタンをクリック
    3. 新しく追加された [TracGoogleAnalytics 0.2.4] セクションを展開する
    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>
    

    サポートする?

    いただいたコメントは大変参考になります。ここまで読んでいただきありがとうございました。

    Post Tagged with , ,

コメントを残す

メールアドレスが公開されることはありません。