Courant News was finally open sourced this past weekend while I was attending BCNI Philly. That included the code, documentation, and the opening of the project wiki and mailing list. While we’ve had a healthy number of people look at the site according to our analytics and logs, we’ve not really had any contributions from outside the original team yet. Granted, it’s only been four days, but I thought I’d help streamline the process of finding a way to contribute.
“Created documentation for ‘get’ template tag.” Such a simple commit message, almost innocuous. But to get there, it took a full day of work writing, plus weeks and months creating the code to write about. The ‘get’ template tag is one of the more important components of Courant News, and is something relatively unique (to our knowledge). It allows template authors to fetch their content from templates without having to write any code (Python or otherwise), maintaining the logic-design boundary in Django templates.
As we will be opening doors to the Courant News code this week, I thought I would take a moment to address expectations that people might or might not have regarding the project.
I’ve been working all day on making the installation script for Courant, and am now writing the documentation files. So I thought I’d take a few minutes to summarize the process in anticipation of release in the coming week.
Today’s post is about the optional use of issues in Courant News. I was originally going to write about articles, but the Flyers game went long and I’m running out of time in the day to do due justice to that topic. That will hopefully be tomorrow’s post, but now on to issues.
Unfortunately there won’t be a Courant-related post today, as I’m in the process of reformatting and reinstalling everything on my laptop. Nothing terrible has happened, I just needed a clean development environment and decided it was worth a full wipe instead of trying to manually cleap up Window’s registry and paths. This laptop doesn’t have a DVD drive, so I’m going to try an install from a USB drive, or else seek an external drive tomorrow. I’m going to install a new-ish (post-beta) build of Windows 7, which appears to be stable and has improved tablet functionality, which is a win for me (Thinkpad X61 tablet). I’ll make up for the off day with a post tomorrow on Articles in Courant News.
Today’s brief post will cover Courant’s maintenance mode. This mode allows authorized staff to view and perform work on the site while the rest of the world sees a simple message informing them that the site is currently unavailable. There are a number of uses for such a feature, which I will describe briefly.
One of the big problems with a certain popular online publishing platform for college news is that the service takes a major cut of the site’s ad revenue in return for covering the hosting and infrastructure costs. Therefore, a major appeal of moving off said platform and running your own site is that you get full control of your advertising. Today’s post is about how we handle ads in Courant News.
As I’ve discussed before, one of the core design tenets of Courant News was the ability for news orgs to customize and add on to our core platform without having to modify the code of the platform itself. While it is possible to create a cohesive platform, it is more difficult to allow outside code to hook into it without actually modifying the platform itself.
One common way, adopted by the Django built-in admin app, as well as a number of common Django reusable apps like django-tagging and django-mptt, is that of a registry system. I’ve been joking with one of my Courant cohorts, Robert Baskin (@rsbaskin), on twitter about registries, and I thought it was time to let everyone else in on the discussion.