Reinventing the wheel

Reinventing the wheel


Most IT people seem to have a really bad habit: reinventing the wheel. While sometimes this is “justified” by ethical requirements (see the big Gnome vs. KDE mess), often the problem is caused by ignorance.

In this case, I don’t mean to use the word “ignorance” as a derogatory term, but simply as meaning “a lack of knowledge”. For example, I could easily believe that there are still one or two people out there who, in order to open a JPG file, will write their own routines, simply because they are not aware of the existence of libjpeg. I am also quite sure that there are one or two people out there who, in order to print 1000 envelopes, will do everything with a text file or a word processor (OpenOffice, Abiword, etc.) rather than using a specialised label printing program.

Finally, I am absolutely, 100% sure that there is at least one person out there who will develop a content management system (CMS) in house to be used in a magazine. Okay, it’s time to show my cards: that person is me.

I am talking about our own web site. I am the person responsible for creating the technological structure behind it. In my case, I reinvented the wheel mainly because of server requirements: we could only serve static pages, in order to cut down the hosting costs. This ruled out the use of Drupal, for example (or any other content management system, for that matter). I created a complex back-end which allowed our editors to do a peer-review on each article, and eventually publish it (as a static file). Later on, it became clear that this was no longer working out. Static files were fine in the beginning; however, as the web site grew (and we added blogs, newsletters, book reviews, and so on), its limitations became impossible to overcome.

I am writing this editorial while taking a break from configuring (and in fact programming) Drupal so that it duplicates our current CMS abilities. Our requirements are quite intense (see: the peer-review system for each article, with word-for-word comparison between revisions, blogs, display of issues, multiple authors, etc.). However, it’s more than doable—in fact, if you are reading this editorial on line, then you’re looking at the new system.

This editorial has three purposes. The first one, is my reminder to everybody out there who’s thinking about reinventing some kind of wheel: don’t. And I mean: don’t. Consider how much each constraint will cost you in terms of time, and then decide if it was worth it. The second purpose, is to announce that our web site has indeed changed; we have taken the opportunity to improve the web site’s layout and features and we’ll make more improvements over time. Hopefully, you won’t find the transition as painful as we did.

Lastly, I would like to thank the Drupal community. They have created a terrific content management system, and they deserve a medal for their hard work.

Thank you Drupal!

Category: 
License: 

Comments

ccady's picture
Submitted by ccady on

If you're writing something big, or something complex, you more than likely want to use pre-written, pre-tested code. But, there is the occasional task where everything you might use is just too big, hairy and complex, and you just need a simple solution.

For example, our company needed a very simple task recording and issue tracking web application, and we needed the results to be kept in a (hiss) SQL Server database. Now, there definitely are applications out there which could do this, but what we wanted was so basic in comparison to the applications we found that it was worth our time to create the application ourselves. And we did. And it works like a champ.

If what you want is a very simple wheel, and all you can find are complex ones, I suggest you consider reinventing it.

Tony Mobily's picture

Hi,

Maybe you're right. Maybe some wheels do need to be reinvented.
However, I can guarantee that this particular one didn't :-D

The site runs on Drupal now, and it's absolutely fantastic.

Bye!

Merc.

Tom Chance's picture
Submitted by Tom Chance on

Ahoy,

It would be great if you could put together a page listing your customisations to Drupal, especially where you've introduced new modules. I'm sure lots of people would be interested in your system for peer review with good support for revisions, and also just a guide for those who are relatively new to Drupal.

Disclaimer: I'm setting up a journal for the student grassroots network People & Planet at the moment with Drupal, so I have a special interest in what you've done ;)

Tony Mobily's picture

Hi,

We are working on it!
We need to test the module a LOT more first - it's just too immature right now.

Please write to me in about a month!

Merc.

mixmac's picture
Submitted by mixmac on

hi tony

you made the choice of drupal, which i do not know/use more than this.

My choice for years has been spip, a CMS meant to publish "editorial" websites, including a powerful backoffice (three kind of reg users : admin, writers, visitors), versioning management of articles, peer-reviewing mechanisms, websites syndication, etc.

spip started about 8 or 9 years ago in france. it became a huge multilingual community since (you can pay a visit to spip-contrib, the spip webmasters support site to get the picture).

btw, spip is released under the gpl.

]m[

paulbaranowski's picture

Another CMS written specifically for magazines and newspapers is Campsite (http://www.campware.org). It understands what "issues" are, workflow, fine-grained access control for the backend, subscription management, RSS, and multi-lingual content. It's also released under the GPL and has a team of full-time developers working on it. (Disclaimer: I'm one of those developers :) ) It's in use by many real-world publishers around the world and a lot of work has gone into making it easy to use (e.g. for the journalist who just got his first computer yesterday).

If you want to give it look (the backend admin interface), check it out here:
http://campsite-demo.campware.org/admin/

Different CMS's have different strengths: some are for community portals, some are for blogs, some are for posting photos. Campsite is for publishing magazines and newspapers. Give it a look and let us know what you think!

Author information

Tony Mobily's picture

Biography

Tony is the founder and the Editor In Chief of Free Software Magazine