diff options
| author | fukachan <fukachan> | 2003-07-28 15:20:17 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-07-28 15:20:17 +0000 |
| commit | 13ef97114ca3f44fe534d0f4228c9e21b9febd8e (patch) | |
| tree | 3b0874fce4fe8676d34f2213950b7e9c959e7d34 /fml/doc/en/tutorial/module | |
| parent | d9c8ecee3855d3d88842a4b842c8f4ea2013c8f6 (diff) | |
| download | fml8-13ef97114ca3f44fe534d0f4228c9e21b9febd8e.tar.gz fml8-13ef97114ca3f44fe534d0f4228c9e21b9febd8e.tar.bz2 fml8-13ef97114ca3f44fe534d0f4228c9e21b9febd8e.zip | |
trasnlated
Diffstat (limited to 'fml/doc/en/tutorial/module')
| -rw-r--r-- | fml/doc/en/tutorial/module/create.sgml | 120 | ||||
| -rw-r--r-- | fml/doc/en/tutorial/module/nativelanguage.sgml | 48 |
2 files changed, 168 insertions, 0 deletions
diff --git a/fml/doc/en/tutorial/module/create.sgml b/fml/doc/en/tutorial/module/create.sgml new file mode 100644 index 00000000..496255ca --- /dev/null +++ b/fml/doc/en/tutorial/module/create.sgml @@ -0,0 +1,120 @@ +<!-- + $FML$ + $jaFML: create.sgml,v 1.2 2003/04/15 14:51:42 fukachan Exp $ +--> + +<chapter id="module.create"> + <title> + Execise: create a new program + </title> + + +<para> +Consider creation of a simple scheduler listing tool in the &fml8; +framework. Here the program name is fmlsch and the cgi is fmlsch.cgi. +</para> + + +<sect1> + <title> + Case study: create a fmlsch + </title> + + +<sect2> + <title> + step 1: add fmlsch into installer configuration + </title> + +<para> +add fmlsch into $bin_programs in fml/etc/install.cf.in. +Run configreu to re-create fml/etc/install.cf. +</para> + +</sect2> + + +<sect2> + <title> + step 2: build a module + </title> + + +<para> +Write fml/lib/Calender/Lite.pm for the main functions of fmlsch. +</para> + +<para> +Import libraries if needed. +For fmlsch we import +HTML-CalendarMonthSimple-1.02.tar.gz +from CPAN. +</para> + +<para> +Also, install Date-Calc if your system has not it. +</para> + +</sect2> + + +<sect2> + <title> + step 3: modify FML::Process:: class + </title> + +<para> +Calender::Lite works mainly but we build the machanism how &fml8; +loads and runs it. We modify FML::Process:: for &fml8; bootloader to +call Calender::Lite. +</para> + +<para> +Firstly, write mandatory methods for fmlsch process in +fml/lib/FML/Process/Calender.pm. You need to create this module. +</para> + +<para> +Secondary, set up boot loader configuration. In the case of fmlsch, +the bootloader loads FML::Process::Calender. Define it in +fml/etc/modules. Set up fml/etc/command_line_options properly. +"command_line_options" file has a map between a command and the +command line options parsed by Getopt::Long(). +</para> + + +<para> +Create FML::Process::Calender module by copy-and-pasting other +FML::Process:: modules :-) However fmlsch has least functions, you +need to write FML::Process::Calender::run() method. For undefined +methods, fml loads FML::Process::Kernel functions (inheritence). +</para> + +</sect2> + +</sect1> + + +<sect1> + <title> + case study: fmlsch.cgi + </title> + + +<para> +The hacking is similar to fmlsch. The differnce is that the target to +modify is FML::CGI:: class. FML::CGI::Calender is a sub-class of +FML::Process::CGI. +</para> + +<para> +If undefined method is called, fml loads it from FML::Process::CGI or +FML::Process::Kernel. FML::Process::CGI uses CGI.pm to create a http +header et.al. If FML::Process::CGI functions are not enough, +FML::CGI:: module should support the lack. +</para> + +</sect1> + + +</chapter> diff --git a/fml/doc/en/tutorial/module/nativelanguage.sgml b/fml/doc/en/tutorial/module/nativelanguage.sgml new file mode 100644 index 00000000..57c3eb97 --- /dev/null +++ b/fml/doc/en/tutorial/module/nativelanguage.sgml @@ -0,0 +1,48 @@ +<!-- + $FML$ + $jaFML: nativelanguage.sgml,v 1.3 2003/04/15 14:51:43 fukachan Exp $ +--> + +<chapter> + <title> + Language dependent functions + </title> + +<para> +fml needs language dependent functions internally. Especially, JIS +to/from EUC conversion is used anywhere since. Japanese messages are +written in JIS code but programs are easy to use string in EUC-JP. +</para> + +<para> +See +<link linkend="message.nl"> +message internationalization +</link> +for the language dependence handling in messages. +</para> + + +<sect1> + <title> + Something::Language:: + </title> + +<para> +Language dependent module locates at Something::Language. +</para> + +<para> +For example, there are +<screen> +FML::Language::Japanese::String +Mail::Bounce::Language::Japanese +</screen> +The former provides Japanese dependent string functions. +The latter provides Japanese dependent error mail analyzer functions. +</para> + +</sect1> + + +</chapter> |
