ここでは、単純なスケジュール表示ソフトを例にとり、fml8 のフレー ムワークの中で新しいプログラムを追加するにはどうすれば良いのかを説明し ます。 以下、プログラム名は fmlsch とし、その CGI 版が fmlsch.cgi です。
fml/etc/install.cf.in の bin_programs 変数に fmlsch を追加します。 fml/etc/install.cf を再生成するために configure を再実行してください。
fmlsch の実体のモジュールとして、 fml/lib/Calender/Lite.pm を書きます。
また、必要な他にライブラリがあれば適宜輸入してください。 今回は CPAN から HTML-CalendarMonthSimple-1.02.tar.gz を輸入します。
Date-Calc も必要なので適宜インストールしてください。
仕事のほとんどの部分は Calender::Lite が実行しますが、 fml8 のブートローダから Calender::Lite を呼び出すために FML::Process:: クラスを修正する必要があります。
まず、fmlsch プロセスの初期化から実行といった大まかな一連の手順を fml/lib/FML/Process/Calender.pm に書きます。このファイルは新規に作成して下さい。
そして、ブートローダーへ fmlsch の場合は FML::Process::Calender を呼び 出せば良いことを教えるために etc/modules と etc/command_line_options に fmlsch のモジュール名との対応関係を追加します。
FML::Process::Calender は同じディレクトリのモジュールを適当にぱくって hack してください :-) なお、fmlsch は機能が最小なので、FML::Process::Calender では FML::Process::Calender::run() メソッドだけ用意すればおしまいです。 未定義の関数は FML::Process::Kernel のメソッドが使われます(継承)。
author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about FML, e-mail <fml-bugs@fml.org>.