SYMPA::INTERNALS::WORKFLOW(3Sympa)
๐ฆ NAME ๐ฆ
Sympa::Internals::Workflow โ the whole big-picture overview of Sympa's workflow, bestie. it's a section 3Sympa page, so you already know it's giving โจofficial loreโจ ๐
๐ DESCRIPTION ๐
okay so. the picture down there roughly describes how a bunch of classes interact with each other in the workflow of Sympa โ it's giving beautiful chaotic web and honestly? we're obsessed. ๐ธ๏ธ๐ซ if you want the actual deep lore on any one of these classes, each class has its own documentation, so go read those, fr fr. this page is the vibe map, not the whole encyclopedia ๐ซถ
๐ Message processing ๐
you'll also spot names in <<...>> form chillin' in there, plus the little *1, *2, *3 markers doing their โจthingโจ. anyway, here's the art:
<<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] => Outgoing /
\ +-> [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 ๐
the *2 from earlier literally picks up right here, no lies:
*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 ๐ง
short king section, we love her for it:
<<task_manager.pl>>
Task => [ProcessTask] => Task
๐ Legend ๐
ok so all those cryptic little symbols? yeah, they're not cryptic, they're iconic. here's the decoder ring, bestie ๐ฎ:
"ClassName"โ a Spool class. the prefix"Sympa::Spool::"is omitted (you know how it is)."Tracking"โ hi yes that's theSympa::Trackingclass ๐
"[ClassName]"โ a Workflow class. the prefix"Sympa::Spindle::"is omitted."(Mailer)"โ theSympa::Mailerclass."(list archive)"โ theSympa::Archiveclass."(mail template)"โ theSympa::Message::Templateclass."(message)"โ theSympa::Request::Messageclass."(request handler)"โ a subclass of the"Sympa::Request::Handler"class.
๐ SEE ALSO ๐
go off, read more, we stan cross-references:
sympa_toc(1)Sympa::InternalsSympa::SpindleSympa::Spool
and that's the whole page, babes ๐ซถ this one shipped with sympa 6.2.80 and dated 2026-10-19 โ periodt ๐โจ
๐ฆ where this page comes from
- fedora 43: sympa-devel-doc 6.2.80-2.fc43 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- fedora 44: sympa-devel-doc 6.2.80-2.fc44 ยท GPL-2.0-or-later AND (OFL-1.1-RFN AND MIT) AND OFL-1.1-RFN AND MIT and (MIT OR GPL-2.0-only)
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms