かばの遊べるCGI ロゴ [トップ] [掲示板] [F.A.Q.] [コラム] [ひとりごと] [利用規約] [履歴]
貸出管理

■特徴

WEB上の貸出しノート。貸出し対象のアイテムは、誰が借りて、いつ返却予定か、を管理します。ただし、日付が新しいほど上の行(降順)です。残っているアイテム、貸出中のアイテムを整理する現状確認もできます。物品の追加・削除・貸出し停止を管理するメンテナンス・モード付き。

【貸出しノート・モード】

【現状確認モード】

【メンテナンス・モード】

※Ver.1.00とはアイテムのリストに互換性がありますが、データ・ファイル(history)には互換性がありません。

ruleご利用にあたって sample見本


■設置方法

(1) ダウンロード

まず、下のファイルをダウンロードして、解凍します。解凍すると、"onloan.cgi"と"kabalib.pl"の2つのテキスト・ファイルと"return.gif"の画像ファイルができます。

※kabalib.plはVer.1.20以降を使ってください。

downloadファイルをダウンロード

cgi-lib.plを入手します。

http://cgi-lib.berkeley.edu/

jcode.plを入手します。

ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/

(2) カスタマイズ

"onloan.cgi"をテキスト・エディタで編集します。
※"onloan.cgi"はEUCで書いてありますので、EUCが扱えるエディタを使ってください。

最低限、次の個所を変更する必要があります。

#!/usr/local/bin/perl
perlへのパス
$htmPath = 'onloan.html';
[もどる]でジャンプするパス。
use lib '../lib';
onloan.cgiから見て、cgi-lib.pl、jcode.pl、kabalib.plがあるパス。

(3) アップロード&設定

ftpソフトなどでサーバーのCGI用ディレクトリにアップロードしましょう。仮にcgi-bin/にアップロードしたら、次のようにディレクトリとパーミッションを設定します。
※kabalib.plはonloan/の下でもOKです。
※jcode.plとcgi-lib.plはCGIスクリプトではしょっちゅう参照される定番なので、lib/ディレクトリとして独立させておくと使いまわせて便利です。

cgi-bin/
    ├-- lib/
    |    ├-- jcode.pl
    |    ├-- cgi-lib.pl
    |    └-- kabalib.pl
    └-- onloan (755)/
          ├-- data (777)/
          ├-- return.gif
          └-- onloan.cgi (755)

(4) テスト

設定が終わったら、ブラウザからCGIを設置したURLを開いてみましょう。上の例のようなディレクトリ構成なら、次のようなURLになります。

http://xxx.yyy.zzz/cgi-bin/onloan/onloan.cgi

「貸出管理」画面に「アイテムを登録してください。」が表示されればOKです。


■初期登録

onloan.cgiはアイテムの管理も全部ブラウザからできるようにしています。設置して最初に起動したら、メンテナンス・モードに入りアイテムを登録しましょう。

(1)「アイテムを登録してください。」が出たら

onloan.cgiを設置後、最初に起動した時(データ・ファイルがない時)にだけ、「アイテムを登録してください。」が表示されますので、「メンテナンス・モードへ」をクリックしてください。

(2)アイテム登録

「メンテナンス・モード」でメンテナンス・キーとアイテムの名称を入力して「追加」ボタンをクリックしてください。

同じアイテム名称を2重に登録はできません。また、データ登録用ディレクトリ($dirNamで指定したディレクトリ)のパーミッションが777になっていないと、登録できないので注意してください。(UNIXに詳しい方はご存知でしょうが、httpサーバーとサイトのアカウントの関係によって775や757でもOKです)

アイテム登録が終わったら、右上の[貸出管理へ]でノーマル・モードに入れます。


■やっぱカスタマイズ

"onloan.cgi"の「設定、適当に変更してください」〜「設定はここまで」の間を適当に変更すると、見た目をカスタマイズできます。

(1)動作設定を変えよう

ページのタイトル、貸出し期間、記録保持期限、メンテナンス・キーを指定できます。記録保持期限をむやみに大きくすると(例:999など)、レスポンスが悪くなるかも知れないので、半年程度を推奨します。メンテナンス・キーは初期値は使わないようにしてください。

#動作設定
$Title = "貸出管理";        #ページのタイトル
$maxdays = 14 ;             #何日先まで借りられるか?
$remdays = 10 ;             #過去の記録を残す日数。不要なら0。多すぎると応答が遅くなります。
$headIntval = 10;           #表に何行おきにヘッダーを入れるか?
$mentKey = '0123';          #メンテナンス用のキー

(2)色を変えよう

onloan.cgiで意識して指定している色は下のとおりです。各々の色は好きなように変更できます。基本的な事ですが、文字色とそれ以外の色はコントラストがハッキリするようにしましょう。下で指定していない、リンク文字色や、訪問済みリンク文字色はブラウザのデフォルト・カラーになり、大抵は濃いめの色になるはずです。ですから、文字色は濃い色、それ以外は淡い色にしておくのが無難です。

#色指定
$clrText      = '#003399';  #文字色(群青)
$clrPause     = '#E6E6FA';  #予約受付停止中(ラベンダー)
$clrOff       = '#F5F5F5';  #返却済みの行(ホワイトスモーク) 
$clrHeader    = '#CCFFFF';  #ヘッダーの色(薄い水色)
$clrFormBG    = '#FFFFFF';  #フォーム部の背景(白)
$clrSunday    = '#FFCCFF';  #日曜日の色(赤紫)
$clrSaturday  = '#66FFFF';  #土曜日の色(青)
$clrTable     = '#FFFFFF';  #予約状況表の背景(白)
$clrTableBG   = '#F0FFFF';  #予約状況フレームの背景色(水色)
$clrOver      = '#FF0000';  #返却期限切れの貸出し(赤)
$clrMsgBG     = '#FFF0F5';  #メッセージの背景(とても淡いピンク)
$clrTableBGM  = '#F0FFF0';  #メンテナンス・モードのアイテム一覧の背景(淡い緑)
$clrTableBGH  = '#F5F5DC';  #過去ログの背景色(ベージュ)

(3)画像を変えよう

onloan.cgiが使う画像は一発返却ボタンだけです。それも好みのものに変更可能です。

#画像ファイル
$returnImg = "return.gif";  #一発返却ボタン

■ちょこっとセキュア

データ・ファイルを保存するディレクトリは、初期値では"data"になっていますが、このディレクトリはパーミッション777のセキュリティー的に弱い部分なので、他の人に推測されにくい名前にすることをお勧めします。何かとんでもない名前を考えて一人で楽しんではどうでしょうか?
データ・ファイル用ディレクトリ名を変更するには、"onloan.cgi"の$dataDirの部分と、実際のディレクトリ名を変更してください。下は、"data"を"monooki"に変更した例です。

[onloan.cgiファイル]

$dataDir = 'monooki';    #データ・ファイル用ディレクトリ名

[ディレクトリ構成]

cgi-bin/
    ├-- lib/
    |    ├-- jcode.pl
    |    ├-- cgi-lib.pl
    |    └-- kabalib.pl
    └-- onloan (755)/
          ├-- monooki (777)/
          ├-- return.gif
          └-- onloan.cgi (755)

■つけたり

謝辞

普通、謝辞は冒頭に書くものですが、このページにたどり着いた方は「貸出管理」を使おうかなー、と考えている方でしょうから、本題の説明を先にしました。
このonloan.cgiは当サイトの掲示板への書き込みからネタをもらいました。趣味でプログラムを作る場合、よっぽど能力がある人は別でしょうが、自分で作れて、しかも実用的、なんてネタはそうはありません。趣味なんだから他愛のないものでも何でも作ってりゃいいじゃん、と思われるかも知れませんが、いくら作ることが楽しくても、使う(または使ってもらう)アテがないとモチベーションが上がらないものなんです。ワガママですよね。
その点「こんなの欲しいんですけどー」と言われて作る場合には、使ってもらえるアテがハナからあるわけで「よっしゃ、いっちょやるかー」てな勢いで、寝る間も惜しんでやる気になるし、その集中してる時間が楽しいんです。
というわけで、掲示板やメールでネタを提供してくれる方々にこの場を借りてお礼を申し上げます。


■履歴

2003/1/28 Ver.2.00p kabalib.plの重大なバグを修正。(Ver.1.20)
2002/11/12 Ver.2.00 貸出しノート風に改造。
2002/10/27 Ver.1.00 つくりました。

[トップへ] [掲示板] [F.A.Q.] [コラム] [ひとりごと] [利用規約] [履歴]