blob: 291e29a86e51adbabdfaf44335b0538786adff5e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
<!--
$FML: post.sgml,v 1.2 2005/07/20 10:37:45 fukachan Exp $
$jaFML: post.sgml,v 1.7 2003/04/15 14:51:46 fukachan Exp $
-->
<sect1 id="usage.post">
<title>
Posting Article
</title>
<para>
Send a mail to elena@fml.org.
MTA running on the mailing list server host (on e.g. ahodori.fml.org)
receives the mail and finally kicks off
/usr/local/libexec/fml/distribute command.
</para>
<para>
"distribute" command recieves the message from STDIN,
rewrites the header,
save it in the spool directory and
pass it back to MTA for delivery.
</para>
<sect2>
<title>
Distribution Process
</title>
<para>
1) &fml8 adds a tag to the subject,
update the article sequence number.
<screen>
Example:
Subject: [elena:00100] teddy bear is cute.
</screen>
(no tag by default).
</para>
<para>
2) save article (as a text file).
</para>
<para>
3) create a HTML version of the article under ~fml/public_html/ directory.
</para>
<para>
4) update database (udb) on thread.
</para>
</sect2>
<sect2>
<title>
Variables
</title>
<warning>
<para>
*** sorry, not yet written ***
</para>
</warning>
</sect2>
<sect2>
<title>
Example: Boot Sequence Of Distribute Process
</title>
<para>
<link linkend="bootloader">
fml boot loader
</link>
boots off in the following way.
</para>
<para>
/usr/local/libexec/fml/distribute command is symlink-ed to
/usr/local/libexec/fml/loader. These files are same.
</para>
<para>
/usr/local/libexec/fml/loader reads /usr/local/etc/fml/main.cf
firstly. $fml_vesrion such as "current-20010501" is defined
in the 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 (process name). fml knows the process role from
$0. In this case of distribute, fml loads FML::Process::Distribute
module (defined as /usr/local/etc/fml/$fml_version/modules),
switch itself to it and processes distribution.
</para>
</sect2>
</sect1>
|