Page MenuHomePhabricator

Switch office mailing list to Google Groups
Closed, ResolvedPublic

Description

There are currently a Mailman list (wmse-kontor@styrelse.wikimedia.se) and a Google Groups list (kansli@wikimedia.se). They have been used somewhat parallel lately, the former more so than the other.

To switch we need to:

  • Migrate the archive to Groups.
  • Test round trip of import and export of archives into Groups. T305237
  • Redirect the old list address to the new one.

Event Timeline

  1. Look at what suitable new list names will be. [Since we are switching from @styrelse.wikimedia.org anyway and there has been some confusion around the naming of two of the lists in the past.]

Is "kansli@" the name we want? It's what the group is called now.

  1. Look at what suitable new list names will be. [Since we are switching from @styrelse.wikimedia.org anyway and there has been some confusion around the naming of two of the lists in the past.]

Is "kansli@" the name we want? It's what the group is called now.

As long as the old address is also a re-direct I would say that it should work. I struggle to come up with a scenario where someone is "staff enough" to be on the e-mail list but not "staff enough" to have access to the shared Google drives etc.

Need to remember that this mailing list should not be open to email from the outside.

Sounds reasonable to make the move. Please go ahead.

Initially, e-mails should be sent to both kansli@ and the old wmse-kontor@.

.mbox archives live at /var/lib/mailman/archives/private/ on the wlm server

I did a test run with a few messages from the office list to test.group@ and it seems to have worked fine.

To get the client id and client secret do this in the Cloud Platform dashboard:

  • Enable Group Migration API.
  • Add API credentials.

There are lots of things in the dashboard so searching is the easiest way to find what you need.

I tried with importing an e-mail with an attachment and that worked.

After some testing it seems that e-mails added through the API does not get sent to members. Maybe this is fine or indeed what we want, since this means you don't get e-mails from before you were added to the list (but can still access them in Groups).

I've used Python's mailbox module to compare the Groups archive with the imported Mailman one. In the end I managed to get a Group export that matched the one from Mailman. "Matched" here means there are no messages in the Mailman MBOX that are not also in the Groups MBOX.

There were a few weird things:

  • The MBOX from Mailman contains two duplicates and one triplicate messages. One had a difference of one space, the others were identical.
  • There were some errors when doing the initial import, possibly due to the erroneous messages mentioned above.
  • There were a few messages that weren't imported to Groups initially. Redoing the import with the just the missing messages eventually solved it.

I confirmed that using recipient maps for sending copies works as we want. I made two maps, one from Groups to Mailman and one the other way. Both have "Also route to original destination" enabled. Sending an e-mail to either address also sends a copy to the other, but doesn't create an infinite loop🙂

I had a look through the group settings and most of permissions are now set to "Group members". This shouldn't cause any issues since its internal. I set "Who can post as the group" and the moderation options to "Group managers", just to people doing anything by mistake.

For Mailman to be happy I had to add the new list as an alias under "Privacy options..." -> "Recipient filters". Otherwise the emails were held for moderation.

Would you mind setting up Google doc describing the import (and for the future also the export) procedure. My thinking is that we can add a rationale for the migration to the top then publish it to the wiki as a memo on why and how the migration was done (the export instructions making it clear that we are not locking ourselves into this choice forever).

Note to self: background arguments are over at T198679: Investigate switching internal mailing list over to GSuite group

Redirecting from Mailman -> Groups was not possible through recipient map sin Workspace, since it's a different domain. A quick and easy fix was to add the group as subscriber to the Mailman list. These seems to work and now sending to either list will send a copy to the other (and now strange loops occur).

Would you mind setting up Google doc describing the import (and for the future also the export) procedure.

https://docs.google.com/document/d/1h_WlNL4mHJJlND0_iOp7GseRJrJhl4ZtU2zOPdF-OHo

Everything should work now. Putting this on my watch list while we test.