Sympa::Internals::Workflow.3Sympa - Man Page

Overview on workflow of Sympa

Description

Following picture roughly describes interaction among several classes in workflow of Sympa.  For more details see documentation on each class.

Message processing

 <<archived.pl>>
 
 Archive => [ProcessArchive] => (list archive)
 
 <<bounced.pl>>
 
 Bounce => [ProcessBounce] => Tracking
 
 <<bulk.pl>>
 
 Outgoing => [ProcessOutgoing] => (Mailer)
 
 <<sympa_automatic.pl>>
 
 Automatic => [ProcessAutomatic] => Incoming
 
 <<sympa_msg.pl>>
 
 Digest::Collection => [ProcessDigest]
                                    :
                                    v
                                    *1
 
                      +-> (reject or ignore)
                     /
                    +---> [DoCommand]
                   /              :
                  /               v
 Incoming => [ProcessIncoming]    *2
                  \                              +-> (reject)
                   +-> [DoForward] => (Mailer)  /
                    \                          +-> [ToEditor] => Outgoing
                     +-> [DoMessage]          /
                               \             /---> [ToHeld] => Held
          *3 (CONFIRM)          +-> [AuthorizeMessage]
          :                    /      :      \---> [ToModeration] => Mod.
          v                   /     Topic     \
 Held => [ProcessHeld] ------+                 \
                                                +-> [DistributeMessage]
            *3 (DISTRIBUTE)                    /           \
               (REJECT)       +--> (reject)   /             \
                :            /               /               \
                v           /               /                 \
 Moderation => [ProcessModeration]         /                   \
                            \             /                     \
                             +---------- +                       \
                                                                  \
                       +-------------------------------------------+
                        \
                        [TransformIncoming]
                          \        :
                           \     Topic
 <<wwsympa.fcgi>>           \
                        [ToArchive] => Archive
 (list archive)               \
  => [ResendArchive] -- [TransformOutgoing] -+
                                \             \
                        [ToDigest] => Digest   \
                                  \             \
                                   +-------------+-> [ToList] => Outgoing
                                                           :
                            +-> [TransformDigestFinal]    Topic
                           /                 \
 <<Template sending>>     /         +------> [ToOutgoing] => Outgoing
                         /         / 
 (mail template) => [ProcessTemplate] -----> [ToListmaster] => Listmaster
                       /           \
                       ^            +------> [ToMailer] => (Mailer)
                       |
                       *1

Command processing

                      *2
 <<sympa_msg.pl>>     :
                      v
 (message) => [ProcessMessage] --+             +-> (reject)
                                  \           /
      *3 (AUTH)                    \         /---> [ToAuth] => Auth
         (DECL)     +-> (decline)   +-> [AuthorizeRequest]
          :        /               /         \---> [ToAuthOwner] => Auth
          v       /               /           \
 Auth => [ProcessAuth]           /             \
                  \             /               +-> [DispatchRequest]
                   +-----------+                            \
                              /                      (request handler)
 <<wwsympa.fcgi, SOAP>>      /                                :
                            /                                 v
 Request::Collection       /                                  *3 
        => [ProcessRequest]

Task processing

 <<task_manager.pl>>
 
 Task => [ProcessTask] => Task

Legend

ClassName

Spool class.  Prefix Sympa::Spool:: is omitted.

Tracking

Sympa::Tracking class

[ClassName]

Workflow class.  Prefix Sympa::Spindle:: is omitted.

(Mailer)

Sympa::Mailer class.

(list archive)

Sympa::Archive class.

(mail template)

Sympa::Message::Template class.

(message)

Sympa::Request::Message class.

(request handler)

A subclass of Sympa::Request::Handler class.

See Also

sympa_toc(1), Sympa::Internals, Sympa::Spindle, Sympa::Spool.

Info

2024-08-22 sympa 6.2.72