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

fml 8 tutorial

Dr . Ken'ichi Fukamachi



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 status of fml8 is PRE ALPHA. The version is 7.98.x. We plan to assign version 7.99.x to fml 8 ALPHA through fml 8 RC (release candidate).

The current TODO is seen at http://www.fml.org/software/fml-devel/fml/doc/ja/todo/STATUS.html (Japanese only now, sorry). See the Chapter called Difference Between fml4 And fml8 on the changes between fml 4 and fml8.

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

	perl 5.8.5   on NetBSD 2.0 
	perl 5.8.5   on NetBSD 1.6
	perl 5.6.1   on NetBSD 1.5.x (1.5 stable)		
	perl 5.6.1   on NetBSD 1.6				
	perl 5.6.1   on FreeBSD 5.2.1
	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 Turbolinux Server 8 (qmail)
	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
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
Technical terms in this tutorial
I. Fml Fundamental Usage
What Is Mailing List ?
Mailing List (Ml)
fml8 Overview
fml8 Features
Installation Overview
Create An ML
Add A New User To ML
Remove The User
II. How To Set Up ML
Download fml8 Source Code.
Download Via FTP.
Access To GitHUB.
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)
Virtual Domain
MTA Configuration (postfix)
MTA configuration (qmail)
Create ML On Unix
Run "makefml newml" To Create An ML (In The Case Of Default Domain)
Run "makefml newml" To Create An ML (In The Case Of Virtual Domain)
MTA Configuration (postfix)
MTA Configuration (qmail)
Customize config.cf
fml8 installation on Microsft 2000/NT
Convert fml4 Style ML To fml8 Style ML
Overview: fml4 To fml8 (1)
Overview: Convert fml4 To fml8 (2)
Overview: Difference Between fml4 and fml8
Difference Between fml4 And fml8
Difference Between fml4 And fml8: License.
Difference Between fml4 And fml8: Command Mail And Error Messages.
Difference Between fml4 And fml8: CUI
Difference Between fml4 And fml8: GUI (CGI)
File Naming Convention
Upgrade And Downgrade Of fml8
Configure CGI
"makefml newml" Creates CGI Script Always
Edit .htaccess
Example: Master Cgi
CGI Example: Create ML
CGI Example: subscribe
CGI Skin Selection
Apache Configuration
Use Suexec Of Apache
Before Test
Test Of MTA
Send A Mail To ML
Test Of fml8 Itself.
Reset After Test.
III. How To Customise
What A User Can
Get ML Guide
Posting Article
Help: When You Want To know The Usage
Get Past Articles
Command Mail (Control fml By Sending Mail)
What Can You Do On The Mailing List Server
On The Host
Policy Of Command Creation
Common Command Line Options
Create A New ML
Remove An ML
Subscribe and Unsubscribe
Change the registered address
Stop Realtime Delivery
Start Realtime Delivery
See Log
See The Member List
Modify Configuration
Add or Remove A Remote Administrator.
Add or Remove A Modrator
"fml" And "makefml" Command
Show Addresses (Users + Aliases)
Show Alias
Show Configuration
Show Perl Module Document
Convert Articles To HTML Form
Modify Configuration Files
Change Default For All ML's On Thie Host
[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
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 (1)
Case Study: Mail Magazine (2)
Case Study: Anyone Can Post.
Case Study: Article Posting Allowd If It Is A Reply To The Former One.
Case Study: PGP/PGP Based Authentication In Posting
Case Study: Authenticate command mail by PGP/GPG
case study: hierarchical ML
I Want To Use ML By My Account.
Case Study: Office (1)
Case Study: Office (2)
Header Rewriting
Extend Command
Case Study: Create Your Own Help Command.
Extend Message
Case Study: Customize Message
Be ML Articles public via WWW
IV. Operations
See Log
Show Computer Oriented Log
Back Up Of Configurations
Back Up fml8 Configurations
Back Up All Files Except For Some Large Directories.
V. Troubleshoot
When The File System Error Ocuurs
VI. fml8 Design
[LOG] Original Idea Of fml8 Project
The Original Idea Of fml8 (fml-devel) Project
Details Of Idea
Architecture image
release engineering
Programming Style
Variable Naming Convension
A Few Topics On Design And Coding Style
Programming Style Original Idea
VII. fml8 Internals
fml8 Boot Loader To Resolve Version Dependence Dynamically
Case: Distribution
FML::Process:: Class Structure
Modules In Process Execution
Discussion: Where Function Should Resolve $ml_name And $ml_domain.
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)
Create A New Program
Create A Program (CUI)
Create A Program (CGI)
fml8 Mail Delivery System
The Difference Between fml4 And fml8
Mail::Message Object
Incoming Queuing
fml Sends Back A Mail Message
Mail Queue And Delivery System
Mail Queue Directory
Queue Management System
Discussion: FML::Mailer Is Apropriate ?
Delivery TIPS
Digest Delivery
Files Used For Digest Delivery Control
Idea: Digest Related Commands
Language Preference In Processing
Problems Of Language Preference
Japanese Preferred ML
English preferred ML
Manipulate Message (Mail Message)
Mail::Message Class
Mail::Message::Parse Class
Mail::Message::Compose Class
Message Internationalization: The Usage Of reply_message_nl()
Discussion: How To Send Back Language Dependent Error Mesages
Overview Of Filter System
Configuration Variables
Size Limit
Limit For Command Mail
Mime Component Filter Rules
Discussion: Mime Component Filter Needs What Functions ?
Subscribe / Unsubscribe
Which Map Subscribe/Unsubscribe Is Operated To ?
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
Internal Of CGI Process
Screen Of CGI And The Method
Screen And Trampolin Mechanism
MISC: Hard Coding Is Mandatory ?
CGI Implementation: Inheritance Among CGI Classes
CGI Implementation: config.cgi
Q: How Recursively Sub Directory Can Be Created ?
Restrict Input Data
Overview: Checks Of Input Data
FML::Restriction Class
How CGI Restricts The Input
Discussion: FML::Restriction Is Too Restrictive ?
User Authentication
Discussion: FML::Credential Implementation
Hook Naming Convension
Virtual Domain
Overview: virtual domain handling in fml8
Case study: movement ?
Errormail Analyzer (libexec/error)
Algorithm Of Error Detection
Cache Of Error Messages Data
Forward Error Messages
IO Interface And Operations
Fundamentals Of IO::Adapter
Methods / Operation Vector
Overview: Lock
Database Related Modules
Persistent Data Use
Tie::JournaledFile Class
FML::Cache::Ring Class
Database Management System
Convert Another ML System To fml8
Implementation: fml4 To fml8
VIII. Modules
IO Abstraction Layer (IO::Adapter Class)
IO::Adapter Overview
IO::Adapter Methods
Argument Type Of Methods
File Map
Unixgroup Map
Nis Map
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
Language Dependent Functions
Something::Language:: Class
Mail::Message::Encode Class
Mail::Message::Encode Specification
Execise: Create A New Program
Case Study: Create A fmlsch
Case Study: fmlsch.cgi
IX. Apendixes
Glossary (function and variable names convention)
Struct curproc (Object In Fact)
curproc Object
PCB Category List
List of Tables
1. directory structure
1. Difference between fml4 and fml8: CUI
1. refactoring TODO
2. release interval
1. table description
[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >