apache apachecon app apple asf atom atomprotocol atompub barcamprdu blogapps blogging businessblogging conferences family feeds foss general glassfish google humor ibm java javaone links linux mac microsoft movies music netbeans opensocial opensource photos politics rest roller rome rss socialnetworking socialsite socialsoftware sun triangle trianglebloggers vacation webdev webservices wiki


Thursday Oct 23, 2003

Mailing-list weblog integration.

Michael Thomas of the Triangle Internetworkers (INW) has an interesting idea. The Triangle Internetworkers is "a geographically defined, loosely knit group of technology workers who like to get together once a month and socialize." Between monthly gatherings the group hangs out on a busy, sometimes noisy, and comfortable mailing list. Michael sees value in the group's discussions and wants a way to share this value on the web by developing a community website that is driven by content posted to the INW mailing-list.

To make it easy for mailing-list subscribers to opt-in to the website and to ensure that the mailing-list's unique eco-system remains intact, Michael wants to develop a system based on simple markup-language that subscribers can use, or choose not use, within their email messages. The markup will indicate the message content and message meta-data like title, category, etc.  He's written up the requirements and the motivations behind this idea and some initial design ideas.

Michael's requirements and design do not mention weblogging even once, but this is obviously a weblog application.  By using a weblog the Internetworkers will have complete control over site layout and design, categorization, permissions, RSS feeds, Blogger API, comments, etc. Somebody has got to have done some mailing-list weblog integration work already, but I can't find anything except a plea for mailing-list weblog cross-polination from Tim O'Reilly. Finding nothing, I decided to come up with some suggestions on my own:

  • One approach would be to write a program that can itself subscribe to the mailing list. This program will receive each email message, parse the markup, and use some logic to decide what to do with the mail message. This program will use the widely-supported and XML-RPC based Blogger API to post and publish messages to a weblog. Using the Blogger API, messages could be "posted" and then the owner of the weblog could choose whether or not to publish them via the weblog's administration pages. Or, alternatively, all messages could be "published" automatically without intervention of the weblog owner. You could write this thing in Java, Python, Perl, C# or just about anything. It would be helpful to have a XML parser, or better yet an XML-RPC client library (there are many implementations), or best of all a Blogger API client library. The advantage of this approach is that you don't have to modify the weblogging software, so you would have the option of hosting your blog on one of various inexpensive or free blogging sites like Blogger.com, Typepad.com, or one of the free Roller sites.

  • Another approach might be to start with Moblogger. The open source Moblogger, developed by Russell Beattie, is a program that  "runs as a background process that monitors a POP3 email account for new email, then downloads it, detaches any files such as pictures, sound or video, uses the Blogger API to post the text in the email to your blog and uses FTP to post the files to your server." If you are a Java developer, this would be the quickest way to get up and running. It does almost everything you need, but of course, you would have to modify  Moblogger to plugin your markup processor and post/publish logic.

  • The custom blog approach: start with an open source weblogging package that supports weblogging via email, hack it so that it can subscribe to your mailing list and can understand your email markup language. There are a couple of disadvantages with this approach; it limits your choice of weblog software and requires you to pay for an ISP to host your own weblog. The first two approaches use the standard Blogger API to communicate with the weblog server, so they can be used with just any blogging software or blogging service.

Any other ideas? Has anybody implemented this type of system before?

This work is licensed under a Creative Commons License.
Copyright 2002-2007, David M Johnson (dave.johnson at rollerweblogger.org)

This is a personal weblog, I do not speak for my employer.