fml 8 tutorial ( under being translated ... )

Dr . Ken'ichi Fukamachi

FML.ORG

   
        

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The current TODO is seen at http://www.fml.org/software/fml-devel/fml/doc/ja/todo/STATUS.html (Japanese only now, sorry).

It is verified that fml8 works on the following environemnt now.

	perl 5.6.1   on NetBSD 1.5.x (1.5 stable)		
	perl 5.6.1   on NetBSD 1.6				
	perl 5.00503 on FreeBSD 4.3 STABLE
	perl ?       on FreeBSD 4.6 RELEASE
	perl 5.00503 on FreeBSD 4.7 RELEASE-p3
	perl 5.00503 on FreeBSD 4.6.2 RELEASE			
	perl 5.6.1   on Redhat Linux 7.2 (postfix)		
	perl 5.00503 on Redhat Linux 6.2 (sendmail8.11.6)	
	postfix       + perl 5.6.1 on Solaris 7			
	postfix 2.0.3 + perl 5.6.1 on Solaris 9			


Table of Contents
Preface
fml8 status
The road to the next generation of fml
relation between fml4 and fml8 development branch.
mailing list
Please let me know your opinion ...
On this tutorial
terms in tutorial
I. fml fundamental usage
1. mailing list ?
Email
mailing list (ML)
2. fml8 overview
fml8 features
installation overview
Create an ML
add a new user to ML
remove the user
customize
II. fml: how to set up ML.
3. Download fml8 source code.
Download via ftp.
Access to cvs.
Access to cvs via cvsweb.
4. fml8 installation on UNIX
preparation of installation
run configure
Appendix: directory roles
fml installation: make install
Edit main.cf
Edit site_default_config.cf (optional)
Filter
virtual domain
MTA configuration (postfix)
MTA configuration (qmail)
5. Create ML on UNIX
run "makefml newml" to create an ML
MTA configuration (postfix)
MTA configuration (qmail)
customize config.cf
6. fml8 installation on Microsft 2000/NT
7. upgrade/downgrade
upgrade
downgrade.
8. Configure CGI
"makefml newml" creates CGI script.
edit .htaccess
Example: master cgi
CGI Example: create an ML
CGI example: subscribe
9. test
before test
test of only MTA
send a mail to ML
test of fml8 itself.
reset after test.
III. fml: how to customise
10. What the user can do ?
get ML guide
subscribe to ML
post article
if you know the usage of ML
read past articles
unsubscribe ML
command mail (control fml by sendmail mails)
11. What can we do on the mailing list server host ?
On the host
Policy of command creation
create ML
remove the ML
subscribe/unsubscribe
change registered address
stop delivery for a user
start delivery for a user
See log of elena ML
see the member list of ML
Modify configuration
add/remove remote administrator.
add/remove a moderator
fml command and makefml command
show all valid addresses (users and aliases)
show alias configuration
show configuration of one ML
show document of perl module
convert article to HTML form.
12. Modify configuration files
change default for all ML's on thie host
13. [Caution] file names
Filename structure
Case study: address list
Case study: list of remote administrators
Case study: list of moderators
Case study: remote administrator password files
14. Case studies of customization
case study: auto file responder
case study: anyonen can use command mail.
case study: disable command mail
case study: mail magazine
case study: anyone can post.
case study: hierarchical ML
I want to use ML by my account.
case study: office (1)
case study: office (2)
15. header rewriting
Recipe's
16. Extend command
case study: create your own help command.
17. Firtering
IV. troubleshooting
18. Troubleshooting
V. fml design
VI. fml internals
19. Configuration file: config.cf
ML specific configuration file: config.cf
config.cf format
Extension to postfix style
Overload variables in config.cf
Modifying/adding variables after all configuration files have been loaded.
Variable list (alphabetical order)
Variable list (class based)
20. Create a new program
Create a program (CUI)
Create a program (CGI)
21. fml8 mail delivery system
The difference between fml4 and fml8
Mail::Message object
fml sends back a mail message
mail queue and delivery system
mail queue directory
Discussion: FML::Mailer is apropriate ?
Delivery TIPS
22. Digest delivery
Files used for digest delivery control
Idea: digest related commands
23. Manipulate message (mail message)
Mail::Message class
Mail::Message::Parse class
Mail::Message::Compose class
Message internationalization: a the usage of reply_message_nl()
Discussion: how to send back language dependent error mesages
24. Command (command mail, CUI and GUI)
Modules for commands
Data flow of command request processing
Command extension: command mail
CUI command extension: makefml/fml
GUI command extension: CGI
How differ coding style among fml4 and fml8
25. User authentication
Discussion: FML::Credential implementation
26. Virtual domain handling
Overview: virtual domain handling in fml8
Case study: movement ?
27. Database management system
Overview
TODO
VII. modules
28. IO abstraction layer (IO::Adapter class)
IO::Adapter overview
IO::Adapter methods
Argument type of methods
File map
Unixgroup map
NIS map
MySQL map
29. Mail::Message module
Mail::Message overview
Mail::Message module: analyze
Mail::Message module: create a new object
Mail::Message module: header manipulations
Mail::Message module: manipulate messabe body
Mail::Message module: search
Mail::Message module: print
Mail::Message module: utility functions
Refernces
30. Language dependent functions
Something::Language:: class
31. Mail::Message::Encode class
Mail::Message::Encode specification
run_in_chcode()
32. Execise: create a new program
Case study: create a fmlsch
Case study: fmlsch.cgi
VIII. Apendixes
Glossary (function and variable names convention)
A. Struct curproc (object in fact)
List of Tables
4-1. directory structure
19-1. table description
fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml-devel/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.