メイン » 仕事の周辺 » AxKit

2005年02月24日

プログラムで不思議な現象っていうのは、結局バグということを改めて認識

XSPを使っていて、リロードするたびにサーバーエラーになったり、正常に表示されたり、と言う不思議な現象にぶちあたり、1週間ほど悩む。
完全なエラーならミスがないか細かくチェックしていくのですが、リロードすると正常に表示される(しかも正常に表示される回数の方が圧倒的に多い)ので、???の状態。
原因は、.htaccessファイル内の設定ミスでした…。

投稿者 idic : 12:42 | コメント (0)

2005年03月07日

AxKit::XSP::Sendmail

AxKit::XSP::Sendmailでのメール送信は、subjectに日本語を入れると文字化けして挫折中だったのですが、ここを参考にMIME::Base64でエンコードしてからほおりこむと問題なく送信できました。
で、プログラム内で毎回エンコードさせるのも無駄な気がしてこんなんつくりました。
デコード用も作っておかないと後でプログラムを読んだ時に困るかも(^^;)。

投稿者 idic : 23:08 | コメント (0)

2005年04月06日

押してもだめなら引いてみな

ESQLでWebからパラメータによって検索キーにする項目を動的にセットしたい場合、下記でビンゴでした。
<esql:query>
SELECT * FROM table1 WHERE <xsp:expr>$keyn</xsp:expr> =
<esql:parameter><xsp:expr>$keyv</xsp:expr></esql:parameter>
</esql:query>

投稿者 idic : 18:10 | コメント (0)

2005年04月27日

不思議な現象再び

またやってしまった。
リロードする度、動いたり動かなかったりする不思議な現象(^^;)。
同じフォルダに入っているコピー元のページが動いていたので、今回は絶対設定ミスではないと思っていたのに、散々悩んだ末に念のために確認したら、

<Files hoge.xsp>
AxAddXSPTaglib AxKit::XSP::Util
AxAddXSPTaglib AxKit::XSP::Param
</Files>
となってました…。設定ミスならまったく動いてくれるなよ…といいたい。

投稿者 idic : 12:49 | コメント (0)

2005年06月04日

PODを読もう

Apacheのエラーログに何故か

xsp:include is deprecated at (eval 136) line 11.

と言うようなエラーが残ってしまう。
XSPのフォルダでグレップをかけて、includeを探すと
<xsp:structure>
  <xsp:include>Jcode</xsp:include>
</xsp:structure>
にヒット。これを削除すると、確かにエラーが消える。
XSP.pmのPODを確認したらincludeではなく、importでした。
ここみて書いたはずなんですが(^^;)。

投稿者 idic : 12:47 | コメント (0)

2005年07月01日

某携帯キャリアの(ピー)なアドレス対策

メール関連の既存のモジュールを使うと、決まって問題になるのが、ネットで使ってはいけないはずのメールアドレスが、実際に使われている件。
そういえばMail::CheckUserを使った時が、既存のモジュールに手を加えた初めての体験でした。
AxKit::XSP::Sendmailは、Email::Validを使っているようなのですが、このモジュールの文法チェック部分を見て、クラクラ。かの有名なJeffrey Friedlさんの正規表現が使われているではありませんか。
とてもじゃないけど、私には変更無理、と思って調べたら、これを上書きするEmail::Valid::Looseというモジュールがあり、しかもportsに入ってました。感謝感謝。
やれやれと思ったら、今度は、Mail::Sendmaiのチェックに引っかかり送信不可。
幸いこちらは分かりやすい正規表現だったため、アカウント部分の最後に\.{0,1}を追加して一見落着。通さないのが正しい姿勢なのかとも思いつつ…。

投稿者 idic : 19:20 | コメント (0)

2005年08月17日

XIMS

久しぶりにXIMS(eXtensible Information Management System)のサイトを確認したら、ちょうどXIMS 1.0 RC1が公開されてました。
デモサイトに日本語を入れてみたら、ちゃんと表示・更新可能でした。さすが非英語圏で開発されているだけあります。ソースをもらってきてUTFでgrepをかけると、結構たくさんヒットしました。
DBはオラクルかポスグレなので、すぐにインストールできる環境がないのと、依存モジュールが結構ありそうなので、環境があってもインストールできるかどうかが不安ですが、是非試してみたいものです。

AxKitを利用したもう一つのCMS、Callisto CMSの方は開発が止まってしまってるのか、一時的にダウンしているのかリンク切れ。

投稿者 idic : 22:01 | コメント (0)

2005年08月26日

XSPでDataGridもどき

カテゴリの表示順序を調整したい時等、DBからテーブルを丸ごと読み、エクセルのデータシートのようなフォームに貼り付け、修正、一括登録というのはよくあると思いますが、今までCGIではDBを使わず、テキストファイルのデータ形式だったので、POSTされたデータを、カウンタを回しながら読み、順にファイルに書き込み、項目数に達したら改行コードをprintしておりました。
似たようなことをAxKitからやろうとしてフリーズ。ここだけCGIに飛ばそうかと思ったり(^^;)。
それもなんだから、XOOPSの「ブロック管理」の画面やMTの「一括編集」など色々覗き回ったところ、どちらもフォームにちゃんと添え字が付いてます。最終的には同じPerlのMTのsave_entriesを参照に、
my @postvals = $cgi->param;
foreach (@postvals) {
next unless $_ =~ /^cid_(\d+)/;
my $id = $1;
my $pid = $cgi->param('pid_' . $id);
my $title = $cgi->param('title_' . $id);
my $weight = $cgi->param('weight_' . $id);
#DB登録
}


投稿者 idic : 12:39 | コメント (0)

2005年09月23日

Handel

面白そうなものを見つけたのでメモ。
Handel - Simple commerce framework with AxKit/TT2 support
AxKitのタグリブとTemplate Toolkitをサポートしたeコマースのフレームワーク?だそうです。
ホームはこちら。メーリングリストはこちら

投稿者 idic : 23:49 | コメント (0)

2005年10月15日

POSTの文字コード

POSTされるデータの文字コードは、入力フォームのページの文字コードと同じ文字コードになるはずですよねぇ。
そう思っていたら、AxKitの場合はそうでもないらしい。どこまでが仕様なのか、こちらの設定ミスなのかよく分からないのですが、$cgi->param('name');がUTF-8で返ってきます。<param:yourid/>のコードは今のところ不明(^^;)。
$cgi->param('name');と<param:yourid/>はイコールで、どちらもフォームのページの文字コードと同じものが返ってくるものだと思い込んでました。
Webサービス経由でDB(MySQL)に落とそうとしたら、文字化けするので、DBの設定、Webサービスと一つ一つつぶしていったら、思わぬところに落とし穴でした…。
<param:yourid/>がUTF-8で返ってくるのなら、仕様として意味が分かるんですが<param:yourid/>は文字コードに関しては何もいじっていないはず。いったいどこでどうなってるんでしょう? 想定外の使い方をしてるのかなぁ。

投稿者 idic : 18:48 | コメント (0)

2005年10月22日

FreeBSD6.0その3

FreeBSD6.0とAxKitのまとめ

  • いきなりportsでAxKitを入れると、Apacheもportsで入るが、expat抜きで入れてくれる。
  • 先にApacheをportsでそのまま入れるとexpatも入るが、基本的な動作には支障なさそう。
  • ただし、XSPからSOAP::Liteを使う場合には、Apacheをexpat抜きにしておく必要がある。
     (これはAxKit固有の問題ではなく、mod_perlあるいはPHPにも共通。またSOAP::Lite以外にもexpatに依存するモジュールを使う場合も多分同じ)
  • すでに入っているApacheにexpatが含まれているかどうかを調べるには、
     strings `which httpd` | grep XML とやれとpkg-messageに書いてある。何も返ってこなければいいらしい。
  • FreeBSD 5.3ではFixされているportsのAxKit::CharsetConv class関連のバグが、6.0では未対応。(日本語メールを送ろうとすると送れない)。ルートのお兄さんに教えてもらって、files/patch-AxKit::CharsetConv.xsというファイルに、上記URL記載のパッチを書き込み。あとは普通にインストール。

投稿者 idic : 12:06 | コメント (0)

2006年07月28日

AxKit2.0

久しぶりにAxKitネタ。AxKit2が完成したみたいです。Apache2用のAxKitではなく、HTTPサーバーも既存のPerlサーバーを元に丸ごと書いてしまったようです。
Apache3が出ても大丈夫なようにということと、インストールも楽になりそうです。プロバイダのレンタルサーバでは動きそうにありませんが(^^;)。
正式リリースされれば試してみたいです。今度はportsが出るのを待たなくても大丈夫かな。

投稿者 idic : 11:11 | コメント (0)

2006年08月25日

AxKit2

AxKit2がCPANにアップロードされたもよう。
今はめちゃめちゃ忙しいため、試すのはもう少し先になりそうです。

投稿者 idic : 22:59 | コメント (0)