2009/8/7 金曜日

XREAでmt4i 3.1aを使って絵文字表示対応に

あ、どうも、にわかperlプログラマーのマタノです。

せっかく前回記事「XREAでEncode::JP::Mobileをインストールする」で、XREAでもEncode::JP::Mobileが使えるようになったので、「MT4i 絵文字対応テストエントリー」talk to oneself 2さん)で公開されている、MT4i 3.1aも動くようにしてしまおうというこの企画。

で、MT4i 3.1a上で絵文字を表示するには、Encode::JP::Mobileのインストール以外にも、Kickstart my heartさんで公開されている、「MTでも絵文字使おうぜプラグイン」が必要です。
詳しくは、「Movable Type と TypeCast と絵文字と MT4i」talk to oneself 2さん)を参照してください。
 
 
■MT4i 3.1aインストール手順
mt4i 3.1aをダウンロード(SVNリポジトリからチェックアウト)します。
http://projekt-zwischen.googlecode.com/svn/branches/mt4i/

インストール手順は、mt4i 3.0と同様に行ってください。

んで、「MT4i/3.0/インストール」 を参考に、MT4i Managerで基本的な設定を行った後、同じくMT4i Managerの、

 ●高度設定項目
  ○追加ライブラリのパス

から、前回記事「XREAでEncode::JP::Mobileをインストールする」でperlモジュールをインストールしたパスを設定します。

記事の例でしたら、

/virtual/XXXXX/lib/perl5/site_perl/5.8.8
/virtual/XXXXX/lib/perl5/site_perl/5.8.8/i686-linux

が、インストール先のパスですので、

/virtual/XXXXX/lib/perl5/site_perl/5.8.8,/virtual/XXXXX/lib/perl5/site_perl/5.8.8/i686-linux

を入力し、保存します。

これで作業は終わりです。
(もし、mt4i/cache/tmpl以下に古いテンプレートが残っている場合は、念のため一旦消去したほうがいいです)

以上です。

でも、なぜかわたしはWordPressユーザーです(´∀`)


XREAでEncode::JP::Mobileをインストールする

あ、どうも、ウィークデープログラマーのマタノです。

XREACPANモジュールのEncode::JP::Mobileを利用する方法をば。

わたしが利用しているのはs282サーバなので、下記手順はあくまでs282サーバ環境上ので説明となります。
他のサーバでは、部分的にパス等変わるかもしれません。
適宜読み替えてください。
また、各モジュールのバージョンは記事投稿時点での最新版です。

■準備
まず、SSHでサーバにログインし、作業用ディレクトリを作成しておきます。
ディレクトリ名とパスは任意のものでかまいません。

$ mkdir /virtual/XXXXX/tmp

XXXXXはXREAの自分のユーザIDです。
今回はtmpという作業用ディレクトリを作成しました。
以下、tmpディレクトリでの作業例として説明していきます。

また、Encode::JP::Mobileのインストールには、Params::UtilとFile::ShareDirも必要です。
以前にインストール済みでなければ、今回新たにインストールしなければなりません。

■Params::Utilのインストール
▽ソースのダウンロード
http://search.cpan.org/~adamk/Params-Util-1.00/lib/Params/Util.pm
から、最新ソースをダウンロード(Params-Util-1.00.tar.gz)。
tmpディレクトリにUPする(またはtmpディレクトリでwget)。

▽ソースを展開

$ tar xvzf Params-Util-1.00.tar.gz

▽Makefileの作成
共有サーバなので、自分のホームディレクトリ以下にインストールする必要があります。
PREFIXオプションで、インストール先を指定します。

$ perl Makefile.PL PREFIX=/virtual/XXXXX

上記例だと、

/virtual/XXXXX/lib/perl5/site_perl/5.8.8/i686-linux/

というディレクトリが自動作成され、その中にインストールされます。

makeコマンドでコンパイル。

$ make

インストールします。

$ make install

Params::Utilのインストールは以上です。
 
 
■File::ShareDirのインストール
▽ソースのダウンロード
http://search.cpan.org/~adamk/File-ShareDir-1.00/lib/File/ShareDir.pm
から、最新ソースをダウンロード(File-ShareDir-1.00.tar.gz)。
tmpディレクトリにUPする(またはtmpディレクトリでwget)。

▽ソースを展開

$ tar xvzf File-ShareDir-1.00.tar.gz

▽Makefileの作成
File::ShareDirのコンパイルではParams::Utilを参照する必要があるので、perlのIオプションで先ほどインストールしたParams::Utilのパスを指定します。

$ perl -I/virtual/XXXXX/lib/perl5/site_perl/5.8.8/i686-linux Makefile.PL PREFIX=/virtual/XXXXX

$ make

$ make install

File::ShareDirのインストールは以上です。
 
 
■Encode::JP::Mobileのインストール
▽ソースのダウンロード
http://search.cpan.org/~miyagawa/Encode-JP-Mobile-0.26/lib/Encode/JP/Mobile.pm
から、最新ソースをダウンロード(Encode-JP-Mobile-0.26.tar.gz)。
tmpディレクトリにUPする(またはtmpディレクトリでwget)。

▽ソースを展開

$ tar xvzf Encode-JP-Mobile-0.26.tar.gz

▽Makefileの作成
Encode::JP::MobileのコンパイルではFile::ShareDirを参照する必要があるので、perlのIオプションで先ほどインストールしたFile::ShareDirのパスを指定します。

$ perl -I/virtual/XXXXX/lib/perl5/site_perl/5.8.8 Makefile.PL PREFIX=/virtual/XXXXX

$ make

$ make install

Encode::JP::Mobileのインストールは以上です。
 
 
ためしにサンプルスクリプトを実行してみます。
http://search.cpan.org/~miyagawa/Encode-JP-Mobile-0.26/lib/Encode/JP/Mobile.pm
に載っているサンプルコードの冒頭に、上記でインストールした各ライブラリのパスを追記します。

use lib ‘/virtual/XXXXX/lib/perl5/site_perl/5.8.8’;
use lib ‘/virtual/XXXXX/lib/perl5/site_perl/5.8.8/i686-linux’;
use Encode;
use Encode::JP::Mobile;

my $bytes = “\x82\xb1\xf9\x5d\xf8\xa0\x82\xb1”; # NTT DoCoMo 絵文字を含んだ Shift_JIS バイト列
my $chars = decode(“x-sjis-imode”, $bytes); # \x{3053}\x{e6b9}\x{e63f}\x{3053}

use Encode::JP::Mobile ‘:props’;
if ($chars =~ /\p{InDoCoMoPictograms}/) {
warn “It has DoCoMo pictogram characters!”;
}

sample.plというファイル名で保存し、実行してみます。

$ perl ./sample.pl

It has DoCoMo pictogram characters! at sample.pl line 11.

正常に動きました!

以上です。

※なお、それなりに技術的知識のある方が読まれることを前提に書いています。
SSH接続やmakeコマンドといった基本的な事項についてのご質問にはお答えできませんので、ご了承くださいませ。

— 追記 —
コンソール上でperlをガシガシ実行したせいか(どうかはまったく定かではないですが)、WEB経由でCGI起動すると、

CGIWrap Error: Real UID could not be changed!

というエラーが発生しました。
一度、SSH接続からログアウトしたら解消されましたが、まあ、こういうこともあるので、上記作業はすべて自己責任でお願いします( `・ω・´)


2009/7/9 木曜日

MT4i(MT4i3.0.8X1)でAdSenseを複数表示したい件

「MT4i」のXHTML対応版、「MT4i3.0.8X1」で、GoogleのAdSenseを利用する際の注意事項+αをば。

基本、本家MT4iの説明ページ通りの手順で、Adsense.plというファイルを作ってもらえばいいのですが、サイトそのものがXHTML化しているので、当然ながら、AdSense側の「マークアップ」項目も、XHTML(WAP2.0)を選択する必要があります。

あと、複数のチャンネルを切り替えて(複数のAdSenseコードを同居させて)、使用したい場合。
つまり、たとえばTOPページに、「TOPページヘッダー」「TOPページフッター」という二つのことなるチャンネルを同居させたい場合ですね。

■手順
1)必要な分のAdSenseコードをファイルにして保存。
以下のように連番でもいいですし、独自に名前をつけてもいいと思います。

Adsense.pl
Adsense2.pl
  ・
  ・
Adsense99.pl

2)mt4i.cgiファイルの修正
_cacheoutというサブルーチンがあるので、その中に、以下のコード例(追加したAdSenseコードのファイルが「Adsense2.pl」の場合)にならって、必要な分のソースコードを追加する。

# Adsense2
my $adsense2_pl = $bin.’/lib/mt4i/Adsense2.pl‘;
if ($tmpl->query(name => ‘ADSENSE2‘) eq ‘VAR’) {
my $adsense2 = (-e $adsense2_pl)
? `perl $adsense2_pl`
: encode(“shiftjis”, decode(“euc-jp”, ‘Error: Adsense2.pl が見付かりません。’));
$tmpl->param(ADSENSE2 => $adsense2);
}

3)テンプレート側に、<TMPL_VAR NAME=”ADSENSE2″>というタグを埋め込めば、Adsense2.plの広告内容が表示される。

以上


2009/6/12 金曜日

ネタフルのモバイル版「ネタフルズ」のXHTML対応に係わった件

あ、どうも、マタノ兄弟商会マタノです。

ネタフルのモバイル版「ネタフルズ」のXHTML対応に一枚噛んだということで、なにか技術者っぽい(これでもdocomoの503シリーズ時代から、モバイルサイト開発やっています)ことを書こうと思ったのですが、夜も遅いし眠いし、お酒飲まないといけないので、関係記事にリンクだけしておきます。

『ネタフルのモバイル版「ネタフルズ」もXHTML対応版になりました』
『MTのケータイ向け変換プログラム「MT4i」のXHTML対応改変版を公開します』
mbdbさん)

まあ、MT4iの具体的な改変箇所は、ファイルをdiffしてもらえば、すぐわかると思いますので。

じゃあ、飲みます。
 
 
あ、そうそう、書き忘れるとこだった!
さきほど、荻窪ルースターにライブを観に行ってきました。
ベースとピアノとドラムのトリオ。

あと、ぜんぜん関係ないですが、帰りに寄った、ルースターの近くの博多ラーメン屋。
味は薄いしスープは冷めてるしで、なんなんですか!? あれ!
雑誌に載ったとか店先に貼ってありましたが、やめてください! ほんとに!ヽ(`Д´)ノ


HTML convert time: 1.028 sec. Powered by 'WordPress'