What is it?
Blammo is a CGI news updating system, written to supersede CGINews (See below). Originally designed as a freeware news script to assist site owners, and written to be as versatile as possible, but the response from Blue’s News was so encouraging that it gradually became more and more specific to the site’s needs, and the exclusive rights were purchased by Blue’s News in February 1999.
Version 1 proved to be extremely bloated and badly optimised in both its SQL queries and code, and as the Blue’s News database grew, the optimisation became more and more of a problem. In September 2001 it was decided to rewrite the script from the ground up. The rewrite took a few days to develop and test, and it provided a much needed speed gain, with less SQL queries used and the tables re-optimised and indexed, not to mention a rediculous decrease in code size due to the replacement of the existing administration routines with a separate global administration script handling all tables on Blue’s News, utilising DBIx::GlueHTML (see below). Further functionality was added in this rewrite, the full feature list is as follows:
- All page HTML fully customisable, all pages support standard SSI includes
- Main page automatically displays current news.
- News archive supports browsing by date and various full text searching options
- Headlines of the day available in RSS format
- Special events can be assigned to individual days, repeating days, or entire months, for example Christmas Day etc
- Each news article integrates with Chatbear derived message boards for comments
- Support present for adjustment of displayed times to user timezones (Awaiting development of user interface for timezone selection)
- Support present for categorisation of news and user filtering of news by category (Awaiting development of user interface for category selection)
- Web based administration supports batch and individual posting, editing and deletion of postings in addition to full configuration of HTML formats and all other settings
- Automatically maintains a static HTML dump of the front page to lower the load on the server via a cron job, this process maintains itself, if it appears to have frozen for longer than 5 minutes it is killed and restarted, ensuring news updates always make it to the static page
The whole system runs under mod_perl and makes use of the memory caching afforded by mod_perl to optimise speed, for example in a child process the HTML layout is loaded from the database only once and then is cached in memory.
Current Version: 2
Launch Date: 14th February 1999
Lines of code (Version 1): 9,500
Lines of code (Version 2): 2,000
Project Language: Perl, MySQL backend
Project URL: www.bluesnews.com/cgi-bin/blammo.pl
Start Date: November 1998