Tanmay Singhal writes: > I’m particularly interested in the Dynamic sublists and Topics > project ideas. From reading the descriptions, it looks like both > projects mainly involve modifying recipient determination in > mailman-core (moving from list-level delivery toward > thread/topic-based delivery from what I understand), with Postorius > and HyperKitty mainly providing configuration and UI.
For both , I would start by becoming familiar with the developer docs, starting from https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/contribute.html. For Topics, you probably should get a copy of Mailman 2. The only developer docs I know of for that code is the source. However, as far as I can tell, although Topics is occasionally requested by list admins, the requesters think it is a cool idea but have not really used it. Dynamic Sublists is definitely the preferred project. Unlike Topics, Dynamic Sublists was used intensively by the Systers organization. The port of their implementation in Mailman 2 to Mailman 3 was intertwined with other large modifications, so couldn't be integrated directly into Mailman 3. I'm not sure it was ever completed. I will try to find a repo online, and maybe I have a copy. In the following, "..." = "mailman/src/mailman". The basic outline for Dynamic Sublists would be to add a Rule (.../rules/) in the default Chain (.../chains), where you'll find the documentation and partial implementation of those abstractions in .../interfaces, and the detailed implementations in .../model. > I’ve started looking at membership handling and the message > processing pipeline in mailman-core. Could you suggest specific > modules or handlers I should focus on to better understand where > delivery decisions are made? The rules are where the decisions are made. The results are stashed in the metadata of the queue object, and the actual implementation is based on actions in handlers which move or copy the queue objects to the appropriate queue, and finally they end up in the out or virgin queues to be delivered. I'm not sure whether topics or sublists would need separate queues (if the queue objects are modified other than the distribution list, they might). If you have any specific questions, feel free to ask. Aside from the above generic advice at this time I can only suggest diving in to the handler pipeline, and think about what the handler for sublists needs to know. You will definitely need an interface and a model for a sublist. It might be possible to derive those from the MailingList components. Those might be the best place to start. -- GNU Mailman consultant (installation, migration, customization) Sirius Open Source https://www.siriusopensource.com/ Software systems consulting in Europe, North America, and Japan _______________________________________________ Mailman-Developers mailing list -- [email protected] To unsubscribe send an email to [email protected] 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
