JavaScript、Ajax、HTML5(API)、Ruby…Web及び関連技術の実験&情報公開&制作物紹介。

dopvSTAR* 導入メモ

| トラックバック(1)

Movable Type 対応のアクセス解析ツール「dopvSTAR*」を導入しました。
Movable Type と相性がよいということで導入してみたのですが、いくつか気付いたことが。

  • よくある「カテゴリの説明で日本語表記」を前提としているが、ウチは関係ない(英語表記のみ、カテゴリの説明は説明として使用)
  • ログ取得の書式サンプルそのままだと、XHTML1.0のValidationに通らない
  • 月別アーカイブと日別アーカイブを別に説明しているが、テンプレートは同一のもの(一つの日付アーカイブテンプレート)を使用
  • SSIでテキストカウンタを使いたいけれど、その方法が明示されていない

ということで、その辺りを調査し実際に解決していったので、覚え書きとして残しておきます。

MovableTypeのアクセス解析 [楽]を参考にしました。)

導入環境

OS
Mac OS X v10.4.7
Webサーバ
Apache 2.0.x+Perl5.8.7
(xampp for Mac OS X v0.5 使用)
Movable Type 3.2-ja-2
dopvSTAR* 0089

前準備(MovableType)

SSIを使用するにあたり、httpd.confにて XBitHack on を設定したので、吐き出す HTMLファイル に実行属性を付ける必要あり。
mt-config.cgiの以下の箇所を変更:

187行目あたり
# HTMLUmask 0022

HTMLUmask 0000
201行目あたり
# HTMLPerms 0777

HTMLPerms 0777

dopvSTAR* インストール

(詳細略)

dopvSTAR* 初期設定(dsi.pl 編集)

528行目あたり
$INI{'mt_dir'} = '(適切なmtへの絶対パス)';
531行目あたり
$INI{'mt_cfg'} = 'mt-config.cgi'; # ←MT3.2なので変更無し
535行目あたり
$INI{'mt_cate'} = 0; # ←カテゴリ名の変換を行わないので「0」に設定

インデックステンプレートへのログ取得・カウンタ出力タグ記述

適切なところに以下を記述:

<div class="side-counter side"> <script type="text/javascript" language="JavaScript"> <!-- //===== ログ取得CGIへのパス(相対パスもしくはURL) var pa = "<$MTBlogURL$>ds/dsw.cgi"; //===== ページ名(半角英数文字のみ) var pg = "INDEX"; //===== 出力タイプ(g=グラフィックカウンタ, m=gifロゴ, n=出力ナシ) var p = "n"; //===== カウントアップしないなら "no" var cnt = ""; document.write('<a href="http://tech.bayashi.net/" title="技林/CGI">'); var a="&amp;&amp;"; var pf=navigator.platform; var lng=navigator.language; var swh=screen.width+"x"+screen.height; var cd=screen.colorDepth; var pd=screen.pixelDepth; var rf=document.referrer; document.write("<img src='"+pa+"?xx=",new Date().getSeconds(),a+"cnt="+cnt+a+"p="+p+a+"md=j"+a+"pg="+pg+a+"pf="+pf+a+"lng="+lng+a+"swh="+swh+a+"cd="+cd+a+"pd="+pd+a+"rf="+rf+"' alt='' border='0' />"); document.write('</a>'); // --> </script> <noscript> <a href="http://tech.bayashi.net/" title="技林/CGI"><img src="<$MTBlogURL$>ds/dsw.cgi?p=n&amp;&amp;md=nj&amp;&amp;pg=INDEX" alt="" border="0" /></a> </noscript> <!--#include virtual="/ds/dsw.cgi?p=t&&count=total&&md=s" --><br /> Y: <!--#include virtual="/ds/dsw.cgi?p=t&&count=yesterday&&md=s" --> / T: <!--#include virtual="/ds/dsw.cgi?p=t&&count=today&&md=s" --> <!--#include virtual="/ds/dsw.cgi?p=n&&md=s&&pg=INDEX&&bot=1&&cnt=no" --> </div>

※ 参考にしたサンプルとの相違点

  • <script>?</script><noscript>?</noscript> 全体を <a href="...">?</a> でくくっていたのを、内部に記述するよう変更
  • JavaScriptコメント中に「-」(ハイフン)が2つ以上続く箇所が存在するので、「=」に置き換え
  • URL中に「&」がそのまま現れている箇所(SSIによるCGI呼び出し除く)をHTMLエンコード(「&amp;」に置き換え)
  • カウンタをSSIによるテキストカウンタに(dsw.cgi?p=t&&count=*****&&md=s")

カテゴリーアーカイブテンプレートへのログ取得タグ記述

上記インデックステンプレートへの記述を参考に、pgの設定を以下のように記述:

var pg = "<$MTArchiveTitle$>";

※カテゴリー名に半角英数字しか使用しておらず、カテゴリーの説明で日本語置き換えをしていないので、これだけで充分。

日付アーカイブテンプレートへのログ取得タグ記述

拙作の二つのプラグイン(DateSlashedFilterSpan)を使用し、以下のように記述:

var pg = "<$MTBlogID$>_<MTSpan encode_url="1"><$MTArchiveTitle date_slashed="1"$></MTSpan>";

※日付形式をスラッシュ区切りにして、URLエンコード(「/」を「%2F」に変換)。
 →こうすることで、月別アーカイブか日別アーカイブかに寄らず同様の形式でページ指定ができる。
※※ドキュメントには「ページ名に使用できるのは半角英数字と『-』と『_』のみ」とありますが、このようにURLエンコードすることでほかの文字も有効になっちゃいます。

エントリーアーカイブテンプレートへのログ取得タグ記述

以下のように記述(サンプル通り):

var pg = "<$MTBlogID$>_<$MTEntryID pad="1"$>";

以上。
取り敢えず、これで期待通りに動いています。

トラックバック(1)

あんちもん2.Lab - dopvSTAR* 検索結果文字化け対策 (2006年7月16日 22:49)

MovableType+dopvSTAR* で、google検索キーワード等のUTF-8エンコードの文字化けを解決する方法メモ。 続きを読む

カテゴリ

月別 アーカイブ

OpenID対応しています OpenIDについて

このブログ記事について

このページは、あんちもん2が2006年7月 1日 21:21に書いたブログ記事です。

ひとつ前のブログ記事は「汎用コンテンツタグ - MTSpan」です。

次のブログ記事は「私のポリシー (HTML編)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。