[Mailman-Users] Mailman 2.x to 3.1.x Migration

Mark Sapiro mark at msapiro.net
Tue Jul 24 17:29:59 EDT 2018

On 07/24/2018 06:32 AM, Andrew Hodgson wrote:
> Once done you can see the results by navigating to your Mailman instance and you can see the data about the list such as the creation date, number of posts and the members.  For some reason on my instance the last post date is still the last post from Mailman2, even though it has been running on Mailman3 for a month or so.

This is <https://gitlab.com/mailman/mailman/issues/453>, fixed in
Mailman 3.2.

> Import archives:
> Use the command python manage.py hyperkitty_import to get the private mbox into your list.  I ran into 2 issues:
> - If you have posts in the new archive on Mailman3 then you need to specify the earliest date you want to import into the archive as the command won't import anything older than the earliest date in the new archive.  If you run the command with the help option you can see the format required;

Yes. I've thought about adding a --all option to import the entire mbox
regardless of date, but for now I just specify --since='1990-01-01'.

> - There were older messages in the mbox without message-ids in the archive that failed to import.  I took the easy way out on this one and didn't import them.  In an archive with around 120,000 messages it rejected around 30 messages in all.

This is <https://gitlab.com/mailman/hyperkitty/issues/180>, fixed in
HyperKitty 1.2.0.

There are other issues that haven't yet been fixed other than by my own,
unmerged patches. See <https://gitlab.com/mailman/hyperkitty/issues/183>
and <https://gitlab.com/mailman/hyperkitty/issues/184>.

It really helps to have the import mbox as clean as possible before
starting. If it's a MM 2.1 mbox from a list created on MM 2.1.x, it's
probably pretty good, but if it's from a list created in MM 2.0 days, it
probably has issues. In any case, you need to check it for unescaped
'From ' lines with MM 2.1's bin/cleanarch. Even this isn't perfect, but
it helps.

Also, after you import archives, the Haystack search index will not
index those messages because they are not seen as new. Older versions of
hyperkitty_import would say that the Django minutely update_index job
would do it, but it won't. You can run

python manage.py update_index

to index those imported messages, but if you have a large installation
with multiple tens of thousands of archived messages, this can take
several hours. To help with this, there is now

python manage.py update_index_one_list

to do just a specified list. This too can take a long time (run it in
the background) if the imported archive was large, but it's often
preferable to doing the entire installation.

Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list