
=encoding utf-8

=head1 NAME

Sympa::Internals - Sympa internals

=head1 DESCRIPTION

Below is the list of Sympa internal modules.
To know details of each module, run:

  man Sympa::ModuleName

=head2 Modules

=over

=item L<Sympa>

Future base class of Sympa functional objects

=item L<Sympa::Aliases>

Base class for alias management

=item L<Sympa::Aliases::CheckSMTP>

Alias management: Check addresses using SMTP

=item L<Sympa::Aliases::External>

Alias management: Updating aliases by external program

=item L<Sympa::Aliases::Template>

Alias management: Aliases file based on template

=item L<Sympa::Archive>

Archives of Sympa

=item L<Sympa::CLI>

Base class of Sympa CLI modules

=item L<Sympa::CommandDef>

Definition of mail commands

=item L<Sympa::ConfDef>

Definition of site and robot configuration parameters

=item L<Sympa::Config>

List configuration

=item L<Sympa::Config::Schema>

Definition of list configuration parameters

=item L<Sympa::Config_XML>

TBD

=item L<Sympa::Constants>

Definition of constants

=item L<Sympa::Crash>

Show traceback on critical error

=item L<Sympa::Database>

Handling databases

=item L<Sympa::DatabaseDescription>

Definition of core database structure

=item L<Sympa::DatabaseDriver>

Base class of database drivers for Sympa

=item L<Sympa::DatabaseDriver::CSV>

Database driver for CSV

=item L<Sympa::DatabaseDriver::LDAP>

Database driver for LDAP search operation

=item L<Sympa::DatabaseDriver::MySQL>

Database driver for MySQL / MariaDB

=item L<Sympa::DatabaseDriver::ODBC>

Database driver for ODBC

=item L<Sympa::DatabaseDriver::Oracle>

Database driver for Oracle Database

=item L<Sympa::DatabaseDriver::Oracle::St>

Correcting behavior of DBD::Oracle

=item L<Sympa::DatabaseDriver::PostgreSQL>

Database driver for PostgreSQL

=item L<Sympa::DatabaseDriver::SQLite>

Database driver for SQLite

=item L<Sympa::DatabaseManager>

Managing schema of Sympa core database

=item L<Sympa::DataSource>

Base class of Sympa data source subclasses

=item L<Sympa::DataSource::File>

Data source based on local file

=item L<Sympa::DataSource::LDAP>

Data source based on LDAP search operation

=item L<Sympa::DataSource::LDAP2>

Data source based on LDAP with two-level search operations

=item L<Sympa::DataSource::List>

Data source based on a list at local machine

=item L<Sympa::DataSource::RemoteDump>

Data source based on a user dump at remote host

=item L<Sympa::DataSource::RemoteFile>

Data source based on a file at remote host

=item L<Sympa::DataSource::SQL>

Data source based on SQL query

=item L<Sympa::Family>

List families

=item L<Sympa::HTML::FormatText>

TBD

=item L<Sympa::HTMLDecorator>

Decorating HTML texts

=item L<Sympa::HTMLSanitizer>

Sanitize HTML contents

=item L<Sympa::Language>

Handling languages and locales

=item L<Sympa::List>

Mailing list

=item L<Sympa::List::Config>

List configuration

=item L<Sympa::List::Users>

List users

=item L<Sympa::ListDef>

Definition of list configuration parameters

=item L<Sympa::ListOpt>

Definition of list configuration parameter values

=item L<Sympa::LockedFile>

Filehandle with locking

=item L<Sympa::Log>

Logging facility of Sympa

=item L<Sympa::Mailer>

Store messages to sendmail

=item L<Sympa::Message>

Mail message embedding for internal use in Sympa

=item L<Sympa::Message::Plugin>

process hooks

=item L<Sympa::Message::Plugin::FixEncoding>

Example module for message hook to correct charset and encoding of messages

=item L<Sympa::Message::Template>

Mail message generated from template

=item L<Sympa::Process>

Process of Sympa

=item L<Sympa::Regexps>

Definition of regular expressions

=item L<Sympa::Request>

Requests for operation

=item L<Sympa::Request::Collection>

Collection of requests

=item L<Sympa::Request::Handler>

Base class of request handler classes

=item L<Sympa::Request::Message>

Command message as spool of requests

=item L<Sympa::Robot>

TBD

=item L<Sympa::Scenario>

Authorization scenarios

=item L<Sympa::Spindle>

Base class of subclasses to define Sympa workflows

=item L<Sympa::Spindle::AuthorizeMessage>

Workflow to authorize messages bound for lists

=item L<Sympa::Spindle::AuthorizeRequest>

Workflow to authorize requests in command messages

=item L<Sympa::Spindle::DispatchRequest>

Workflow to dispatch requests

=item L<Sympa::Spindle::DistributeMessage>

Workflow to distribute messages to list members

=item L<Sympa::Spindle::DoCommand>

Workflow to handle command messages

=item L<Sympa::Spindle::DoForward>

Workflow to forward messages to administrators

=item L<Sympa::Spindle::DoMessage>

Workflow to handle messages bound for lists

=item L<Sympa::Spindle::ProcessArchive>

Workflow of archive storage

=item L<Sympa::Spindle::ProcessAuth>

Workflow of request confirmation

=item L<Sympa::Spindle::ProcessAutomatic>

Workflow of automatic list creation

=item L<Sympa::Spindle::ProcessBounce>

Workflow of bounce processing

=item L<Sympa::Spindle::ProcessDigest>

Workflow of digest sending

=item L<Sympa::Spindle::ProcessHeld>

Workflow of message confirmation

=item L<Sympa::Spindle::ProcessIncoming>

Workflow of processing incoming messages

=item L<Sympa::Spindle::ProcessMessage>

Workflow of command processing

=item L<Sympa::Spindle::ProcessModeration>

Workflow of message moderation

=item L<Sympa::Spindle::ProcessOutgoing>

Workflow of message distribution

=item L<Sympa::Spindle::ProcessRequest>

Workflow of request processing

=item L<Sympa::Spindle::ProcessTask>

Workflow of task processing

=item L<Sympa::Spindle::ProcessTemplate>

Workflow of template sending

=item L<Sympa::Spindle::ResendArchive>

Workflow of resending messages in archive

=item L<Sympa::Spindle::ToArchive>

Process to store messages into archiving spool

=item L<Sympa::Spindle::ToAuth>

Process to store requests into request spool to wait for moderation

=item L<Sympa::Spindle::ToAuthOwner>

Process to store requests into request spool to wait for moderation

=item L<Sympa::Spindle::ToDigest>

Process to store messages into digest spool

=item L<Sympa::Spindle::ToEditor>

Process to forward messages to list editors

=item L<Sympa::Spindle::ToHeld>

Process to store messages into held spool to wait for confirmation

=item L<Sympa::Spindle::ToList>

Process to distribute messages to list members

=item L<Sympa::Spindle::ToListmaster>

Process to store messages into spool on memory for listmaster notification

=item L<Sympa::Spindle::ToMailer>

Process to store messages into sendmail component

=item L<Sympa::Spindle::ToModeration>

Process to store messages into held spool to wait for moderation

=item L<Sympa::Spindle::ToOutgoing>

Process to store messages into outgoing spool

=item L<Sympa::Spindle::TransformDigestFinal>

Process to transform digest messages - final stage

=item L<Sympa::Spindle::TransformIncoming>

Process to transform messages - first stage

=item L<Sympa::Spindle::TransformOutgoing>

Process to transform messages - second stage

=item L<Sympa::Spool>

Base class of spool classes

=item L<Sympa::Spool::Archive>

Spool for messages waiting for archiving

=item L<Sympa::Spool::Auth>

Spool for held requests waiting for moderation

=item L<Sympa::Spool::Automatic>

Spool for incoming messages in automatic spool

=item L<Sympa::Spool::Bounce>

Spool for incoming bounce messages

=item L<Sympa::Spool::Digest>

Spool for messages waiting for digest sending

=item L<Sympa::Spool::Digest::Collection>

Collection of digest spools

=item L<Sympa::Spool::Held>

Spool for held messages waiting for confirmation

=item L<Sympa::Spool::Incoming>

Spool for incoming messages

=item L<Sympa::Spool::Listmaster>

Spool on memory for listmaster notification

=item L<Sympa::Spool::Moderation>

Spool for held messages waiting for moderation

=item L<Sympa::Spool::Outgoing>

Spool for outgoing messages

=item L<Sympa::Spool::Task>

Spool for tasks

=item L<Sympa::Spool::Topic>

Message topic

=item L<Sympa::Task>

Tasks of Sympa

=item L<Sympa::Template>

Template parser

=item L<Sympa::Ticket>

One-time ticket for authorization

=item L<Sympa::Tools::Data>

Functions related to data structures

=item L<Sympa::Tools::DKIM>

TBD

=item L<Sympa::Tools::Domains>

Domains-related functions

=item L<Sympa::Tools::File>

File-related functions

=item L<Sympa::Tools::Password>

TBD

=item L<Sympa::Tools::SMIME>

Tools for S/MIME messages and X.509 certificates

=item L<Sympa::Tools::Text>

Text-related functions

=item L<Sympa::Tools::Time>

Time-related functions

=item L<Sympa::Tracking>

Spool for message tracking

=item L<Sympa::Upgrade>

TBD

=item L<Sympa::User>

All Users Identified by Sympa

=item L<Sympa::WWW::Auth>

TBD

=item L<Sympa::WWW::FastCGI>

CGI Interface for FastCGI of Sympa

=item L<Sympa::WWW::Marc>

TBD

=item L<Sympa::WWW::Marc::Search>

Search archives of Sympa

=item L<Sympa::WWW::Session>

Web session

=item L<Sympa::WWW::SharedDocument>

Shared document repository and its nodes

=item L<Sympa::WWW::SOAP>

TBD

=item L<Sympa::WWW::SOAP::Transport>

TBD

=item L<Sympa::WWW::Tools>

TBD



=back

=head2 Workflow

See L<Sympa::Internals::Workflow>.

=head1 SEE ALSO

L<sympa_toc(1)>.

I<Sympa Administration Manual>.
L<https://www.sympa.community/manual/>.

=cut
