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. Example: 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. Variables *** 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.