Webコンサルタントの愚痴とアジャイル,生産性向上,Trac,オープンソースなどの与太話
前回のエントリでは、海外でmojavi2をPHP5で動作させるプロジェクトをやっていた人にメールして、残念な結果に終わったところだったのだが、最終的になんとか動作するようにもっていけたので、そのメモ。
手順は以下の通りだ。
本質的な問題としては、セッションを保持する部分がうまくいっていないので、小手先で無理やりセッションに値をセットするようにしたってこと。
もっと良い手がないかは考える。
前回のエントリで書いたとおり、mojavi2をPHP5で動作させるプロジェクトが海外にあったみたい(今はもうない)で、入手できたアーカイブが最新でないかもしれないので、作者の人に以下のように問い合わせしてみた。
Hello.
I am Ryuzee, programmer in Japan.
I have been developed an application with PHP4 and mojavi2.
And now I have to migrate this application to new environment with PHP5.I think the best solution is to rewrite the application with mojavi3 or mojavi4,
but the application is too big to migrate.I've looked for the way how to work with mojavi2 on PHP5, and I've found your website (at web.archive.org).
I can download yuma-snapshot-2005.4.26, but I think this version is not a latest release.
($user->setAttribute and others are not working correctly)So, can you send me a latest-version of Yuma ?
Thank you for your reading my email.
Best regards.
なんて出鱈目英語で送ったら、即効レスポンスが来たよ。回答は、
ちゅうことだった。残念っ。がんばるしかないか。
いつもいつも嵌っているのだが、今回もまた難題。
PHP4+mojavi2で動いているアプリなんだけど、さすがにPHP4の保守も切れたので、PHP5に変えないといけない。
んで、mojavi2なんだけど、古いフレームワークということもあって、PHP4までしか対応しておらず、選択肢としては、
という二つの選択肢から選ぶことになる。
どっちが良いのか一瞬悩んだのだが、mojavi3以降にすると、アプリ本体に手を入れる箇所が多くて面倒そう(context対応)なので、無理やりmojavi2をPHP5対応させる方式を選択した。
いやー、イバラの道っぽいよ・・・。
とりあえず、PHP4とPHP5の違いとして、参照渡しがあるので、関数に&がついているやつを片っ端から外せばなんとかなるような、ということで色々やっているが、Smartyとの連携あたりがイマイチうまくいかない。
海外で同じことをやった人がいるみたいなのだが、もうサイト自体もなくなっており、いまはこちらから参照可能。ここから入手したやつをxamppで試したところとりあえず動作した。
ちゅうことでまだまだ続く予感。
いまさらmojaviなわけですが(^^;
mojavijはデフォルトでは、Session情報をファイル保存するのだが、設定によって、PostgreSQLSessionStorageやMySQLSessionStorageといったクラスを使うことでデータベースにsessionを保存することが出来る。
しかし、PostgreSQLとMySQLには対応しているのだが、Microsoft SQLServerに対応したSessionStorageクラスが存在しない・・・。
仕方ないので以下のように対応した。
結果、以下のような設定状態になる。
webapp/config/factories.ini
webapp/config/databases.ini
webapp/config/settings.ini
昨日締め切りだったコラムをなんとか入稿。
結局書く時間がなくて横浜センターから東京に向かう電車の中でてきとーーに書いたけど、とりあえず上司からはOK貰う。あんま読んでないな。間違いない。
しかし、ちょっとしたCGIを一日で作れって言われたら喜んで作るが、一日で原稿をかけと言われたら、遠慮しとくわ。
それから会社では「暇」だったのでmojaviで遊ぶ。
くだらないが、mojaviでのアクセスURLをどれだけ短くできるかどうかを試して遊ぶ。ちなみに答えは
http://ホスト名/s/m/o/a/i
ちなみに
sの実体はindex.phpなので、httpd.confにAliasの設定をする。このとき、apache2.0系を使っている場合は、デフォルトでは動作しないので、PATH_INFOを受け付けるようapacheの設定を変更する必要があるので念のため。
mはmodule、aはactionの短縮名称をconfig.phpに設定。oはmodule名でiはaction名である。
上記の覚え方だが、
渋谷でモアイ
と覚えていただきたい。
なお覚えても何も得しないが、俺のしったことではない。
26日の続きで今度はDBの検索部分を中心に新機能と既存機能の修正を行う。
他人(協力会社)が作ったソースなので厳しいかと思ったが、mojaviとDB_DataObjectを使っているので汚く作りようもなくまずまずまとも。xoopsのソースとか参考にして作ったのかな?
ただソースのコメントには以下のように書いてある。
// 条件足してみる
(略)
// みつけてみる
(略)
// フェッチしてみる
(略)
// いらなさそうなのでコメント
(略)
// なんだかふざけた仕様変更によりコメント
(略)
//小手先対応
(略)
すいません。こんなの納品されても困るんですがorz
日記 PHP オープンソース Linux Trac Perl wordpress フリーソフト 自宅サーバ phpMyFaq Plugin Delphi 書評 apache eclipse Subversion Firefox セキュリティ アジャイル プラグイン mojavi Ruby Ajax/Web2.0 CakePHP Zope フレームワーク サーバ 文字化け scuttle OpenVZ 自宅 phpBB 仮想化 翻訳・日本語化 CMS ApacheDS LDAP 生産性向上 hacks CodeIgniter Agile・生産性向上 レビュー XAMPP Excel SBM 言語ファイル 修正 Ajax taskfreak mod_security ダウンロード HTML::FillInForm 情報共有 格安 レンタル アンケート API PhpScheduleIt 翻訳