|
MyCalendarVer6.0a 取扱説明
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MyCalendarVer6.0a ファイル名「calendar6.cgi」
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[ Ver6.0aの概要 ]
Ver6aシリーズは、ファイル保存形式を採用して、ユーザー様の特定をしていますので、
WiFi環境で且つホスト名の表示されない方は、同一環境内で複数の起動は難しいでしょう。
Ver6シリーズは、機能的にはVer4シリーズに新機能を加えた物で、共通のデーター形式となっています。
今回のバージョンアップにて、Ver5シリーズから、Ver8シリーズまで、共通のデーターを使えるようになりました。
Ver6.0は、JavaScript呼び出し方式、設置は面倒ですが、WebPage内に埋め込むことが出来ます。
Ver6.0aは、Ver6.0から、サンプルデーターを削除したもので。サンプルデーター削除の手間が省けます。
[ Ver6シリーズの付加機能の紹介]
+++「初期表示」+++
「初期表示」は、ログイン前でも管理者からのお知らせを表示し、ユーザー様はログインなしでも「Guest」として、
お知らせの閲覧と、コメント追加が出来る機能、MyCalendar上の項目をクリックすることで閲覧が可能です。
+++「グループ機能」+++
Ver6シリーズでは、「グループ機能」として、管理者が設定したグループに参加することで、
グループ内のメンバーだけが見ることの出来る項目を共有し、書き込み・コメントが可能であり、
データー管理ツール上にて書き込み項目を切り替えます。
+++「共有機能」+++
「共有機能」は、MyCalendar設置者を含むユーザー間で、書き込みデータを共有する機能です。
「グループ機能」と違い、共有登録は気の合ったユーザー間での設定となっています。
新バージョンへの移行に伴い、Ver5と共にVer6シリーズも新バージョンに移行しました。
このバージョンは、日本語文字コードUTF8形式に対応した物です。
Ver4シリーズから発展して、新機能「管理者ツールの追加&初期表示の追加」を加えた物で、
Ver6.0aは、WebPage内に埋め込むことが出来ますが、各種ツールの配置が面倒かもしれません。
JavaScript呼び出しによる、WebPage埋込方式の為、
設置はダウンロードして解凍した物をフォルダ構成をそのままにアップロードしただけでは動きません。
WebPageの設定は、結構面倒なので専用ツールを用意しました、CGIアプリケーションに不慣れでも設定可能と思います。
最初に、☆設置方法☆の説明
次に改造を含む☆環境設定☆の解説
最後に☆使用方法☆部分
このような順で進めていきますので、必要な部分をお読み下さい。
==========================================================================================
☆設置方法☆
CGIの設置にはいくつかの重要な項目が有りますが、ここでは最低限必要な項目について説明をしておきます。
1.アップロードするWebサーバを見つけること。
2.CGIの編集用に[Terapad]の様に改行コードを指定できるテキストエディタツールの準備。
3.Webにアップロードするために、[FFFTP]の様にパーミッションの指定・変更のできるアップロードツールの準備。
4.CGIの保存先、Webサーバの設定を確認してください。フリーの場合も有ります。
5.Perlのパス設定、Webサーバの設定を確認してください。[#!/usr/bin/per]か[#!/usr/local/bin/perl]でしょう。
最低限、これだけの準備が必要です。次は、CGIファイルの一部修正です。
イメージ Home-------CGIフォルダ--Calendarフォルダ
[http://pc-sup.com/]--[cgi/]--[calender6_0a/]-+-[adress1.cgi]------------アドレス表示
+-[calendar1.cgi]----------ミニCalendar
ファイル数が結構多いが、 +-[calendar6.cgi]----------Calendar本体
+-[comment.cgi]------------コメント書き込み
+-[config6.cgi]------------共通設定ファイル
全部そろってますか? +-[count1.cgi]-------------テキストCounter
フォルダ構造は、この様にして下さい。 +-[datapop.cgi]------------データ表示
+-[gazou_bbs.cgi]----------簡易掲示板
+-[group.cgi]--------------グループ管理
+-[hyouji6.cgi]------------表示設定ファイル
+-[inpdata.cgi]------------データ入力
+-[input.cgi]--------------データ管理
+-[irosaizu.pj]------------色・サイズ設定ファイル
+-[itiran.cgi]-------------データ一覧表示
+-[kaipage.cgi]------------月表示変更補助
+-[mailform6.cgi]----------メールフォーム
+-[mate.cgi]---------------共有管理ツール
+-[nencal.cgi]-------------年間・年度表示
+-[picturetool.cgi]--------画像アップロード
+-[reset.cgi]--------------User補助ツール
+-[set.cgi]----------------HTMLPage作成補助
+-[setgroup.cgi]-----------グループ表示補助
+-[stylecal6.css]----------スタイルシート
+-[user6.cgi]--------------ユーザー登録
各CGIで使用するファイルです |グループフォルダ
グループ参加登録とグループログ +-[group/]----+-[kanri.log]-------グループ管理者登録
| +-[groupdata.log]---グループ作成記録
| +-[グループ名.dat]--グループ参加登録
| +-[グループ名.log]--グループログ
ページの背景画像専用フォルダ +-[image/]------[画像file]--------背景画像置き場
各CGIで使用するファイルです |ログフォルダ
訪問記録から表示月を決めます +-[log/]------+-[cal.log]---------改ページ補助
ユーザー登録ファイル | +-[login.log]-------ログイン記録
Counterで使用します | +-[tcount.cnt]------訪問者数記録
Counterで使用します | +-[tcount.log]------訪問記録
各CGIで使用するファイルです |メイトフォルダ
共有管理ファイルです +-[mate/]-----+-[mate.log]--------共有管理ファイル
| +-[ユーザー名.log]--共有記録ファイル
|データフォルダ
+-[sample/]-----[samplefile]------サンプル表示用
休日表(2年分) +-[schedule/]-+-[kyuujitu.txt]----休日表
節気データ(2年分) | +-[sekki.txt]-------節気データ
|画像保存フォルダ
ユーザー毎にフォルダが自動作成されます +-[upload/]-----[ユーザー名/]-----フォルダ自動作成
|ユーザー用フォルダ
ユーザー毎に自動作成されます +-[user/]-------[ユーザー名.log]---ファイル自動作成
各CGIファイルのPerlパスの確認と修正。[#!/usr/bin/per]となっているはずですが、これが無い場合に追加はいけません。
各CGIファイルに読み込んで使用するツールには、Perlパスは邪魔になります、ご注意下さい。
拡張子[pl][css]及び拡張子[cgi]の物でも[confug6.cgi][hyouji6.cgi]には、Perlパスは付けないで下さい。
また、フォルダの中の物も、Perlパスの設定はご無用に願います。
ファイル[config6.cgi]の設定
設置段階では、[config6.cgi]----9行目の設定が必須条件です。
6 #---------------------------------------------------------------------------
7 #CGIの設置に関する設定
8 #$dirmei = 'http://pc-sup.bglb.jp/cgibin/cal/'; #設置場所URL自宅
9 $dirmai = 'http://pc-sup.com/cal/'; #設置場所URL外部
10 $mfilemei = $dirmei.'Calendar6_0a.html'; #設置HTMLの名前とのパス
11 $cgidir = $dirmei.'cgi/calendar6_0a/'; #CGIの置き場所の名前とパス
12 $toppage = $dirmei.'index.html'; #メインページの名前とパス
ここでは、9行目〜12行目のみ、設定しておいて下さい。
メニューを組む都合で、この様にして有りますが、組み方はご自由になさって下さい。
アップロードツールにWebサーバの設定を入力して、アップロードして下さい。
[config6.cgi]の9行目〜12行目で設定したフォルダに、
解凍時のフォルダ構成を変更せずに丸ごとアップロードして下さい。
パーミッション(属性)の確認
パーミッションの設定は、アップロード時にアップロードツールに設定しておく方法と、
アップロードはツールの設定に任せておき、アップロード後に、サーバ側のファイルを選択して再設定する方法があります。
パーミッションは、[700],[705],[755]を試してください。
パーミッションの数値が少なく動く方が安全です、
ツールが[705]ならば、フォルダも[705]に、データファイルは[604]で良いでしょう。
Lolipopサーバーの場合には、アップロードした物を総て選択して[755]に再設定すると動きました。
MyCalendarの起動準備
呼び出し元のHTMLファイルに、MyCalendarのJavaScript呼び出しを設定。
上記の構成である場合、
呼び出したい場所に「<script type="text/javascript" src="cgi/calendar6_0a/calendar6.cgi"></script>」書いておけばOK、
この場所にMyCalendarが表示されます。
呼び出し元のHTMLファイルに、ユーザー登録ツールと各種ツールの呼び出しを設定。
ここでは、[set.cgi]を使う方法を紹介します。
ユーザー登録ツール「<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=user"></script>」
各種ツールの呼出し「<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=toolbutton"></script>」
各種ツールのボタンがが一括で表示されます。
ここまでで、MyCalendar・ユーザー登録ツール・各種ツール用のボタンが表示されてますか?
表示されるまで、パーミッションの再設定とパスの再確認をして下さい。
☆共通設定☆ファイル[config6.cgi]の設定
======================================================================
7 #CGIの設置場所の設定
8 #$dirmei = 'http://pc-sup.bglb.jp/cgibin/cal/'; #設置場所URL自宅
9 $dirmai = 'http://pc-sup.com/cal/'; #設置場所URL外部
10 $mfilemei = $dirmei.'calendar6_0a.html'; #メインファイルの名前とパス
11 $cgidir = $dirmei.'cgi/calendar6_0a/'; #CGIの置き場所の名前とパス
12 $toppage = $dirmei.'index.html'; #設置HTMLの名前とのパス
13 #---------------------------------------------------------------------------
14 #sendmailのアドレス、ご自身のサーバを確認してください。
15 #$sendmail = 'd:\sendm\sendmane'; #sendmailaddress=自宅
16 $sendmail = '/usr/lib/sendmail'; #sendmailaddress=Lolipop
17 #$hassin = '自宅'; #メール発信場所=自宅
18 $hassin = 'Lolipop'; #メール発信場所=Lolipop
19 #---------------------------------------------------------------------------
20 #個人設定・タイトルなど
21 $title1 = 'MyCalendarVer6.0a'; #タイトル1、各Pageで再設定しています
22 $title2 = '「Yukiの休息所(MyCarender)」'; #タイトル2
23 $title3 = 'MyCalendar6.0a'; #タイトル3
24 $title4 = 'MyCalendarVer6.0a'; #タイトル4
25 $title5 = 'YukisRoom 管理人 [ 葵 Yuki ]'; #タイトル5
26 $todolist = "予定表"; #予定計画表示名
27 $grouplist = "Group"; #グループ表示名
28 $kyouyulist = "共有"; #共有機能表示名
29 $kanri = '葵 Yuki'; #管理者名
30 $mycalmei = "calendar6_0a"; #このCalendarの名前です。
31 #---------------------------------------------------------------------------
8行目〜12行目は設置時に、必ず設定しないと動作しません。
8行目と9行目、14行目と15行目、17行目と18行目は、同時に切り替えます。
9行目〜12行目は設置時に、必ず設定しないと動作しません。
21行目〜30行目は、個人設定ですから、個人情報に変更してください。
======================================================================
CGIの設定部分を集めた物が[config8.cgi]ですが、その中でもぜひ必要な部分がこの範囲、
その中で間違えやすい部分を紹介しておきます。
最も大事なのは、9行目、ここが不明ではアップロード出来ませんね、失礼しました。
アップロード先のURLとCGIディレクトリ、パスの設定です。仮データを入れてありますから、参考にして書き換えてください。
共通設定ファイル[config6.cgi]9行目の設定では、[ $dirmei = 'http://xxxx.xxx/' ] の様に絶対パスの指定が確実です。
同様に、10行目の絶対パスは [ $mfilemei = $dirmei.'Calendar6_0.html' ] と表記できます。
相対パス'./'は、同列の階層を、相対パス'../../../'は、3つ上の階層を指す物ですが、間違えることも多いんです。
☆SendMail
ご自身のサーバのSendMaiのパス設定を確認して、16行目を修正してください。
この項目も、簡単設置には無縁、小生の知る範囲内では、SendMailのパスは、どこのサーバでも同じでしたが、
SendMailの使えないサーバがありました。その場合メール送信機能が使用できません。
何処か別のサーバをご利用になる以外設定ではなんとも成りません。
ツールボタンの設置
サンプルページの左側に並ぶ、コマンドボタンからミニカレンダーまでの設置です。
[set.cgi]ツール設置補助を作りました。
コメント行とセットにしてありますので、コピーして好きな場所に設置してください。
<!-- ページ移動ボタン -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=inputbutton"></script>
<!-- テキストカウンター -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=counter"></script>
<!-- ユーザー管理 -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=user"></script>
<!-- ツールボタン -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=toolbutton"></script>
<!-- アドレス表示 -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=adress1"></script>
<!-- mailform -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=mailform"></script>
<!-- ミニカレンダー -->
<script type="text/javascript" src="cgi/calendar6_0a/set.cgi?mode=calendar1"></script>
ここから、MyCalendarの起動です。
MyCalendar呼び出し元に設定した、リンクからMyCalendarにアクセスします。
もし、アクセスできない場合には、又は、リンク未設定の場合には以下の方法をお試し下さい。
アップロード先が「http://xxxx.xxx/cgi/calendar6_0a/」の場合には、
「http://xxxx.xxx/cgi/calendar6_0a/calendar6.cgi」をブラウザのアドレス欄に入力して「calendar6.cgi」を直接呼び出します。
呼び出しに失敗する場合には、URLのチェック、パーミッションの確認です。
パーミッションは、[700],[705],[755]を試してください。
パーミッションの数値が少なく動く方が安全です。「calendar6.cgi」はMyCalendarのメインになる物で、URL呼び出しに対応しています。
もし起動できましたら、他のCGIツールも同じパーミッションに設定してください。
ツールが[755]ならば、フォルダも[755]に、データファイルは[644]で良いでしょう。
Lolipopサーバーの場合には、アップロードした物を総て選択して[755]に再設定すると動きました。
管理者登録
起動出来ましたら、管理者登録予定のアカウントを一般ユーザーとして登録して下さい。
環境設定[kankyou.pl]の編集
29 #-----------------------------------------------------------------------------------
30 $qname = 'yuki'; #文字列 #管理者のお名前を設定、(全角使用可)このユーザーが「管理者」です。
31 $qpass = '1111'; #文字列 #管理者のパスワードを設定、(半角英数)このユーザーが「管理者」です。
32 $qsub_name = 'yuki'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
33 $gname = 'Guest'; #文字列 #DumyUserの設定、(全角使用可)このユーザーは、初期表示用です。
34 $gpass = '1234'; #文字列 #DumyUserの設定、(半角英数)このユーザーは、初期表示用です。
35 $gsub_name = 'Guest'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
36 $tname1 = '日記'; #文字列 #初期表示ユーザー1の名称
37 $tpass1 = '1234'; #文字列 #初期表示ユーザー1のパスワード
38 $t2pass1 = '2345'; #文字列 #初期表示ユーザー1の第2Password
39 $tsub_name1 = 'nikki'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
40 $tname2 = '予定'; #文字列 #初期表示ユーザー2の名称
41 $tpass2 = '1234'; #文字列 #初期表示ユーザー2のパスワード
42 $t2pass2 = '2345'; #文字列 #初期表示ユーザー2の第2Password
43 $tsub_name2 = 'yotei'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
44 $tname3 = '計画'; #文字列 #初期表示ユーザー3の名称
45 $tpass3 = '1234'; #文字列 #初期表示ユーザー3のパスワード
46 $t2pass3 = '2345'; #文字列 #初期表示ユーザー3の第2Password
47 $tsub_name1 = 'keikaku'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
48 $dname1 = 'yukio'; #文字列 #仮表示ユーザー1の名称
49 $dpass1 = '2222'; #文字列 #仮表示ユーザー1のパスワード
50 $d2pass1 = '2345'; #文字列 #仮表示ユーザー1の第2Password
51 $tsub_name1 = 'yukio'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
52 $dname2 = 'yukie'; #文字列 #仮表示ユーザー2の名称
53 $dpass2 = '3333'; #文字列 #仮表示ユーザー2のパスワード
54 $d2pass2 = '2345'; #文字列 #仮表示ユーザー2の第2Password
55 $tsub_name1 = 'yukie'; #文字列 #現在未使用です。画像保存フォルダ名に使用する。
56 $mailad = 'e_mail@n-takayuki.jp'; #特殊ユーザー用のメールアドレスを入力してください。
57 #-----------------------------------------------------------------------------------
30行の名前:[$qname]、31行のパスワード:[$qpass]、32行のサブネーム:[$qsub_name]現在未使用
56行のメールアドレス:[$mailad]が、管理者登録部分です。管理者登録予定のアカウントに書換て下さい。
特殊ユーザーは、不用意な書換防止機能付きです。初期表示ユーザー名もここで設定しています。
グループ管理ファイル[kanri.log]の編集
ここでは、特殊ユーザーの設定をしています。
+++++++++++++++++++++++++++++++++++++++++++++++++++++
1 yuki/1111/kanri/
2 yukie/3333/kanri/
3 dumy/0000/user/----参考---ユーザー設定---/
4 dumy/0000/kanri/----参考---管理者設定---/
+++++++++++++++++++++++++++++++++++++++++++++++++++++
1行目の、[yuki/1111/kanri]の部分を管理者アカウントに変更してください。
2行目以降は、必要がなければ削除して結構です。
[kanri.log]は、[group]フォルダ内にあります。
☆初期設定時の注意点☆
アップロードツールとテキストエディタの使用法ですが、Web側のファイルはテキストエディタでの編集は出来ません。
必ず、ローカル側のファイルを修正してからアップロードで編集してください。
このとき、改行コードをラインフィード[\r]に設定できるテキストエディタをご使用願います。
パーミッション(属性)の設定は、使用権限の設定なので、Web側で行います。
アップロードツールのアップロード時のパーミッション設定がなされていない場合、
Web側の各ファイル&フォルダのパーミッションの確認が必要です。
フォルダと実行ファイルは[700],[705],[755]を試してください。
フォルダ内のデータファイルは、[600],[604],[644]を試してください。
サーバーサイドの指定が必ずしも絶対ではありませんので、下位の物から順に試して見ましょう。
☆日本語文字コードについて
ユーザー名及びグループ名に日本語が無ければ問題ありませんが、日本語を使用したい場合、注意が必要です。
今回のVer6においては、全文置換えで'sjis'⇔'utf8'が可能になるように変数名などに注意して有ります。
文字コードが違うとファイルが開きませんので、パーミッションの違いとも勘違いし易いですし、
ご自分のサーバがどの文字コードなのか実験するしか確認できないようです。
尚、ダウンロードファイルでは、Lolipop用の'utf8'に設定しておきます。
これでMyCalendarの使用準備完了です。
MyCalendarが起動できましたら、この下に進んで環境設定の続きをしましょう。同時にカスタマイズも可能です。
==========================================================================================
☆環境設定☆
「環境設定」は、[irosaizu.pl]、[kankyou.pl]、[stylecal6.css]、3つの設定ファイルと、
[config6.cgi]、[hyouji6.cgi]、2つのサブルログラムファイルを修正して行います。
[config6.cgi]と[hyouji6.cgi]は、多少の間違いでも総てのプログラムが動かなくなりますので、BackUpをお願いします。
☆CGIファイルの表示設定☆
MainCalendar以外の分、各ツールのページでは、FullCGIですから、
JavaScript呼出方式の場合でも、[hyouji6.cgi]の重要度は変わりません。
[hyouji6.cgi]----表示設定ファイルの最初の部分です
3 #----------------------------------------------------------
4 #画面作成
5 #仮データを入れてありますので、参考にしてください。
6 #各部分ごとに、使用しない場合は「#return;」の所を「return;」に変更してください。
7
8 #区切り線の定義
9 $yokosen1 = "<span class='yokosen1'>--------------------------------------</span><br />";
10 $yokosen2 = "<span class='yokosen2'>--------------------------------------------</span><br />";
11 $yokosen3 = "<span class='yokosen3'>-------------------------------------------------</span><br />";
12 #----------------------------------------------------------
13 #ページの上部
14 #----------------------------------------------------------
15 sub wakuhyouji{#外枠部分の色&画像設定
16 if (($wakuimg ne "") and ($wakuimg ne "/")){ #画像の設定があれば
17 $h_html = "<div class=\"waku\" style=\"background-image:url(./image/$wakuimg);background-repeat:repeat\">";}
18 else {$h_html = "<div class=\"waku\" style=\"background-color:$wakuiro\">";}
19 print $h_html;
20 return;}
21 #----------------------------------------------------------
22 sub headgamen{#ヘッド部分の色&画像設定
23 #画面再上部のタイトル部分です、作成後に「return;」の所を「#return;」に変更してください。
24 #return;
25
26 if (($headimg ne "") and ($headimg ne "/")){ #画像の設定があれば
27 $h_html = "<div class='head' style='background-image:url(./image/$headimg);background-repeat:repeat'>";}
28 else {$h_html = "<div class='head' style='background-color:$headiro'>"";}
29
30 $h_html .= "<span class='head1'>$title1</span>";
31 $h_html .= "<span class='head2'>$title2</span>";
32 $h_html .= "<span class='head3'>$title3</span>";
33 $h_html .= "</div>";
34 print $h_html;
35 return;}
36 #----------------------------------------------------------
画面表示に関する殆ど総ての設定をこの[hyouji6.cgi]で行ってます。
6行目の説明、埋め込み以外の各ファイルにおいて、左側の部分を使うか・未使用か、ここで設定可能、
ただし、15行目〜20行目は、画面作成用の重要なHTML部分ですからこの項目は未使用には出来ません。
22行目〜35行目、画面表示の設定部分は沢山ありますが、全て同じ書式なので、この例を代表にします。
この例の場合、ヘッダーを使わない場合は、24行目の[#return;]を[return]に変更して表示・非表示で切り替えますが、
Main部分を間違えて非表示にしない為15行目〜20行目のような、Main部分は非表示設定不可にして有ります。
[config6.cgi]と[hyouji6.cgi]の使用例
例として、
[input.cgi]-----データ管理での最初の部分です
===============================================================
1 #!/usr/bin/per
2
3 ##---------------------------
4 # データ管理ツールVer3.0
5 # カレンダーV6(補助ツール)
6 #----------------------------
7 ##---初期設定---
8 use CGI;
9 $pm = new CGI;
10 use lib './lib';
11 use Jcode; #日本語コード変換
12 require 'config6.cgi'; #個人設定
13 require 'hyouji6.cgi'; #表示設定
14 require 'kankyou.pl'; #表示設定
15 require 'irosaizu.pl'; #MyCalendar
16 srand; #乱数初期化(Time)
17 use Time::HiRes qw(sleep); #0.1秒sleep
18 #----------------------------------------------------------
19 #個人設定
20 $title1 = "$todolist管理Ver3.0"; #タイトル左上に表示
21 #$title2 = '「Yukiの休息所(MyCarender)」'; #config6にて使用しています
22 #$title3 = 'MyCalendar6.0a'; #config6にて使用しています
23 #$title4 = 'MyCalendarVer6.0a'; #config6にて使用しています
24 #$title5 = 'YukisRoom 管理人 [ 葵 Yuki ]'; #config6にて使用しています
25 $title6 = "$todolist管理ツール";
26 $title7 = "MyCalendar$todolist管理"; #タイトルバーに表示されます
27 $title8 = ""; #未使用
28 #設定はここまで
29 $koumoku = ();
===============================================================
1行目、まずは、Pralの設定
8行目、[CGI]の使用宣言
9行目、CGI.pmの使用宣言
10,11行目、日本語コード変換に[Jcode.pm]の使用宣言
12,15行目、各設定ファイルの使用宣言
16,17行目、追加機能の使用宣言
20行目から、[config6.cgi]との共同設定部分で、このツール専用に変更もしている
ここに出てくる変数も[config6.cgi]での共通設定です。
実際には、わかり易くする為のコメント行ばかりが多いのですが・・・
例として、
[input.cgi]-----データ管理での表示部分です
===============================================================
147 #----------------------------------------------------------
148 #出力開始
149 print $pm->header(-charset=>"euc-jp");
150 print $pm->start_html( -title=>$title4, -lang =>'ja', -charset=>'euc',
151 -style=>{-src=>$style, -code=>$newstyle } );
152 &wakuhyouji;
153 #print "<div class='waku'>";
154 #----------------------------------------------------------
155 &headgamen; #hyouji6.cgiから読み込む、ヘッダー部分
156 #&menugamen; #hyouji6.cgiから読み込む、メニュー部分
157 #&menugamen1; #hyouji6.cgiから読み込む、メニュー部分
158 #&menugamen2; #hyouji6.cgiから読み込む、メニュー部分
159 #&menugamen3; #hyouji6.cgiから読み込む、メニュー部分
160 #&menugamen4; #hyouji6.cgiから読み込む、メニュー部分
161 #&menugamen5; #hyouji6.cgiから読み込む、メニュー部分
162 #----------------------------------------------------------
163 #print "<div class='cont'>";
164 print "<table class='cont'><tbody><tr>";
165 #----------------------------------------------------------
166 #LeftPaineの使用設定、hyouji6.cgiから読み込む
167 if ($LeftPaine){
168 print "<td valign='top' class='left' align='center'>";
169 print "<br />";
170 &inputgamen1; #hyouji6.cgiから読み込む、更新ボタン
171 &mycalendar; #hyouji6.cgiから読み込む、更新ボタン
172 #&countergamen; #hyouji6.cgiから読み込む、更新ボタン
173 #&usergamen; #hyouji6.cgiから読み込む、更新ボタン
174 print "<br />";
175 &calendar3gamen; #hyouji6.cgiから読み込む、今月のCalendar
176 print "</td>";
177 }
178 #----------------------------------------------------------
179 &mainhyouji;
180 #print "<td class='main' valign='top'>";
181 #----------------------------------------------------------
149行目〜151行目 先ほどのツール[CGI.pm]を使って利用するとこんな感じになります。
152行目、155〜161行目、170〜173行目、175行目、179行目 [hyouji6.cgi]のサブルーチンを呼び出しています。
167行目は、画面の左側部分の使用設定で、
[hyouji6.cgi]での、$LeftPaine設定で左側部分の使用・未使用が決まることになってます。
使用しないサブルーチンは、[hyouji6.cgi]の設定にかかわらず、ここで#をつけてコメントアウトしておくと良い。
このように、共通ファイルの[hyouji6.cgi]との連携で画面を構成して、
スタイルシート[stylecal6.css]で修飾を加えて画面が完成します。
======================================================================
☆Calendar部分☆の設定
[irosaizu.pl]--色・サイズ設定
大型・小型両Calendar及び年表示・データ管理の共通設定です。
各カレンダー毎の設定の方が優先になりますので、このファイルでは主に共通部分、それに大型Calendar用の設定となります。
サンプルページではHTMLPageの色や背景画像も変更可能にしてあります。
☆外観部分の色や表示方法を設定
[stylecal6.css]--スタイルシート
Calendarを含む全体の表示設定は、[styecal6.css]の適用範囲です。
[styecal6.css]では、ヘッダ・左Paine・Mainとフッターに分けてありますが、
名前が同じならば、設定場所に関係なく同じ設定になりますし、同じ名前の設定は、後段の方が優先になります。
設定を変えたい場合は、名前を探して、同じ名前がダブらないように注意してください。
また、[hyouji6.cgi]----表示設定ファイルを使用しない場合、
[stylecal6.css]--スタイルシートから読み出す部分は少なくなりますので、他のCSSで組み替えても良いでしょう。
[config6.cgi]----共通設定の54行目がCSS名の設定です。
==========================================================================================
☆使用方法☆について、
今回のバージョンは、Schedulerです、取り扱いも複雑に、そこで使用方法から始めます。
最初の入り口部分からグループ管理と共有管理、どちらを優先するかは、利用者様しだいです。では、順に説明していきます。
☆予定表入力☆
ユーザー様がご自身のために使用する予定表は、通常であれば他の何人も見ることのない予定表となります。
予定表はMyCalendarの基本機能で、ユーザー様ご自身のスケジュール管理を目的としています。
予定表は、ログイン後に表示され、他の方の予定表は見ることが出来ない個人のスケジューラーです。
予定追加は、ログイン後にメインカレンダーの日付部分をクリックする事から始まります。
  をご参考にして下さい
☆初期表示☆
「環境設定」の[初期表示設定]で設定できますが、ログインなしで、管理者からの「お知らせ」等をMyCalendarに表示する機能です。
DumyUserを設定して、DumyUserの共有相手を表示する形を取ります。
表示可能なUser名は、管理人の別名設定で3名分[日記][予定][計画]さんの3名分が初期値、
管理人の別アカウントによる書きこみ項目で、DumyUserの共有相手に設定します。
DumyUserは、ログインも不可能、名前の変更すら出来ない、殆ど何も出来ない設定にしてあり、コメントのみ可能です。
「お知らせ」に対する応答位には対応できるでしょう。
☆グループ機能☆
[グループ機能]は、グループを作る事から始めます。
左側の[グループ管理]をクリックして使用開始です。
グループの作成方法は、掲示板と同形式にしてあります。件名がグループ名になります。
グループ名はなるべく簡潔に、短いお名前をつけてください。長いと、MyCalendarの表示が崩れてしまいます。
尚、グループ管理者は、自動的に、作成したグループに参加することになります。
[ユーザー様]は、何もグループに参加しない状態では、普通のCalendar表示で、ご自身のスケジュールのみ管理できる状態です。
グループに参加するには、左側の[グループ管理]をクリックしてグループ管理を起動、
参加グループリストは、まだ空です、下にあるグループ表示から選択してグループに参加してください。
ただし、[グループ管理者]が作成したグループ以外には参加できません。
[サイト管理者]は、本人を含む数人にグループ管理を依頼する事が出来ます。
了承が得られたら、[kanri.log]にグループ管理者のユーザー名とパスワードを登録してください。
このデータは、登録時にメールで送られているはずです。
グループ管理者も、ユーザーモードに切り替えて頂ければ、他の方の作成したグループに参加することが出来ます。
☆グループ名☆について
先ほども少し書きましたが、グループ名は半角英文字で10文字程度まで、漢字の場合は5文字程度にして下さい。
ネット上ではファイル名の漢字は文字化けしますが、そのまま使用可能です。
画面表示部分は対策済み、目に付かない部分では、まだあるようです。
☆ユーザー名☆について
ユーザー名は、半角英文字6文字以内にして下さい、漢字も使用可能になりました。
文字化け対策を実施した為、ファイル名に漢字を含んでも正常に表示されますが、
ファイル内の文字は文字コード指定で再読み込みの必要があります。管理者以外に見ることは出来ませんが・・・
☆共有機能☆
[共有機能]は、ユーザー様同士で、お互いの投稿を見られるように、またコメントを加える事が出来る機能です。
左側の[共有管理]をクリックして使用開始です。
共有設定は、お相手に送る第2パスワードを設定する[登録モード]、
登録した第2パスワードをお相手に送る[送信モード]、
送られてきた第2パスワードを入力する[設定モード]があり、相互にモードを移動できます。
第2パスワードは、ログイン用とは別に設定してください。第2パスワードはオープンにしていますので、忘れる心配は有りませんが、
ログインパスワードと同じでは、他人にログインパスワードを教える事になります。
この機能は、近しい友人同士の連絡用や、返事を受け取る必要のある会合の連絡用、交換日記等、用途は多彩、アイデアしだいと言えますね。
[共有機能]も[Group機能]同様に、表示非表示を選択できます。非表示にしたままで連絡が無いと思わないようにご注意願います。
共有開始も[共有開始]のクリックからスタート、お相手から送られてきたユーザー名と第2パスワードを入力して[設定する]を押してください。
お相手には登録完了メールが自動送信されます。
サイト管理者は、殆ど干渉できないユーザー間の設定ですので、その辺りの注意事項を何処かに書いておく方が良いでしょうね。
☆クッキー☆について、
このバージョンでは、クッキーを使用していません。
===以降はMyCalendarの解説です===
==========================================================================================
☆ユーザー管理について、
ユーザー管理でクッキーを使用しませんので、ユーザー名とパスワード及びホスト名で管理しています、
ホスト名は小規模事業所内やご家庭内で複数のPCを使う場合に変化しますので、
IPアドレスの変化に対応するために、[再登録]・[追加登録]の機能を強化しています。
☆SendMailの使用について、
このバージョンに限らないのですが、今後のバージョン全てでSendMailの機能を使用しますので、
御自分のサーバのSendMail対応状況を確認してください。もし、未対応の場合、あきらめた方が良いでしょう。
また、小生のように自宅サーバで使用する場合には、便利なフリーツールがありました。
小生のWindows講座において、紹介していますので、興味のある方はどうぞ。
☆スタイルシートについて
サンプルページを作成するCSSを「stylecal6.css」として、Calendar.cgiを含む全てのCGIもこのCSSを共通使用しています。
総てに共通で使用するため、ごちゃごちゃの設定になってしまってますし、無効な機能も残ったままです。
styleの設定は、殆どの場合classを設定して、classに対して設定しています。
CSSには、(0)設定が多いのですが、ブラウザの違いによる表示の違いを出来るだけ解消する為なので、
数値を設定しない場合でも、(0)を設定したままにして下さい。
☆画面デザインについて
サンプルと同様に、上部・左・メインとの分割でよければ割と簡単に設置可能ですし、
配置が異なる場合も、表示設定ファイルの変更だけで、全てのファイルの設定が出来ます。
ただし、メインのHTMLファイルは、ここでは強制できません。ご自由なスタイルシートを別に用意してください。
表示設定「hyouji6.cgi」は、サンプルページとほぼ同じ物を設定しておきますので、
タイトルの変更から始められるとよろしいかと思います。
各部の色設定は、Calendar部分は、「irosaizu.pl」で、その他は、CSS 「stylecal6.css」での設定となってます。
☆補助ファイルについて
ユーザー登録「user6.cgi」とメールフォーム[mailform6.cgi]は、必須、その他は、無ければ各機能が動かないだけです。
画像管理ツール[picturetool.cgi]は、ツールボタンを設置しなくても各ツールから呼び出す設定になってます。
簡易掲示板[gazou_bbs.cgi]は、不要であれば、削除してもかまいません。
予定一覧[itiran.cgi]、年間・年度表示[nencal.cgi]は、独立動作表示しなくても問題なし。
その他表面にでていないファイルは、結構重要な物ばかり削除すると動かない機能が増えてしまいます。
☆日本語コード変換について
従来の[jcode.pl]から、今回のバージョンアップにより[Jcode.pm]に変更しました。
[Jcode.pm]は、[lib]フォルダに収めてあります。
使い方は、この名前でNet検索すればいくらでも見つかります。
小生もNet検索から、試行錯誤の結果、今の使用方法になりました。
==========================================================================================
☆参考に
cgiの基礎知識、「「CGI基礎講座第1回、CGI基礎講座(1)」」小生のHomePage講座の一部です。
用語の意味がわからない場合、基礎知識の2ページをご覧下さい。
CGIの設置方法は、その先のページで練習すれば、このシステムも設置可能になるでしょう。
☆お礼
最後まで読んでいただき有難うございます。
CGIは、上手く設置できましたか?
最後になりましたが、休日表・節気データは正確なデータは2年分しか入力できません、平成29年以降は再度Downloadして下さい。
に戻る
に戻る
に戻る
======================================================================
YukisRoom管理人「葵 Yuki」平成22年5月22日 記 平成26年5月25日 改
======================================================================