Monday, September 12, 2011

Are you a Listowner? Try listadmin CLI tool

I don't consider myself a very techie person, and generally chose the GUI tools over text-based commands in a console, with few exceptions. However, my life keeps getting busier, and spending time on mindless tasks like deleting list spam seems like a waste. Especially when there is a command-line interface (CLI) tool which promises both speed and control.

This will only be useful if you are a listowner, and your list is administered using Mailman, and you use Linux/Unix/BSD. But if this fits you, give it a try! In your package manager, select listadmin, or use apt-get install listadmin or the equivalent in your distribution. To start the application, in your console, type listadmin. If it's the first time you've run listadmin, you'll first see a series of questions which when answered will fill in the file $HOME/.listadmin.ini. I found it easier to edit this file by hand until I found the correct way to enter the password and listnames. You can edit this file in any text editor; I prefer Kate.

Here's my file, with some sample lists:
username valorie.zimmerman@gmail.com
password XxXxX
spamlevel 8

# If you uncomment the following you will only have to press Return
# to discard a message:
#
default discard

# Uncomment the following to get a terse transaction log:
#
# log "~/.listadmin.log"
volunteers@mailman.linuxchix.org


password XxXxXx
alsachat@lists9.rootsweb.ancestry.com

Username in this case is the email account you use in Mailman to administer the list; password is the password exactly as you type it - no extra spaces or symbols, and list address takes a bit more explanation. I successfully figured out the listname so it worked by using the Mailman administration weblink for the subdomain and domain part. For instance, my Linuxchix link is http://mailman.linuxchix.org/mailman/admindb/listname, which becomes listname@mailman.linuxchix.org. For Rootsweb lists, it's http://lists#.rootsweb.ancestry.com/mailman/admindb/listname, which becomes listname@lists#.rootsweb.ancestry.com, where # is the server number. The same procedure works for KDE lists: https://mail.kde.org/mailman/admindb/listname becomes listname@mail.kde.org.

The coolest thing is that if you set up your ini file as I did, you can do ALL your Mailman lists in one run, no matter how many servers the lists live on, and how many passwords you use. Be sure to use a blank line after the last list in a group, then create another group as shown above.

For more information, see the author's description: http://heim.ifi.uio.no/kjetilho/hacks/#listadmin and the Manual: http://heim.ifi.uio.no/kjetilho/hacks/listadmin.txt