[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

Posting Article

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.

"distribute" command recieves the message from STDIN, rewrites the header, save it in the spool directory and pass it back to MTA for delivery.

Distribution Process

1) fml8 adds a tag to the subject, update the article sequence number.


Subject: [elena:00100] teddy bear is cute.
(no tag by default).

2) save article (as a text file).

3) create a HTML version of the article under ~fml/public_html/ directory.

4) update database (udb) on thread.



*** sorry, not yet written ***

Example: Boot Sequence Of Distribute Process

fml boot loader boots off in the following way.

/usr/local/libexec/fml/distribute command is symlink-ed to /usr/local/libexec/fml/loader. These files are same.

/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.

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.

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >