At the Forge - COREBlog
Over the past year or so, this column has looked at a number of open-source products that can serve as a content management system (CMS) for a Web site. If you publish a newspaper, magazine or Web site with content that changes on a regular basis, such a CMS undoubtedly could be a boon to your site. After all, why should you modify the links, headlines and other items by hand, if software can take care of those tasks for you?
A traditional CMS is a big, complex piece of software, because it needs to take into account the many different types of organizations of Web sites. Should anyone on your staff be able to create new articles or only reporters? Which editors should be allowed to post items to the Web? What sorts of headers and footers do you need? What sort of search mechanism do you need? The answers are almost endless, which explains why CMS software can be complex to install and administer.
If you want to publish articles on a regular basis but don't want the administrative overhead associated with a full-fledged CMS, you might want to consider a Weblog. Weblogs, also known by the shortened name blogs, began in the mid-1990s as personal journals, on-line diaries that allow an individual to write and post articles quickly and easily. And although blogs vary considerably in style, their format tends to be fairly uniform, which reduces the complexity of the software, making it easier to configure and administer.
This month, we take an initial look at open-source Weblog software, as well as the standards that have become increasingly prevalent in the blogging community. Along the way, we look at COREBlog, a Zope-based tool that makes it fairly easy to create and administer a Weblog.
To be honest, I have some personal interest in finding a good blogging package. Having read a number of Weblogs over the last few years, I've decided it's time to try blogging for myself. The results of my search should be available by the time you read this at blog.lerner.co.il (Figure 1).
Weblogs come in all shapes and sizes, reflecting their authors' interests and styles. That said, a number of characteristics are common to most Weblogs:
Order: postings are displayed in reverse-chronological order, with the most recent article displayed at the top of the page. The Weblog's home page typically shows only the last few days of postings, with the rest available through an archive feature.
Comments: readers of the Weblog are invited to submit comments, often posted immediately following the article in question. In this way, Weblogs are similar to Web-based forums, except only the blogger is allowed to begin a discussion topic.
One author: typically, only one person participates in a Weblog. Some Weblogs are written by multiple authors, but this is relatively rare. A Weblog's comments, as described above, are written by people other than the main author.
Syndication: the contents of a Weblog generally are made available using an XML format known as RSS, which stands for really simple syndication. This makes it possible to retrieve, analyze and collect a number of different Weblogs, creating something akin to a personal newspaper.
Trackback: introduced by the proprietary package Movable Type, trackbacks make it possible for Weblogs to keep track of links pointing to one another.
The above list is not comprehensive. Plenty of Weblogs lack comments, syndication or trackback. But just as English-language newspapers evolved to have a common set of style rules for headlines, captions and story ranking, so too have Weblogs evolved to have a common set of expectations. And the competition for features is rather fierce: when one Weblog package adds a useful new feature, others usually implement it within a short period of time.
The above features would be easy and straightforward for an experienced Web/database programmer to implement in a high-level language, such as Perl or Python. If you use a relational database, say PostgreSQL, to store the articles, you no longer have to worry about ordering or file storage, so you can concentrate on output. And indeed, some prominent bloggers, such as Tim Bray, author of the excellent Ongoing Weblog at www.tbray.org/ongoing, have created their own Weblog software.
As much as I enjoy writing new programs, I dislike reinventing the wheel. And given the plethora of good, existing solutions for creating a Weblog, including several that allow me to write plugins that extend their functionality, I decided to use something that already exists, extending and modifying it as necessary using an established API.
Moreover, some of the nicer Weblog features, such as comments and trackback, can be tricky to implement. They aren't necessarily hard to work with, per se, but given that it seems 100,000 different mechanisms for commenting on Weblog postings already are out there, I would like to avoid creating number 100,001.
I should note that if you are interested in creating your own Weblog, there is an alternative that allows you to avoid writing or configuring any software at all—namely, using one of the many free Weblog hosting sites on the Internet. These might be a perfectly adequate solution for most people, but I still would like to have some control over the software that I use. Moreover, I would like to integrate my Weblog into the rest of my site and domain, meaning that I need to install it on my own system.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...