Notes on a Django Migration

Powered by Django. Earlier this year, I inherited responsibility for the website of the Knight Digital Media Center at UC Berkeley’s Graduate School of Journalism. The site is built with Django, a web application framework written in Python. The J-School has primarily been a PHP shop, using a mixture of open-source apps — lots of WordPress, Smarty templates and piles of home-brew code. Because it’s grown organically over time with no clear underlying architecture and a constantly changing array of publications to support, the organization sits on top of dozens of unrelated databases.

These are my notes and observations on how the J-School got into this mess, why we’ve fallen in love with Django, and how we plan to dig ourselves out.

Continue reading “Notes on a Django Migration”

CMS – Build vs. Buy

A few months ago, I posted about the newsinitiative site I had spent most of the summer working on*, and mentioned that we had decided to build our own content management system for it from scratch. Promised to say more about the CMS “build vs. buy**” decision process we went through, but never got around to it. After installing Search Meter for WordPress a month ago, discovered that people have actually been searching this site for more info on that decision.

CMSs are a funny category of software. When you go to choose a word processor, you’ve got three or four serious options to consider (but it generally comes down to Word). Image editor? Maybe a dozen (but it generally comes down to Photoshop). There are usually more options for server-side web application software. Survey package? Maybe a dozen. Blogging platform? Again, maybe a dozen (but it generally comes down to Movable Type and WordPress). But the game changes immensely when you start looking at content management systems.

Continue reading “CMS – Build vs. Buy”