Getting Oriented with Mailman Core
Hello everyone,
My name is Himanshu, and I’m new to the Mailman community. I’ve recently started reading through the Mailman 3 architecture and codebase with the intention of contributing.
At the moment, I’m focusing on understanding Mailman Core particularly how message processing and archiving integrate with HyperKitty. I’m reading the documentation and source, but wanted to ask here to make sure I’m orienting myself correctly.
For a new contributor aiming to start with a small but meaningful change, would you recommend any specific areas or modules in Mailman Core that are good entry points?
Thanks in advance, and I’m looking forward to learning and contributing.
Best regards, Himanshu
hjasaiwal114 via Mailman-Developers writes:
My name is Himanshu, and I’m new to the Mailman community. I’ve recently started reading through the Mailman 3 architecture and codebase with the intention of contributing.
Please see my recent followup to Jayant for information about the documentation on these points.
At the moment, I’m focusing on understanding Mailman Core particularly how message processing and archiving integrate with HyperKitty.
HyperKitty has nothing to do with message processing. It lives on the "far side" of several APIs from Mailman core functionality (the queue discipline for message processing and the REST API for database queries).
The API for message processing is actually quite simple:
- The core pipeline checks for archiving of the list and when appropriate drops a copy of the queue object in the 'archive' queue.
- The 'archive' runner picks it up, checks for active archivers for the relevant list, calls a callback provided by the archiver (in the case of HyperKitty, this callback is provided by the mailman-hyperkitty module, a separate repo in the GitLab mailman project).
- The callback imports the message into the archive, and the archiver processes it.
For a new contributor aiming to start with a small but meaningful change, would you recommend any specific areas or modules in Mailman Core that are good entry points?
Mailman Core performs a wide variety of functions that interact in complex ways. For a broad understanding I recommend studying the documents recommended in the followup mentioned above.
An alternative approach is to pick a particular issue and study the code paths related to it. This can be effective if you have a backtrace from an exception.
Thanks in advance, and I’m looking forward to learning and contributing.
Best regards, Himanshu
Mailman-Developers mailing list -- mailman-developers@python.org To unsubscribe send an email to mailman-developers-leave@python.org https://mail.python.org/mailman3/lists/mailman-developers.python.org/ Mailman FAQ: https://wiki.list.org/x/AgA3
Security Policy: https://wiki.list.org/x/QIA9
-- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan q
participants (2)
-
hjasaiwal114 -
Stephen J. Turnbull