Provided by: sympa_6.2.66~dfsg-2_amd64 bug

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]
                                           :
                                           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.