にしし ふぁくとりー
にししふぁくとりーフリーCGI → Fumy Teacher's Schedule Board
教員向けスケジュール表示板CGI

Fumy Teacher's Schedule Board

2008年04月28日 Ver 2.21 公開: 仕様を微修正。
2008年04月25日 Ver 2.20 公開: 「国民の休日」・「振替休日」判定を現行制度に合わせて修正,タグ無効機能を追加。
2007年01月04日 Ver 2.10 公開: 月間予定表の表示開始年月を自由に指定可能になりました。
2006年10月28日 携帯端末用オプションCGIを自由にダウンロード頂けるようにしました。
2005年12月07日 Ver 2.00 公開: 月間予定表の表示月数を自由に指定可能になりました。(1ヶ月〜上限なし)

CGIの紹介

サンプル表示 「Fumy Teacher's Schedule Board」は、スケジュール表示用フリーCGIです。教員スケジュールの学生向け表示用に作成していますので、教員のスケジュールを表示するのに便利ですが、もちろん教員以外でも使用可能です。どなたでも無料でご使用頂けます。
スキン(ベースHTMLファイル)の書き換えによって、デザインや構成を自由自在に変更可能です。設置サイトのデザインに完全に合わせたスケジュールボードにできます。
CGIの表示は次の3つのブロックで構成されています。(表示・非表示は自由に設定できます。)
また、このスケジュールCGIの主な機能には、次のようなものがあります。 さらに、オプションCGIを加えることで、次の機能も提供できます。(現在動作試験中) この携帯端末用オプションCGIは、現在動作試験中です。このCGIも使ってみたい方は、メールでご連絡下さい。折り返しCGIを差し上げます。 下記からダウンロードできるようにしました。

このフリーCGIは、どなたでも無料でご利用頂けます。個人サイト・商用サイト共に、ご自由にご活用下さい。 代行設置もご自由に行っていただいて構いませんが、作者は特にサポートしないことをあらかじめご了承下さい。 また、利用目的に関係なく、著作権表示の削除・書き換えは行わないで下さい。

CGIのダウンロード

[Version] 2.21 [File] ftschedule221.zip [Size] 29.6KB [Date] 2008,04,28.
Ver 2.21 をダウンロードする (このサイトから)
ZIP形式で圧縮しています。
ダウンロード後、展開して下さい。(設置方法は、下記をご参照下さい。)

過去のバージョン:
[Version] 2.20 [File] ftschedule220.zip [Size] 29.1KB [Date] 2008,04,25.
Ver 2.20 をダウンロードする (このサイトから)
[Version] 2.10 [File] ftschedule210.zip [Size] 27.8KB [Date] 2007,01,04.
Ver 2.10 をダウンロードする (このサイトから)
[Version] 2.00 [File] ftschedule200.zip [Size] 27.4KB [Date] 2005,12,07.
Ver 2.00 をダウンロードする (このサイトから)
※特に問題のない限り、過去のバージョンを使う理由はありません。(基本的には、バグ修正の施された最新版をご使用下さい。)

オプションCGIのダウンロード

[Version] 1.00 [File] ftsmobile.zip [Size] 5.91KB [Date] 2004,10,21.
携帯端末用オプションCGIをダウンロードする (このサイトから)
ZIP形式で圧縮しています。
※このオプションCGIは単体では動作しません。本体CGIとセットでご使用下さい。

CGIの実行サンプル

管理モードのテスト使用はこちらをどうぞ。ログイン用パスワードは、「 guest 」です。
(なお、テスト使用した結果のスケジュール表示はこちらです。)
※何でも書き込めますが、公序良俗に反する書き込みはご遠慮下さい。(サンプルではHTMLタグの使用は不可に設定していますが、実際に運用する際にはHTMLタグも入力可能です。※不可にも設定できます。)

CGIの設置方法・設置環境

CGIの設置環境

CGIの設置方法(パーミッションの設定)

すべてのファイルを、同一のディレクトリに格納して、次のパーミッションに設定して下さい。
ファイル名パーミッション補足
実行ファイル
admin.cgi755設定・管理用CGI
schedule.cgi755スケジュール表示用CGI
calendar.pl755CGIから呼び出される補助プログラム
設定ファイル(CGIによって書き換えられるファイル)
calendar.txt666月間予定の記録用ファイル(CGIによって編集されます)
weekly.txt6661週間の汎用予定の記録用ファイル(CGIによって編集されます)
long.txt666長期予定の記録用ファイル(CGIによって編集されます)
upf.cgi666パスワード保存用ファイル
(※拡張子が cgi ですが実行はしません。755にはしないようご注意下さい。)
参照ファイル(CGIから読まれますが書き換えはしないファイル)
holidays.txt644祝日リストファイル(CGIからは書き換えません)
seals.txt644頻繁入力文字列の格納ファイル(CGIからは書き換えません)
表示HTML関連ファイル
schedule.html644表示用スキンファイル(テンプレートHTMLファイル)
schedule.css644表示用スタイルシートファイル
admin.css644管理画面の表示用スタイルシートファイル
※基本的には、アップロード直後のパーミッションは 644 になっていると思います。 ですから、上記で「 644 」を指定されているファイルのパーミッションは、変更する必要はない場合が多いです。 (サーバによっては異なる可能性もありますので、確認はして下さい。)

CGIの設置方法(CGIファイルの書き換え)

* admin.cgi をエディタで開いて、次の箇所を必要に応じて書き換えます。
※デフォルトの状態で使用するのであれば、1行目以外、まったく書き換えなくても構いません
(1行目) #! /usr/bin/perl
Perlの位置を必要に応じて書き換えます。 /usr/local/bin/perl など。
(29行目) $passwordtype = 1;
パスワードを固定にするか変更可能にするか? 0:固定 1:変更可能
(32行目) $password = "0000";
パスワード固定の場合のパスワード文字列 (数値である必要はありません)
(35行目) $pwfile = "upf.cgi";
パスワード変更可能の場合のパスワード格納用ファイル名(ブラウザで中身が見えないよう拡張子を cgi にしていますが、他の拡張子に変えても構いません。)
(38行目) $weeklyfile = "weekly.txt";
1週間の汎用予定表格納ファイル名
(41行目) $calendarfile = "calendar.txt";
月間予定表格納ファイル名
(44行目) $longfile = "long.txt";
長期予定表格納ファイル名
(47行目) $scheduleseals = "seals.txt";
予定表用 定型予定ファイル名
(50行目) $schedulecgi = "schedule.cgi";
スケジュール表示CGI名(デフォルトは schedule.cgi 。)
(53行目) $thiscgi = "admin.cgi";
このCGI名(デフォルトは admin.cgi 。)
(56行目) $cssfile = "admin.css";
管理画面用のスタイルシートファイル
(58行目) $cryptkey = "fx";
暗号化用のキー(任意の2文字/特に書き換える必要はありません。)
* schedule.cgi をエディタで開いて、次の箇所を必要に応じて書き換えます。
※デフォルトの状態で使用するのであれば、1行目以外、まったく書き換えなくても構いません
(1行目) #! /usr/bin/perl
Perlの位置を必要に応じて書き換えます。 /usr/local/bin/perl など。
(24行目) $showhtml = "schedule.html";
表示用スキンファイル名(テンプレートHTMLファイル名)
(27行目) $weeklyfile = "weekly.txt";
1週間の汎用予定表格納ファイル名
(30行目) $calendarfile = "calendar.txt";
月間予定表格納ファイル名
(33行目) $longfile = "long.txt";
長期予定表格納ファイル名
(36行目) $wantshowmonth = "3";
月間予定表で表示させたいカレンダーの月数 (「3」なら「今月から3ヶ月分」のカレンダーが表示されます。)
* calendar.pl をエディタで開いて、次の箇所を必要に応じて書き換えます。
※デフォルトの状態で使用するのであれば、1行目以外、まったく書き換えなくても構いません
(1行目) #! /usr/bin/perl
Perlの位置を必要に応じて書き換えます。 /usr/local/bin/perl など。
(28行目) my $holidaysfile = "holidays.txt";
祝日のリストファイル名
(31行目) my $sunday = "";
(32行目) my $monday = "";
(33行目) my $tuesday = "";
(34行目) my $wednesday = "";
(35行目) my $thursday = "";
(36行目) my $friday = "";
(37行目) my $saturday = "";
月間予定表(カレンダー)で表示する曜日名。(英語表記にしたい場合など、何にでも書き換えられます。)
(40行目) $voidtags = "0";
ユーザが入力したHTMLタグを無効にするかどうか(1=無効にする/0=無効にしない)

全ファイルのアップロード

アップロードは、すべて「アスキーモード」(テキストモード)で行います。

※「README.TXT」以外のすべてのファイルをアップロードして下さい。 「 README.TXT 」ファイルは、使い方を書いたファイルですので、このファイルだけはアップロードする必要はありません。(アップロードしないで下さい。)

CGIのカスタマイズ方法

次のファイルを書き換えることで、自由にカスタマイズが可能です。
※カスタマイズ上の注意※
著作権表示を削除しないで下さい。移動やデザインの変更は構いませんが、全く見えなくしたり極端に見えにくくしたりしないで下さい。また、リンクを外さないで下さい。

CGIのバージョンアップ方法

新しいバージョンのCGIが公開された際に、旧版から新版へバージョンアップ(アップデート)させるには、以下のように操作して下さい。

バージョンアップの注意点

※古いバージョンのデータファイルは、そのまま新しいバージョンでも使用できます。
※データファイルまで上書きしてしまうと、今まで作成したスケジュールデータが消えてしまうので注意して下さい。

各ファイルの扱い

具体的には、各ファイルを下表のようにして下さい。
ファイル名役割バージョンアップ時の操作
実行ファイル
admin.cgi設定・管理用CGI旧版CGIに記述していた設定を新版CGIにも記述し、上書きアップロードします。
schedule.cgiスケジュール表示用CGI
calendar.pl補助CGI
設定ファイル(CGIによって書き換えられるファイル)
calendar.txt月間予定の記録以前のファイルをそのまま使い続けます。(※上書きしない
weekly.txt1週間の汎用予定の記録
long.txt長期予定の記録
upf.cgiパスワードの保存
参照ファイル(CGIから読まれますが書き換えはしないファイル)
holidays.txt祝日リスト旧版ファイルに追記していた内容があればそれを新版ファイルにも追記し、上書きアップロードします。
seals.txt頻繁入力文字列リスト以前のファイルをそのまま使い続けます。(※上書きしない
表示HTML関連ファイル
schedule.html表示用スキン(※どのバージョンへのアップデートかによって操作が異なります。表の下部を参照して下さい。)
schedule.css表示用スタイルシート以前のファイルをそのまま使い続けます。(※上書きしない
admin.css管理画面スタイルシート
※schedule.html(表示用スキンファイル)について: 操作が不安な場合は、最初にすべてのファイルのバックアップコピーを取ってから作業することをお勧めいたします。

CGIの使用方法

スケジュールの表示

適切に設置が完了していれば、 schedule.cgi をブラウザで表示させることで、スケジュールを表示できます。
他のページからリンクする場合には、この schedule.cgi にリンクすると良いでしょう。

なお、スキンファイルの schedule.html を表示させても意味がありませんのでご注意下さい。
スキンファイルは、CGIから参照されるだけで、書き換えられるわけではありません。(schedule.htmlにはスケジュールそのものは含まれません。) スケジュールの表示には、CGIをブラウザで実行(表示)して下さい。

任意の期間のカレンダーを表示する方法(※Ver 2.10以降)

Ver 2.10以降では、カレンダーの表示開始年月を任意に指定できます。URLの末尾を以下のようにして下さい。
http://〜/schedule.cgi?start=2007-4
上記の場合、2007年4月から指定月間のカレンダーを表示します。
http://〜/schedule.cgi?start=2008-10
上記の場合、2008年10月から指定月間のカレンダーを表示します。
このように自由に開始年月を指定できます。なお、Ver 2.10以降からは、「次のカレンダーを表示するリンク」を設けられるようになっていますので、ご活用下さい。

スケジュールの編集

スケジュールの編集は、 admin.cgi をブラウザで表示させて下さい。
最初にパスワードの入力を求められますので入力して下さい。
特にログアウト処理はありませんので、作業が終了したらブラウザを閉じて下さい。(どの画面で閉じても問題ありません)
同時に複数の人が同じデータを編集しないようご注意下さい。(片方の更新が反映されない可能性があります。)

大量のデータを一括して編集したい場合は、直接各データファイル(拡張子.txtのファイル)をテキストエディタなどで編集もできます。
ただし、データの記録形式に従った編集をしないと、その後CGIがうまく動かなくなる可能性がありますのでご注意下さい。

古いスケジュールデータについて

古いスケジュールデータ(今日よりも前のデータ)は、表示はされなくなりますが、データファイル内には残っています。 そのまま使い続けると、データファイルのサイズが大きくなっていきますので、適宜、削除操作を行って下さい。 古いデータの削除は、管理用CGIから実行できます。

パスワードを忘れてしまった場合

パスワードを変更可能に設定して運用していて、パスワードを忘れてしまった場合は、パスワード保存用ファイル「upf.cgi」の中身を空っぽにして再アップロードして下さい。 すると、次に admin.cgi を実行した際に、パスワードを尋ねてきますので、そこで新しくパスワードを作成できます。
サーバを移転した際などで、前のサーバで使っていたパスワード保存用ファイルが新しいサーバで利用できない場合があります。その場合も、パスワード保存用ファイルの中身を空っぽにして、再度パスワードを設定し直して下さい。

既知の問題点

以下の問題点などがあります。 できるだけ問題には対応したいと思いますが、すぐには行えない可能性がありますので、その点を了解の上でご使用をお願いします。

ご質問・ご要望

このスケジュールCGIに関するご質問・ご要望は、お気軽にメールなどでお送り下さい。
ご質問の場合は、できるだけ状況を詳しく記述してお送り頂けますよう、お願い致します。 各サーバの設定に関するご質問など、CGIと直接関係のないご質問にはお答えできない場合があります。
ご要望は大歓迎です。ほんの小さなことでも、ぜひお送り下さい! 今後の開発の参考にさせて頂きます。

なお、商用利用目的のカスタマイズなど、CGIカスタマイズ・機能追加なども気が向いたら受け付けるような気がします。 お気軽にメールでお問い合わせ下さい。

すべてのお問い合わせ先はこちら

更新履歴

[Ver 2.20 → Ver 2.21]
仕様を微修正。

[Ver 2.10 → Ver 2.20]
「国民の休日」・「振替休日」判定機能を2008年度の現行制度に合わせて修正。
HTMLタグの使用を禁止(無効化)できる機能を追加。(デフォルトでは使用可能に設定されています。)

[Ver 2.00 → Ver 2.10]
月間予定表の表示開始年月を自由に指定できるよう修正。
「次の期間の月間予定表」へのリンクを表示できる機能を追加。

[Ver 1.10 → Ver 2.00]
月間予定表(カレンダー)の表示月数を自由に設定できるようにしました。1ヶ月〜上限はありません。
その他、細かな調整を行いました。

[Ver 1.00 → Ver 1.10]
「1週間の汎用予定表」の入力欄で、半角イコール記号「=」が使えない問題を修正。

補足事項

配布ファイルの文字コードは、すべて SHIFT-JIS になっています。
他の文字コードを使用する場合は、すべてのファイルの文字コードを変更して下さい。一部のファイルだけ文字コードを変えると、文字化けが起こります。また、admin.cgi内の「Shift_JIS」という文字列を変更先の文字コード名に修正する必要があります。わかりにくくてごめんなさい。文字コードを変更することを想定してなかったので…。今後対応したいと思います。
SHIFT-JISコードよりは、EUCコードあたりに変更して使った方が、いろいろ問題が少なくて良いような気がします。

データファイル内には、サンプルデータが含まれています。 初めて利用される際には、まずサンプルデータを削除されることをお勧め致します。(そのままでも特に動作に支障はありませんが。大した容量じゃないので。)
このCGIに関するお問い合わせは、メールなどでお送り下さい。
このページの製作者は、にししです。
このページで公開されているCGIを利用した結果発生するいかなる問題にも、製作者および公開者は一切責任を負いません。
使用者個人の責任でご使用下さい。