[OSM-ja] http://osm-ja.sourceforge.jp/cgi-bin/mlitj の技術情報
K.Shirakata
argrath @ ub32.org
2010年 8月 9日 (月) 18:48:56 BST
白方です。
38.127.225.239 のように「何かあったときに一人しか対応できない」と
なっては後々困りますので、
http://osm-ja.sourceforge.jp/cgi-bin/mlitj が
どのように動作しているかを簡単にまとめておきます。
sourceforge.jp でアカウントを作成して osm-ja プロジェクトに
参加し、シェルサーバーへログインする環境を整えてもらえれば
わかりやすいのですが、このシステムは(シェルサーバーから見て)
/home/groups/o/os/osm-ja/cgi-bin/mlitj という単一の Perl スクリプトで
動作しています。
エリアと実ファイルの対応情報はファイルの先頭に直接記述されていて、
現状は以下のようになっています。
my @area = (
# minx, maxx, miny, maxy, url
[113664, 115041, 51456, 52083,
'http://www.yamasita.jp:8880/MLITJ/%d/%d/%d'],
[116096, 116511, 51488, 51647,
'http://osm.ribbon.or.jp/MLITJ/%d/%d/%d'],
);
[...] で囲まれた 1 行が一つのデータで、カンマ区切りで順に
[ x 最小値, x 最大値, y 最小値, y 最大値, URL]
となっています。URL の %d は順番に z, x, y に置換されます。
処理ルーチンではこのリストを上から順番にチェックして、
リクエストがエリア内なら URL を置換するというシンプルな処理に
なっています。
(z は 17 のみ受け付けます)
データを追加する場合は、このファイルに対して単純に行を増やして
上述の情報を記述するだけで動作するはずです。
最後に注意ですが、このファイルを変更した場合はファイルパーミッションを
775 にするようにしてください。デフォルトだと 755 になるはずですが、
その状態だと他のプロジェクトメンバーが変更できなくなってしまいます。
Talk-ja メーリングリストの案内