Scroll to navigation

Sympa::Internals::Workflow(3Sympa) sympa 6.2.16 Sympa::Internals::Workflow(3Sympa)

NAME

Sympa::Internals::Workflow - 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]
                                    :
                                    *1
 
                     +-> (reject or ignore)
                    /
                   +---> [DoCommand]
                  /               :
 Incoming => [ProcessIncoming]    *2
                  \                              +-> (reject)
                   +-> [DoForward] => (Mailer)  /
                    \                          +-> [ToEditor] => Outgoing
                     +-> [DoMessage]          /
                               \             /---> [ToHeld] => Held
          *3 (CONFIRM)          +-> [AuthorizeMessage]
          :                    /             \---> [ToModeration] => Mod.
 Held => [ProcessHeld] -------+               \
                                               +-> [DistributeMessage]
            *3 (DISTRIBUTE)                   /             \
               (REJECT)       +--> (reject)  /               \
                :            /              /                 \
 Moderation => [ProcessModeration]         /                   \
                             \            /                     \
                              +----------+                       \
                                                                  \
                       +-------------------------------------------+
                        \
                        [TransformIncoming]
 <<wwsympa.fcgi>>         \
                        [ToArchive] => Archive
 (list archive)             \
  => [ResendArchive] -- [TransformOutgoing] -+
                              \               \
                        [ToDigest] => Digest   \
                                \               \
                                 +---------------+-> [ToList] => Outgoing
 
                            +-> [TransformDigestFinal]  
                           /                     \
 <<Template sending>>     /         +----------> [ToOutgoing] => Outgoing 
                         /         / 
 (mail template) => [ProcessTemplate] ---------> [ToAlarm] => Alarm
                        :          \
                        *1          +----------> [ToMailer] => (Mailer)

Command processing

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

Legend

"ClassName"
Spool class. Prefix "Sympa::Spool::" is omitted.
"Alarm"
"Outgoing"
"Tracking"
Sympa::Alarm, Sympa::Bulk and Sympa::Tracking classes (they are named such by historical reason).
"[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.

2016-11-25 6.2.16