Author: 野澤真一 / NOZAWA Shinichi , version 2.0

MT4: 2008年6月アーカイブ

CPAN CPAN CPAN!

|

この記事は以下のURLに場所が変わる予定です。
http://www.nozawashinichi.sakura.ne.jp/fs/2008/06/cpan-cpan-cpan.html

クパン。CPAN。CPAN。
しんいちはCPANを覚えた。てぃろりろってぃってぃってぃ〜

Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー

***

今日はオフだったので、強気で2回洗濯をした。
たまってた下着類とかさばる服を全部干せた。

それで、今日の午後はたっぷり時間があるから、
研究にいそしもうと思ったのだが、
GoogleAnalyticsWidgetが動かない理由が気になって、
ふたたび手をつけてしまった。
したら、もう夜だし。
ああ、バカだ。

***

当初、GoogleAnalyticsWidgetが動かないのは、
モジュールが足らないからだとか、
IDやパスワードの設定がおかしいからで、
つまり、プラグインのソースに問題はなくて、
そのソースがちゃんと動く環境にしてやれば動く、
という認識の元作業していた。

だけど、その認識は改めた方がよいという疑いが、
段々と確信に変わってきている。
おそらく、GoogleAnalyticsWidgetはMT4.1では動かない。

ひとつには、googleにデータを読みにいく際のURIが
このウィジェットが公開された当時とは変わっている可能性が大。
というかたぶん変わってる。

もうひとつは、ダッシュボード・テンプレートの書き換えが
うまくいってない。
前の記事にも書いたけど、テンプレートの一部を
正規表現で探してきて、そこを置換するという処理で、
テンプレートを書き換えようとしているが、
正規表現でマッチする部分がない。
これはおそらくMT4.0がMT4.1になったときに変わってしまったのでは
ないかと思われる。

***

というわけで、プラグインのコードをまったくノータッチで
このGoogleAnalyticsWidgetを動かすのは無理っぽい。
そうしたら、書き換えなきゃいけない。
てか、自分で一から書くのとあまりかわらない気がしてきた。

このWidgetを実現するのは実はそんなにむずかしくない。

1.GoogleAnalyticsにログインする。
2.アクセス解析のXMLを取得する
3.XMLのデータから訪問者数の部分を抜き出して、整形して保存
4.ダッシュボードに表示

これをもっと詳しくいうと

1.LWP::UserAgentのインスタンスを生成し、GoogleAnalyticsにログインしてCookieを保持
2.そのエージェントにXMLを取得させる
3.XML::SimpleにXMLを食わせて、整形したものをmt-static/support/dashbord/0/006あたりにgoogleanalytics.xmlとか名前を付けて保存
4.blog_statsのタブを参考にダッシュボードに表示するためのテンプレートをつくってcallbackで読ませる

ということだ。

1,2,はもうできる。
3,はたぶんできる。
問題は4で、まだ、callbackやMTのテンプレートについて理解していないので
模索中。

***

一から書くといっても、GoogleAnalyticsWidgetのlib/Analytics.pmは
それなりに使えそう。
オブジェクト指向で書かれていて、
Perlでオブジェクト指向には慣れていない自分にとって
いい勉強になった。

***

今日、CPANでXML::Simpleをインストールした。
感動だ。
CPANのモジュールを自分が使うなんて、
縁遠い話だと思ってた。
でも使えた。

たとえばCrypt::SSLeayはこんな感じ。

sudo cpan install Crypt::SSLeay

そうすると、パスワードを聞かれるので、
このMacのrootのパスワードを入れる。
(アプリケーションをインストールするときなどに聞かれるやつ)

はじめてcpanを使おうとしたときは、
すこし躓きそうになったが、
てきとうにチコチコとEnterキーを叩いたり、
ftp://ftp.....
などとcpanが接続するftpのアドレスを入力したりしたら
動いた。

FTPのアドレス:cpanの設定変更

おそらくCPANのバージョンが古かったので、
FTPのアドレスを入力しなきゃならなかったが、
バージョンが新しければいらないだろう。

次に入れようとしたのがXML::Simpleモジュール。
ところが、これは

sudo cpan install XML::Simple

だけではうまくいかない。

Mac OS X に XML::Parser と expat をインストール - Daio Today

libexpatというのが必要らしいが、それって何かしらない。
とりあえずDLする。
Daio Todayさんのとこには

「解凍して、ディレクトリに入る。
makeはデフォルト状態で特に問題なし。」

と、さらっとしか書いてない。
DLしたあと何をしたらいいかわからない。

とりあえず、DLしたファイルを解凍。
それからターミナルを起動して、

cd フォルダ

で、解凍してできたフォルダに移動。

んで?
「./configure」って打てばいいわけ?
打ってみた。
したら、ターミナルに文字ががーっと流れていき、
新しいファイルが次々できる。
これでよかったらしい。
それからmekeとかした。
(いまだにmakeコマンドが何をするものなのかわからん)

で、もう1回、XML::SimpleをCPANする。

できた。
ついにオレもCPANするよーになったどー
ということで冒頭のリンクに戻る。

Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー

今はレベル6と7の間ぐらいでしょうか?
レキシカル変数とダイナミック変数の違いとか知らないですが。

「レベル6: Perl の講習を受けている人もいる。
オブジェクトの使い方を知っており、
この知識とComprehensive Perl Archive Network(CPAN)を利用すれば
強力なプログラムをすばやく作成できると知っている。
次のレベルに進んで、
この能力拡大がどこまで行くのか見たいと思っている」

次のレベルに進んで、
この能力拡大がどこまで行くのか見たいと思っている、
というのはほんとにそう思う。
CPANが持っているモジュールは本当にすごい。
最近になって使い出した
LWP::UserAgentとかXML::Simpleとか、すっごく便利で、
あんなことやこんなことが簡単に実現しそうだ、
というのがいろいろ湧いてくる。

プログラムが楽しくて仕方ない。
プログラマになった方がいいのかな?

GoogleAnalyticsWidget doesn't work

|

この記事は以下のURLに場所が変わる予定です。
http://www.nozawashinichi.sakura.ne.jp/fs/2008/06/googleanalyticswidget-doesnt-w-1.html

GoogleAnalyticsWidget

MovableTypeのプラグインで、GoogleAnalyticsWidgetというのがあって、
これを導入しようとしているができない。
Google Analyticsからアクセス解析データをとってきて、
ブログの管理画面に表示するというウィジェット。

ほかの人のブログにはインストールできたということが書いてある。
GoogleAnalyticsWidget プラグイン - Movable Type 備忘録
GoogleAnalyticsWidgetプラグインでさまざまなレポートを表示させるためのパッチ - My Temporary Blog

出来ない人もいるみたい。
GoogleAnalyticsWidget 導入でエラー - disposer

ソースコードを読み込んで、いろいろわかったことはある。
GoogleAnalyticsから自分のアクセス解析データをとってこなきゃならないが、
それにはまずGoogleにログインしなければならない。
この時、SSLを使う必要がある。
ページの取得やログインの認証などは
LWP::UserAgentモジュールをつかって行うが、
SSL通信をするばあい、LWPはCrypt::SSLeayというモジュールを使う。

で、このCrypt::SSLeayがサーバーによって入っていたり、
入っていなかったりするので、
disposerさんのようなエラーが起こる。
調べたらこのブログが置いてあるロリポップ(lolipop)サーバーも
Crypt::SSLeayが入っていないので、
GoogleAnalyticsWidgetは使えない。

しかし、バイト先で使っているサーバーはCrypt::SSLeayモジュールが
インストールされているのを確認している。
ので、使えるはず。

実際、disposerさんのようなエラーは起こらない。
だけど、エラーが起こらないかわりに、
何も起こらないのである。
ダッシュボードに表示されるはずのアクセス解析結果が
ちっとも表示されない。

Movable Type 4.0から4.1へのアップグレード | かたつむりくんのWWW

いま使っているMTは4.1なので、
確かにバージョンの問題なのかもしれない。

まだ、ダッシュボードのBlog Statsの部分にプラグインを表示する
方法がわかっていえないので、断言はできないが、
単純にここの部分で不具合がおこっているのではないか?
文字列を正規表現で認識して、
そこにGoogleAnalyticsの結果を表示するコードをくっつけるという
処理をすることで、ダッシュボードに表示させようとしているが、
その正規表現にマッチする部分がMT4.1ではなくなっている可能性が
大いにある。

鋭意調査中。

これが気になって他のことがぜんぜん手につかない!
(本来ならバイト先でする仕事で、時給が発生してもいいのに
帰ってきても気になって作業してしまう!)



アイテム

  • CIMG1422.JPG
  • CIMG1414.JPG
  • shibusawamainimage.jpg

フェムトセカンド1.0

アーカイブ

2008年7月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31