DB不要のSlashcodeライクなCGI、YaWPSのメモ。
Gadget というサイトを運営するのに使用しましたが、このサイト自体は終了しました。
なお、0.3版にはセキュリティホールがあります。このページには0.3版の日本語化情報しかないのですが、それでも0.3版ではなく最新のバージョンを使用することをお勧めします。2004年3月末時点での最新版は 0.7.1 版です。
ホームページより。
Gadget では YaWPS 0.3版に、以下の改変を加えたものを使用しました。
YaWPS は、表示されるメッセージの大半を、言語ごとのlangファイルにまとめています。
YaWPS のサイトには日本語のlangファイルがないため、独自に日本語ファイルを作りながら、 YaWPS を使用しました。 最終的に使用していた日本語langファイルは以下になります。
以下のページで、日本語langファイルの編集、修正を行っています。 お気づきの点等は、こちらに書き込んでいただけると非常に助かります。
デフォルトではiso-8859-1を使用しています。 これだと「西ヨーロッパ言語」としてデコードしようとするため、文字化けがおきてしまいます。 次のように、Theme以下のファイル及び cgi-lib以下のファイルからiso-8859-1を指定している行を全てコメント化し、代わりにEUC-JPを指定しています。
<!-- meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" --> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
フォームデータの解析、メールの送信など、主要な機能はYaWPS/cgi-lib/subs.plというファイルが受け持っています。 現在のところ、これにフォームデコード時の文字コード変換を加えたものを使っています。
メール送信個所にもJISコードへの変換を組み込んだつもりだったのですが、正しく働いていません。
2004年3月末時点での最新版は 0.7.1 版です。現在 YaWPS を使用していないため、日本語化情報はありませんが、いくつかの付属ドキュメントのみ和訳したものがあります。
なお、上の 0.3 版用の japanese.lang ファイルを 0.6.1 用に変換したものが、以下のサイトで配布されています。残念ながら 0.7 系ではまた language ファイルの形式が変わっており、これは使用できなそうです。
0.3.x 版では subs.pl でフォームパース等の処理を行っていたので、この部分で Jcode モジュールによる文字コード変更をかけていましたが、 0.7.x 版では必要になる都度、 CGI モジュールの parse および cookie メソッドを呼ぶようになっています。 0.7.x 版の日本語化は、次のような方針を採るのが良いように思われます。
(2)、(3)については、新しいモジュールをおこすよりも CGI.pm を改変したものを同梱する方が良いかも知れません。 CGI と同一ディレクトリに設置してやれば、どの CGI ファイルも use lib '.'; をしているので、同梱版が使用されそうです。(2)の方法だと cgi ファイルが追加される度に(3)の修正が発生しますが、改変した CGI.pm を同梱してしまえばこれは不要になります。
スラッシュライクなポータルシステムは他にもあります。YaWPSは当時、スラッシュコードライクでDB不要のものとして最も使い易くカスタマイズし易そうに見えたので採用しましたが、各システムともどんどん変わってきています。
コメントスパムがひどいためこのページのコメント欄を削除しました。コメントしたい方は暫定的に「掲示板」のページへお願いいたします。