progressive technology

Blog-based project groups and Drupal

This week, Paul Benson posted an interesting diary at OpenLeft about supporting project groups on progressive blogs. The basic idea is fairly simple: quite often, progressive blog readers want to get together to collaborate on a project. Projects can range in nature and scope widely, and they can have a fixed goal (like producing a catching YouTube video) or an ongoing set of goals (like promoting progressive legislation). But they all seem to share on common characteristic: they are poorly served by the recommended diary section of most progressive blogs. Paul lists only two examples of projects that were successfully organized via diaries - YearlyKos and the Gannon investigation. There are probably a few more we could add to the pile, especially if we reached into the archives of local and statewide blogs, but I think the point stands. Blogs are a great way to share news and opinions and to incite activism; they are not a great way to organize activism.

Paul sketches out a quick-and-dirty example of what a progressive project organizing platform might look like, and I think it's a reasonable first start. There are certainly other online project management tools available, ranging from dotProject to 37 Signals's Basecamp. I would also add that Paul's critique only underscores a point I've been making here in recent weeks: that the progressive blogosphere could be exceptionally well-served by an open-source platform, especially one like Drupal.

There are a couple of Drupal modules which are particularly well-suited to the sort of project management Paul is referring to: Organic Groups and Project. The former allows any Drupal site to be subdivided into a number of workspaces for interest groups. The form of a workspace can itself be flexible - it can be a wiki, a blog, a document-sharing space, or a combination of all of these. The Project module is used to keep track of projects, subdivide them into tasks, and monitor the progress on each task, using a lightweight project-management paradigm. Project was written to support bug tracking for Drupal modules and themes, but it can also be adapted for other purposes. While I have not yet had the chance to incorporate them into the Drupal-based blogging platform I wrote about last week, it's clear that the ability to add these modules easily to any Drupal site is a major advantage to using Drupal to power a progressive blog.

There is also, I think, a larger point to be made about the use of open source software to power the progressive movement. There are many similarities between the progressive movement and most open source software project. They are both decentralized, made up of many independent actors with similar goals. It's no accident that they are both likely to run up against the same kind of collaborative challenges, which is, I think, yet another reason that the progressive movement should build upon the progress made by Drupal.

First release of Drupal progressive blogging platform

Last week I posted a prospective roadmap for a Drupal-based progressive community blogging platform. I've begun working on that platform, and have a very rough draft of the platform ready to go. If you are interested in helping out, email me at work (ssachs at lightbulbfirst dot com) or leave a note in the comments, and I can send you more details.

Below, I've written some details about the functionality available to date, as well as some of the upcoming high-level technical challenges. If you are a Drupal developer who'd like to lend your suggestions or expertise, or if you are a blog reader/writer and have some thoughts about how comment voting and recommendations can be improved, feel free to drop a note in the comments. Finally, if you have some thoughts about a good name for this platform, I'm all ears!

In this first release, I've worked on pinning down the user model and the permissions available to each type of user. There are four roles: administrator, owner, front pager, and member. Anyone who registers with the site automatically becomes a member, and is allowed to write blog posts and comments. The administrator is an all-powerful user who has access to all functionality on the site; generally, this is someone who really knows Drupal very well, and is capable of working with all of its features. The owner is the user whose job is to oversee operation of the site and who has power over all users and all content on the site, but might not be a Drupal expert. The owner can make other users front pagers, or can block or delete users at will; she may also promote or delete content at will. Front pagers are normal users in every way except one - their blog posts automatically appear on the front page. Blog posts which don't appear on the front page automatically will appear in a right hand sidebar called "Recent member posts".

In the near future I will work on making the user profiles a little bit more interesting. That will include a signature line, an about me section and a URL for the user's home page. I'm fairly comfortable with the technical work needed to accomplish that - for the Drupal developers in the room, I'll be using the Content Profile module, and I'll write some custom code to display comments in a separate tab on the user profile screen.

The other upcoming functional improvement is comment ratings. I am somewhat familiar with the Voting API, but would be curious to hear from others whether there are superior ways to implement comment ratings. If it's possible to implement recommended diaries at the same time, so much the better.

Syndicate content