summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-07-26 04:29:12 +0000
committerfukachan <fukachan>2003-07-26 04:29:12 +0000
commit0f8a45b45d759f9e192b8ea3e0865ef31e697b78 (patch)
tree804e45ffa87ecea0c174498629de1c3997587284
parentf1246849a7356ec80778a8a983ab81dc7b5c26e5 (diff)
downloadfml8-0f8a45b45d759f9e192b8ea3e0865ef31e697b78.tar.gz
fml8-0f8a45b45d759f9e192b8ea3e0865ef31e697b78.tar.bz2
fml8-0f8a45b45d759f9e192b8ea3e0865ef31e697b78.zip
translated
-rw-r--r--fml/doc/en/tutorial/usage/chaddr.sgml32
-rw-r--r--fml/doc/en/tutorial/usage/chapter.onhost.sgml145
-rw-r--r--fml/doc/en/tutorial/usage/chapter.user.sgml21
-rw-r--r--fml/doc/en/tutorial/usage/command.sgml63
-rw-r--r--fml/doc/en/tutorial/usage/fml.sgml27
-rw-r--r--fml/doc/en/tutorial/usage/fmladdr.sgml34
-rw-r--r--fml/doc/en/tutorial/usage/fmlalias.sgml34
-rw-r--r--fml/doc/en/tutorial/usage/fmlconf.sgml28
-rw-r--r--fml/doc/en/tutorial/usage/fmldoc.sgml23
-rw-r--r--fml/doc/en/tutorial/usage/fmlhtmlify.sgml28
-rw-r--r--fml/doc/en/tutorial/usage/get.sgml21
-rw-r--r--fml/doc/en/tutorial/usage/guide.sgml20
-rw-r--r--fml/doc/en/tutorial/usage/help.sgml20
-rw-r--r--fml/doc/en/tutorial/usage/makefml.sgml286
-rw-r--r--fml/doc/en/tutorial/usage/post.sgml100
-rw-r--r--fml/doc/en/tutorial/usage/subscribe.sgml27
-rw-r--r--fml/doc/en/tutorial/usage/unsubscribe.sgml27
17 files changed, 936 insertions, 0 deletions
diff --git a/fml/doc/en/tutorial/usage/chaddr.sgml b/fml/doc/en/tutorial/usage/chaddr.sgml
new file mode 100644
index 00000000..c3bbdc27
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/chaddr.sgml
@@ -0,0 +1,32 @@
+<!--
+ $FML$
+ $jaFML: chaddr.sgml,v 1.2 2003/04/15 14:51:45 fukachan Exp $
+-->
+
+<sect1 id="usage.user.chaddr">
+ <title>
+ change registered address
+ </title>
+
+<para>
+In the case of elena@fml.org ML,
+send the mail with
+<screen>
+chaddr OLD-ADDRESS NEW-ADDRESS
+</screen>
+to elena-ctl@fml.org.
+<screen>
+Example:
+chaddr rudo@nuinui.net rudo-new@nuinui.net
+</screen>
+You can send this mail from both OLD-ADDRESS and NEW-ADDRESS.
+</para>
+
+<para>
+&fml8; sends back confirmation to both addresses.
+Please send back the confirmation to elena-ctl again.
+When you request is confirmed to be valid,
+&fml8; remove OLD-ADDRESS and add NEW-ADDRESS to member lists.
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/chapter.onhost.sgml b/fml/doc/en/tutorial/usage/chapter.onhost.sgml
new file mode 100644
index 00000000..83c33898
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/chapter.onhost.sgml
@@ -0,0 +1,145 @@
+<!--
+ $FML$
+ $jaFML: chapter.onhost.sgml,v 1.8 2003/04/15 14:51:46 fukachan Exp $
+-->
+
+<chapter id="usage.onhost">
+ <title>
+ What can we do on the mailing list server host ?
+ </title>
+
+
+<para>
+On the host which serves ML driver,
+you can use CUI and edit all configuration files as you like.
+It implies you are the greatest administrator :)
+</para>
+
+
+<sect1>
+ <title>
+ On the host
+ </title>
+
+<para>
+You need no confirmation in using makefml.
+</para>
+
+<para>
+Person who can login the host of mailing list server has all
+priviledge for all ML's on the host.
+So, He/She can edit all configuration files.
+But He/She may do wrong operations.
+</para>
+
+<para>
+To avoid careless miss operations, in usual cases you should use CUI
+(makefml or fml) to configure fml. Of course you can edit files
+directly if you can understand fml structures. By default we recommend
+you should use CUI even on the host.
+</para>
+
+<para>
+fml command is same as makefml command except for the argument order.
+<screen>
+makefml COMMAND ML OPTIONS
+fml ML COMMAND OPTIONS
+</screen>
+Please either as you like.
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.commandpolicy">
+ <title>
+ Policy of command creation
+ </title>
+
+<para>
+&fmldevel; provides command for each function. Except for some
+special cases, we should unify all functions into makefml/fml command
+since such commands can be shared among CUI, GUI and commmnd mail.
+</para>
+
+
+<sect2>
+ <title>
+ operation may modify the specific ML (read/write).
+ </title>
+
+<para>
+We should implement sub-command of makefml when some operation may
+modify the specific ML.
+</para>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ operation read only the data of the specific ML (read only).
+ </title>
+
+<para>
+you should implement it as a makefml command since it is related to
+the specific ML.
+</para>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ see the general data (read only)
+ </title>
+
+<para>
+If the data is not related to the specific ML, for example,
+see the module manual, aliases on the host,
+we implement specific commands other than makefml/fml.
+This command begins with ^fml.
+<screen>
+fmladdr [-n]
+fmlalias [-n]
+fmldoc MODULE
+fmlconf [-n] ML
+</screen>
+</para>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ misc
+ </title>
+
+<para>
+we implement specific commands other than makefml/fml.
+This command begins with ^fml.
+</para>
+
+<para>
+The conveter from text to html form.
+This command is used to convert both fml spool and MH folders.
+<screen>
+fmlhtmlify [-I DIR] $src_dir $dst_dir
+</screen>
+</para>
+
+</sect2>
+
+
+</sect1>
+
+
+&sect.usage.makefml;
+&sect.usage.fml;
+&sect.usage.fmladdr;
+&sect.usage.fmlalias;
+&sect.usage.fmlconf;
+&sect.usage.fmldoc;
+&sect.usage.fmlhtmlify;
+
+</chapter>
diff --git a/fml/doc/en/tutorial/usage/chapter.user.sgml b/fml/doc/en/tutorial/usage/chapter.user.sgml
new file mode 100644
index 00000000..8aaaa38b
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/chapter.user.sgml
@@ -0,0 +1,21 @@
+<!--
+ $FML$
+ $jaFML: chapter.user.sgml,v 1.2 2002/07/28 12:20:19 fukachan Exp $
+-->
+
+<chapter id="usage.user">
+ <title>
+ What the user can do ?
+ </title>
+
+
+&sect.usage.guide;
+&sect.usage.subscribe;
+&sect.usage.post;
+&sect.usage.help;
+&sect.usage.get;
+&sect.usage.unsubscribe;
+
+&sect.usage.command;
+
+</chapter>
diff --git a/fml/doc/en/tutorial/usage/command.sgml b/fml/doc/en/tutorial/usage/command.sgml
new file mode 100644
index 00000000..7d10919a
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/command.sgml
@@ -0,0 +1,63 @@
+<!--
+ $FML$
+ $jaFML: command.sgml,v 1.7 2003/04/15 14:51:46 fukachan Exp $
+-->
+
+<sect1 id="fml.command.bymail">
+ <title>
+ command mail (control fml by sendmail mails)
+ </title>
+
+<para>
+fml accepts control commands which is sent as a mail.
+It is called "command mail".
+</para>
+
+<important>
+<para>
+The use of CUI (makefml/fml) is basic in fml world.
+</para>
+
+</important>
+
+
+<sect2 id="fml.command.bymail.flow">
+ <title>
+ flow
+ </title>
+
+<para>
+Consider elena ML. Send the command mail to elena-ctl@fml.org which
+is the address for command mail. MTA receives the mail and finally
+kicks off /usr/local/libexec/fml/command program. This program
+receives the mail (command mail) from STDIN , processes the requests
+and sends back the result to the sender.
+The mail to send back is passed to MTA for delivery via SMTP.
+</para>
+
+<warning>
+<para>
+The result is aggreagated to one msssage as
+<link linkend="message.reply">
+MIME/Multipart
+</link>
+. This is different from &fml4; behaviour.
+</para>
+</warning>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ perl modules of command mails
+ </title>
+
+<para>
+All modules which CUI, GUI and command mail uses are implented as
+FML::Command:: class.
+</para>
+
+</sect2>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fml.sgml b/fml/doc/en/tutorial/usage/fml.sgml
new file mode 100644
index 00000000..04b8850c
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fml.sgml
@@ -0,0 +1,27 @@
+<!--
+ $FML$
+ $jaFML: fml.sgml,v 1.1 2003/01/05 08:03:23 fukachan Exp $
+-->
+
+<sect1 id="usage.fml">
+ <title>
+ fml command and makefml command
+ </title>
+
+<para>
+fml (/usr/local/bin/fml) and makefml (/usr/local/bin/makefml) is same
+except for argument order.
+Please use it as you like.
+</para>
+
+<para>
+<screen>
+% fml ML COMMNAD [OPTIONS]
+</screen>
+instead
+<screen>
+% makefml COMMAND ML [OPTIONS]
+</screen>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fmladdr.sgml b/fml/doc/en/tutorial/usage/fmladdr.sgml
new file mode 100644
index 00000000..1a7eecee
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fmladdr.sgml
@@ -0,0 +1,34 @@
+<!--
+ $FML$
+ $jaFML: fmladdr.sgml,v 1.1 2002/11/09 14:16:19 fukachan Exp $
+-->
+
+<sect1 id="usage.fmladdr">
+ <title>
+ show all valid addresses (users and aliases)
+ </title>
+
+<para>
+fmladdr (/usr/local/bin/fmladdr)
+lists up all users on this host.
+It shows users defined in /etc/passwd and aliases defined in postfix.
+</para>
+
+<para>
+<screen>
+% fmladdr
+</screen>
+</para>
+
+<para>
+<warning>
+<para>
+The difference between fmladdr and fmlalias is whether
+it contais users defined at /etc/passwd or not.
+fmladdr contains it but fmlalias not.
+fmlalias lists up users defined at aliases.
+</para>
+</warning>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fmlalias.sgml b/fml/doc/en/tutorial/usage/fmlalias.sgml
new file mode 100644
index 00000000..7687cac8
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fmlalias.sgml
@@ -0,0 +1,34 @@
+<!--
+ $FML$
+ $jaFML: fmlalias.sgml,v 1.1 2002/11/09 14:16:19 fukachan Exp $
+-->
+
+<sect1 id="usage.fmlalias">
+ <title>
+ show alias configuration
+ </title>
+
+<para>
+fmlalias (/usr/local/bin/fmlalias) shows all aliases.
+Precisely speaking, it shows
+all aliases defined as valid aliases of postfix.
+</para>
+
+<para>
+<screen>
+% fmlalias
+</screen>
+</para>
+
+<para>
+<warning>
+<para>
+The difference between fmladdr and fmlalias is whether
+it contais users defined at /etc/passwd or not.
+fmladdr contains it but fmlalias not.
+fmlalias lists up users defined at aliases.
+</para>
+</warning>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fmlconf.sgml b/fml/doc/en/tutorial/usage/fmlconf.sgml
new file mode 100644
index 00000000..8ed2756b
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fmlconf.sgml
@@ -0,0 +1,28 @@
+<!--
+ $FML$
+ $jaFML: fmlconf.sgml,v 1.4 2002/07/28 06:26:58 fukachan Exp $
+-->
+
+<sect1 id="usage.fmlconf">
+ <title>
+ show configuration of one ML
+ </title>
+
+<para>
+fmlconf (/usr/local/bin/fmlconf) takes ML name as an argument.
+It shows all variables of the specified ML.
+If -n option specified, it shows variables different from default ones.
+</para>
+
+<para>
+To list up all variable list,
+<screen>
+% fmlconf elena
+</screen>
+To list up variables different from the default one,
+<screen>
+% fmlconf -n elena
+</screen>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fmldoc.sgml b/fml/doc/en/tutorial/usage/fmldoc.sgml
new file mode 100644
index 00000000..45629772
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fmldoc.sgml
@@ -0,0 +1,23 @@
+<!--
+ $FML$
+ $jaFML: fmldoc.sgml,v 1.3 2002/07/28 06:26:58 fukachan Exp $
+-->
+
+<sect1 id="usage.fmldoc">
+ <title>
+ show document of perl module
+ </title>
+
+<para>
+The usage of fmldoc is same as perldoc.
+This is a wrapper for perldoc.
+</para>
+
+<para>
+To see FML::Process::Kernel perl module document,
+<screen>
+% fmldoc FML::Process::Kernel
+</screen>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/fmlhtmlify.sgml b/fml/doc/en/tutorial/usage/fmlhtmlify.sgml
new file mode 100644
index 00000000..91a36bac
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/fmlhtmlify.sgml
@@ -0,0 +1,28 @@
+<!--
+ $FML$
+ $jaFML: fmlhtmlify.sgml,v 1.6 2002/11/26 11:16:38 fukachan Exp $
+-->
+
+<sect1 id="usage.fmlhtmlify">
+ <title>
+ convert article to HTML form.
+ </title>
+
+<para>
+By default, fml converts the article to HTML form.
+"fmlhtmlify" command is a tool to convert all articles
+to initialize the html archive.
+</para>
+
+<para>
+<screen>
+% fmlhtmlify SPOOL_DIRECTORY HTML_ARCHIVE_DIRECTORY
+
+Example:
+
+% fmlhtmlify /var/spool/ml/elena/spool /some/where/mlarchive/elena
+</screen>
+
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/get.sgml b/fml/doc/en/tutorial/usage/get.sgml
new file mode 100644
index 00000000..a433da4e
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/get.sgml
@@ -0,0 +1,21 @@
+<!--
+ $FML$
+ $jaFML: get.sgml,v 1.2 2003/04/15 14:51:46 fukachan Exp $
+-->
+
+<sect1 id="usage.user.get">
+ <title>
+ read past articles
+ </title>
+
+<para>
+send the mail with
+<screen>
+get NUMBER
+</screen>
+to elena-ctl@fml.org address.
+NUMBER is the article number.
+fml sends back articles by mime/multipart form to the sender.
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/guide.sgml b/fml/doc/en/tutorial/usage/guide.sgml
new file mode 100644
index 00000000..0582b19e
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/guide.sgml
@@ -0,0 +1,20 @@
+<!--
+ $FML$
+ $jaFML: guide.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $
+-->
+
+<sect1 id="usage.user.guide">
+ <title>
+ get ML guide
+ </title>
+
+<para>
+send the mail with
+<screen>
+guide
+</screen>
+to elena-ctl@fml.org address.
+fml sends back the guide file to the sender.
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/help.sgml b/fml/doc/en/tutorial/usage/help.sgml
new file mode 100644
index 00000000..5d76669e
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/help.sgml
@@ -0,0 +1,20 @@
+<!--
+ $FML$
+ $jaFML: help.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $
+-->
+
+<sect1 id="usage.user.help">
+ <title>
+ if you know the usage of ML
+ </title>
+
+<para>
+send the mail with
+<screen>
+help
+</screen>
+to elena-ctl@fml.org address.
+sends back the help file to the sender.
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/makefml.sgml b/fml/doc/en/tutorial/usage/makefml.sgml
new file mode 100644
index 00000000..322d3b0b
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/makefml.sgml
@@ -0,0 +1,286 @@
+<!--
+ $FML$
+ $jaFML: makefml.sgml,v 1.7 2003/04/15 14:51:46 fukachan Exp $
+-->
+
+
+<sect1 id="usage.makefml.newml">
+ <title>
+ create ML
+ </title>
+
+<para>
+<screen>
+% su fml
+% makefml newml ML
+</screen>
+If ML without @domain part, the domain of the ML is the default
+domain. Both ML and ML@DOMAIN form is o.k. for the default domain.
+<screen>
+% makefml newml elena
+% makefml newml elena@fml.org
+</screen>
+In the case of virtual domain, you should specify the full address
+user@domain as ML string.
+</para>
+
+<para>
+See the section
+<link linkend="setup.newml">
+<xref linkend="setup.newml">
+</link>
+for more details.
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.rmml">
+ <title>
+ remove the ML
+ </title>
+
+<para>
+<screen>
+% su fml
+% makefml rmml ML
+</screen>
+fml accepts ML string without @domain as the default domain.
+Both user and user@domain syntax is acceptable.
+<screen>
+% makefml rmml elena
+% makefml rmml elena@fml.org
+</screen>
+use user@domain syntax for virtual domains.
+</para>
+
+<para>
+revert the action newml did.
+It removes ML home directory, alias entries and ~fml/.qmail-*.
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.user.adddel">
+ <title>
+ subscribe/unsubscribe
+ </title>
+
+<para>
+Use useradd to subscribe the user,
+userdel to unsubscribe the user.
+<screen>
+% su fml
+% makefml useradd ML ADDRESS
+% makefml userdel ML ADDRESS
+</screen>
+fml treats ML without @domain part as one of the default domain.
+<screen>
+% su fml
+% makefml useradd elena rudo@nuinui.net
+% makefml userdel elena rudo@nuinui.net
+% makefml useradd elena@fml.org rudo@nuinui.net
+% makefml userdel elena@fml.org rudo@nuinui.net
+</screen>
+</para>
+
+<para>
+For convenience, useradd is an acronym.
+<screen>
+useradd
+adduser
+subscribe
+add
+</screen>
+are same as useradd.
+In the same way,
+<screen>
+userdel
+deluser
+bye
+remove
+resign
+signoff
+unsubscribe
+</screen>
+are same as userdel.
+</para>
+
+
+</sect1>
+
+
+<sect1 id="usage.makefml.user.chaddr">
+ <title>
+ change registered address
+ </title>
+
+
+<para>
+<screen>
+% su fml
+% makefml chaddr ML OLD-ADDRESS NEW-ADDRESS
+</screen>
+fml treats ML without @domain part as one of the default domain.
+For example,
+<screen>
+% su fml
+% makefml chaddr elena rudo@nuinui.net teddy@nuinui.net
+% makefml chaddr elena@fml.org rudo@nuinui.net teddy@nuinui.net
+</screen>
+</para>
+
+
+</sect1>
+
+
+<sect1 id="usage.makefml.off">
+ <title>
+ stop delivery for a user
+ </title>
+
+<para>
+<screen>
+% makefml off elena ADDRESS
+</screen>
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.on">
+ <title>
+ start delivery for a user
+ </title>
+
+<para>
+<screen>
+% makefml on elena ADDRESS
+</screen>
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.log">
+ <title>
+ See log of elena ML
+ </title>
+
+<para>
+<screen>
+% makefml log elena
+% makefml log elena@fml.org
+</screen>
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.list">
+ <title>
+ see the member list of ML
+ </title>
+
+<para>
+<screen>
+% makefml list elena
+</screen>
+It shows addresses who can post this ML. Instead
+<screen>
+% makefml list elena recipient
+</screen>
+lists up recipients of this ML.
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.config">
+ <title>
+ Modify configuration
+ </title>
+
+<para>
+Edit config.cf directly now.
+Tools are not yet implemented.
+</para>
+
+</sect1>
+
+
+<sect1 id="usage.makefml.admin.adddel">
+ <title>
+ add/remove remote administrator.
+ </title>
+
+<warning>
+<para>
+A remote administor is person who cannot login to the mail server but
+control an ML by sending command mail (admin command).
+</para>
+
+<para>
+CUI can control remote administrators since
+the use of CUI needs login to this host.
+</para>
+</warning>
+
+<para>
+<screen>
+% su fml
+% makefml addadmin ML ADDRESS
+% makefml deladmin ML ADDRESS
+</screen>
+fml treats ML without @domain part as one of the default domain.
+<screen>
+% su fml
+% makefml addadmin elena rudo@nuinui.net
+% makefml deladmin elena rudo@nuinui.net
+% makefml addadmin elena@fml.org rudo@nuinui.net
+% makefml deladmin elena@fml.org rudo@nuinui.net
+</screen>
+</para>
+
+<para>
+For convenience,
+<screen>
+adminadd
+addpriv
+</screen>
+are asme as addadmin.
+<screen>
+byeadmin
+byepriv
+</screen>
+are same as deladmin.
+</para>
+
+
+</sect1>
+
+
+
+<sect1 id="usage.makefml.moderator.adddel">
+ <title>
+ add/remove a moderator
+ </title>
+
+<para>
+<screen>
+% su fml
+% makefml addmoderator ML ADDRESS
+% makefml delmoderator ML ADDRESS
+</screen>
+fml treats ML without @domain part as one of the default domain.
+<screen>
+% su fml
+% makefml addmoderator elena rudo@nuinui.net
+% makefml delmoderator elena rudo@nuinui.net
+% makefml addmoderator elena@fml.org rudo@nuinui.net
+% makefml delmoderator elena@fml.org rudo@nuinui.net
+</screen>
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/post.sgml b/fml/doc/en/tutorial/usage/post.sgml
new file mode 100644
index 00000000..70d544f7
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/post.sgml
@@ -0,0 +1,100 @@
+<!--
+ $FML$
+ $jaFML: post.sgml,v 1.7 2003/04/15 14:51:46 fukachan Exp $
+-->
+
+<sect1 id="usage.post">
+ <title>
+ post article
+ </title>
+
+<para>
+Send the mail to elena@fml.org.
+MTA (on e.g. ahodori.fml.org) receives the mail and
+finally kicks off
+/usr/local/libexec/fml/distribute command.
+</para>
+
+<para>
+distribute recieves the message from STDIN,
+rewrites the header, save it in spool and
+pass it back to MTA.
+</para>
+
+
+<sect2>
+ <title>
+ process of distribution
+ </title>
+
+<para>
+add a tag to sufbject, update the article number.
+<screen>
+Example:
+
+Subject: [elena:00100] teddy bear is cute.
+</screen>
+(no tag by default).
+</para>
+
+<para>
+save article (as a text file).
+</para>
+
+<para>
+create a HTML version of the article under ~fml/public_html/ directory.
+</para>
+
+<para>
+update database on thread.
+</para>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ variables to control the article.
+ </title>
+
+<warning>
+<para>
+not yet written.
+</para>
+</warning>
+
+</sect2>
+
+
+<sect2>
+ <title>
+ boot sequence
+ </title>
+
+<para>
+<link linkend="bootloader">
+fml boot loader
+</link>
+boots off in this way.
+</para>
+
+
+<para>
+libexec/loader reads etc/fml/main.cf firstly.
+Suppose $fml_vesrion is defined as current-20010501 in main.cf.
+&fml8; resolves $fml_version from it and determines the library path
+as /usr/local/lib/fml/current-20010501/.
+&fml8; loads perl modules under it.
+</para>
+
+<para>
+&fml8; sets up @INC properly, fml loader loads FML::Process::Switch
+module and check $0. fml knowns the role from $0. In this case of
+distribute, fml loads FML::Process::Distribute module and processes
+distribution.
+</para>
+
+</sect2>
+
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/subscribe.sgml b/fml/doc/en/tutorial/usage/subscribe.sgml
new file mode 100644
index 00000000..4e2fd866
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/subscribe.sgml
@@ -0,0 +1,27 @@
+<!--
+ $FML$
+ $jaFML: subscribe.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $
+-->
+
+<sect1 id="usage.user.subscribe">
+ <title>
+ subscribe to ML
+ </title>
+
+<para>
+Suppose elena@fml.org ML.
+send the mail with
+<screen>
+subscribe YOUR-NAME
+</screen>
+to elena-ctl@fml.org ML.
+</para>
+
+<para>
+&fml8; sends back confirmation to both addresses.
+Please send back the confirmation to elena-ctl again.
+When you request is confirmed to be valid,
+&fml8; remove OLD-ADDRESS and add NEW-ADDRESS to member lists.
+</para>
+
+</sect1>
diff --git a/fml/doc/en/tutorial/usage/unsubscribe.sgml b/fml/doc/en/tutorial/usage/unsubscribe.sgml
new file mode 100644
index 00000000..001e5152
--- /dev/null
+++ b/fml/doc/en/tutorial/usage/unsubscribe.sgml
@@ -0,0 +1,27 @@
+!--
+ $FML$
+ $jaFML: unsubscribe.sgml,v 1.1 2002/07/28 12:20:20 fukachan Exp $
+-->
+
+<sect1 id="usage.user.unsubscribe">
+ <title>
+ unsubscribe ML
+ </title>
+
+<para>
+In the case of elena@fml.org ML,
+send the mail with
+<screen>
+unsubscribe YOUR-NAME
+</screen>
+to elena-ctl@fml.org .
+</para>
+
+<para>
+&fml8; sends back confirmation to both addresses.
+Please send back the confirmation to elena-ctl again.
+When you request is confirmed to be valid,
+&fml8; remove OLD-ADDRESS and add NEW-ADDRESS to member lists.
+</para>
+
+</sect1>