[GSoC 2026] [Feature Proposal] Per-List Backup and Restore Support
*Introduction: *
My name is *Sonika Chowdary Gutha*, and I am a *second-year Computer Science undergraduate at BITS Pilani, India*. I recently completed a *6-month internship in Backend Development using Python and Django*, where I gained experience in building backend systems and working with REST APIs.I am also familiar with the *MERN stack and the Flutter framework*, and I have experience developing both web and mobile applications. In addition I have been introduced to the fundamentals of several programming languages, including *Python, C++, and JavaScript*.
I am exploring the possibility of implementing a *per-list backup and restore feature* for Mailman. The goal of this feature is to allow list administrators or owners to *export the configuration and membership data of a specific mailing list into a portable backup file and restore it later when needed*.
This could be useful in situations such as:
Migrating lists between servers
Recovering from configuration mistakes
Replicating list setups across environments
*Implementation:*
The following diagram provides a visual representation of the proposed backup and restore workflow <https://excalidraw.com/#json=PhUB9tdMrupMfpx7O6_i6,OLBUtBJjL5_sCR-UokrNHw> .:
I plan to implement this feature in two parts. The main backup and restore logic should live in *Mailman Core*, since that is where the actual list configuration and membership data are stored. My idea is to define a *versioned JSON format* that captures the important per-list data such as list settings, members, owners, moderators, and relevant subscription preferences. On the export side, Core would gather this data and write it into a portable backup file. On the restore side, it would read the file, validate its contents, recreate the list if necessary, and restore the saved settings and memberships.
On the *Postorius* side, I would implement the user-facing workflow for this feature. This would include an option for list owners or administrators to download a backup file for a specific list, as well as a page where they can upload and restore that file when needed. For the initial version, I plan to keep the feature focused and reliable by covering configuration and membership data first, while leaving more complex areas such as archives or other external components out of scope unless they are explicitly expected.
*Questions:*
For the first version, what exactly should be included in the per-list backup: only settings and memberships, or also items like templates, ban lists, and member preferences? 2.
Should the main export and restore implementation live in Mailman Core, with Postorius mainly responsible for the UI and workflow? 3.
Is a *versioned JSON format* the preferred choice for the backup file? 4.
Should restore only support creating or recreating a list from backup, or should it also support restoring into an already existing list?Thank you for your time and feedback.
Please feel free to *suggest any changes or improvements to the proposed implementation*, also if possible hope i can get answers for the above questions which will be helpful for my proposal, I would be happy to incorporate them.:)
Best regards, Sonika
participants (1)
-
sonika gutha