!!内容 カレンダーの内容を該当日にメール送信します。具体的には、カレンダー名/YYYY-MM-DD形式のページが保存される際にコマンドがatに与えられ、YYYY年MM月DD日の指定の時間に指定のアドレスにページソースがメールで送信されます。ページが削除されるとatのキューから取り除かれます。 !!必要な環境 *atが使えるシステム *wiki.cgiの実効ユーザがatを利用できること *mail, nkf !!インストール +pluginディレクトリとlibディレクトリのファイルを設置する。 +configディレクトリにあるatschedule.datを編集し、設置する。 +管理画面からatscheduleプラグインのチェックボックスをonにする。 !!ファイル構成 !プラグインモジュール :atschedule/Install.pm:インストール用 :atschedule/HandleAt.pm:atに処理内容を指定します。 !lib以下に置くモジュール 下記のCPANモジュールを利用しています。展開したディレクトリ通りにlibにコピーしてください。 *[Schedule-At|http://search.cpan.org/dist/Schedule-At/] !!設定ファイル atschedule.datをconfigに置きますす。 サンプル: wikiid=test command=nkf -j $^page | mail -s '$^subject' $^user sendtime=0800,0700 tagnames=カレンダー,スケジュール users=foo@example.com,bar@example.com subject=本日のお勤め,スケジュールですよ !説明 command=nkf -j $^page | mail -s '$^subject' $^user atに渡すコマンド。$^page, $^subject, $^userは順にwikiデータへのパス、タイトル、送り先に置換されます。通常修正の必要はありません。 tagnames=カレンダー名,カレンダー名2,... atschduleの処理対象となるカレンダー名を指定します。カレンダー名/YYYY-MM-DDが保存、削除される際に処理されます。カンマで区切ることで複数指定できます。 users=emailアドレス1,emailアドレス2,... 送信先アドレス。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。 subject=タイトル1,タイトル2,... メールのタイトル。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。 sendtime=0800,0700 送信時間。hhmmで指定します。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。 上記のサンプルではスケジュール2004-12-20は朝7時にbar@example.comにメールされます。 wikiid=ユニークな値 一つのサーバで複数のFSWikiを設置していて、同じカレンダー名を利用している場合に、識別の為に必要になります。複数FSWikiを使用していないなら特に設定する必要はありません。また、wikifarm親子間で同じカレンダー名を使っても識別に問題はありません(ただし設定ファイル自体は必要です)。 !!mod_perlでの利用 wiki.cgiの if(exists $ENV{MOD_PERL}){ のところで eval("use Schedule::At"); を加えます。 !!留意点 *社内用に作ったもので、セキュリティについては考慮していません。ご利用の際は各自ご注意ください。