New Internationalist

Ten things to love (or hate) about Bricolage

Behinds the scenes at and is a tireless workhorse — a system that just keeps giving and giving — and that system is Bricolage. Bricolage is the open-source enterprise-class content management system (CMS) that greatly simplifies the complex tasks of creating, managing, and publishing New Internationalist’s archive of content and media assets. 

As we embark on the redesign and redevelopment of New Internationalist online, after four years on our current platform, we will be retiring some systems and adding new ones — and, for another few years at least, Bricolage will continue to serve New Internationalist’s content management and online publishing needs. 

In the spirit of Cal Henderson’s “Why I hate Django,” James Walkah’s “Why I hate Drupal,” and Vince Veselosky’s “10 Things I Love/Hate About Movable Type,” and after so many years working with Bricolage, I thought it was only fair to write up some of the reasons I keep advocating for Bricolage, and some of the reasons I sigh in frustration from time to time. 

  1. Love: Bricolage is written in Perl. And not just any Perl, Bricolage is written in eye-pleasing — some might say object-oriented — Perl (or as close as one could reasonably get in 2001). Just a quick look at the application’s source reveals a thoroughly and thoughtfully considered approach to building a large application, which uses the best object-oriented practices of the day and provides copious tests and ample documentation to get you up-and-running.
    Hate: Bricolage is written in Perl. On the other hand, it drives me nuts that people roll their eyes when I mention that Bricolage is written in Perl, which many folks seem to think is a dead (or dead-end) language. On the contrary, as described in “The Perl Future” I like to believe that Perl is about to enter its renaissance. 

  2. Love: An entirely “back-end” system. Unlike other open-source content management systems (which is why I tend to refer to Bricolage as a “publishing system”), Bricolage does not serve content to the end user or web site visitor. Instead, it focuses on managing the workflow behind the publishing process and, when instructed, delivers content to a front-end system of your choice. It’s not particular about what it delivers to the front-end — HTML, XML, JSON, whatever-your-heart-desires pretty much — but once those assets are handed off, Bricolage’s job is done. 
    Hate: An entirely “back-end” system. Specifically, I hate that the concept of “an entirely back-end system” is so hard for people to understand. It was relatively common in the days of big, proprietary, CMSs like Interwoven, but in today’s environment of lightweight “community-focused” CMSs, not so much. For me, Bricolage exemplifies the ethos of “Small Pieces Loosely Joined,” but — for many — this presents too many questions about how to achieve common, front-end, web site functionality like search, user registration, user generated content, and so on. The Bricolage community needs to do a better job of explaining the relative advantages of the keeping the CMS and the front-end web server separated. It would also be helpful to present developers with some “out-of-the-box” options to meet the expectations that people have for a “complete” web site experience. 

  3. Love: Small, dedicated, community. Like most of the Perl community at large, the Bricolage community is intensely knowledgeable and imminently helpful. The signal-to-noise ratio on the malling lists is incredibly high, and very, very, few questions go unanswered or undocumented.
    Hate: Small, dedicated, community. Following on the “Perl is dead” thing, many outside the community perceive Bricolage as having a relatively small number of users and developers and take that as a sign of waning interest in the system, and possibly limited options for professional development and support. I once heard the publisher of a daily online news site that uses Bricolage refer to it as the “Bugati” of content management systems. 

  4. Love: The release cycle. Bricolage doesn’t take an aggressively forward-looking development philosophy that can leave users facing frequent upgrades that lack backward compatibility, making the upgrade process potentially challenging. Instead, Bricolage releases new major versions relatively infrequently and includes all the tools needed to make the process fairly painless. 
    Hate: The release cycle. That said — historically — the development of Bricolage could almost be described as "glacial." And, while bug-fix releases are common, major releases that introduce new functionality have been quite rare. (That said, there has been a renewed level of development recently. The migration of the source code to GitHub seems to be leading to more visibly around the development of the product.) 

  5. Love: The new Bricolage repository on GitHub. A few months ago, thanks to the Herculean efforts of David Wheeler, the Bricolage source code repository was migrated from Subversion to Git, and — more importantly — to GitHub. Now, with source code that is easily forked, and helpful Wiki pages to guide those new to Git, the barrier to getting new developers involved is reduced. 
    Hate: The web site. Unfortunately, the Bricolage web site did not receive the same upgrade. Though the domain name changed from the rather esoteric to the slightly more obvious, the actual web site is in need of either a serious update or a major simplification to help avoid the need for ongoing maintenance. Somewhat outdated, and a less-than-great presentation of Bricolage’s relative strengths in the current online content management and publishing environment, it’s sorely in need of a refresh, rethink, and its own renaissance.

That’s where I’ll leave it for today. As you can see, that’s only five things to love (or hate) about Bricolage. Rest assured I’ll have (at least) another five ready to post in the coming days. 

And, as part of the Bricolage community, I should state that these gripes are mostly a big, fat, “note to self” on where I need to focus some of my energy in the coming weeks, months, and years. 

Got a beef or big-up for Bricolage? The comments are open. 

Comments on Ten things to love (or hate) about Bricolage

Leave your comment


  • Maximum characters allowed: 5000
  • Simple HTML allowed: bold, italic, and links

Registration is quick and easy. Plus you won’t have to re-type the blurry words to comment!
Register | Login

  1. #1 BricUser since 2004 07 Jul 09

    My #1 love-hate

    Love: Writing anything feels like filling in a form

    Interface looks like filling in a form, a dynamic form where you can add new items into the form.

    I like this because because

    (1) it separate contents from presentation.
    All those ’WYSIWYG’ style editing means users are too focused on presentation

    (2) Really easy to maintain consistency of display.
    This is a follow on from (1). User enters data, system decides on how to display it.

    (3) Story never, ever miss important information
    With different forms for different story types, no way you are going to forget to put in important information. The form reminds you the information you need to put in.

    Hate: Writing anything feels like filling in a form, or ’What? Not WYSIWYG?’

    Form-based? That was so yesterday. I still remember the ’wow’ I got when I demonstrate the ’form’ interface. If I did it today, my audience will yawn and say it was so yesterday...

    But is it? Compared my site with another site that has an ’WYSIWYG’/wiki-like interface, a lot of their entries are missing several important information and inconsistent in presenting the same piece of information across different story. Mine? Never.

    ... and when it comes to enter the story into the CMS? With the same raw material, I finish the job in half the time.

  2. #2 zzbbyy 09 Jul 09

    And doesn't it bother you that you have to work with 2001 OO Perl concepts? Don't you sometimes wish that it is rewritten in Moose? I have to admit that things like that do repel myself: [a href=’’]Code reuse styles.

  3. #3 phillip_at_newint 13 Jul 09

    OO Perl from 2001

    Well, to be honest, I'm just happy that an application that is so critical to New Internationalist's operation was designed with OO approaches at all.

    Sure, I would be great if every production-ready, stable, and well-tested application could be written in the latest-and-greatest style (or -- for that matter -- the language de jour), but that isn't really feasible.

    Thankfully, things change over time, and now -- as we slowly add new systems to the New Internationalist information space -- there will more ’bits’ that take advantage of improvements like Moose. And, eventually, those bits may overtake the ’bobs,’ and life will be that much better.


Subscribe to Comments for this articleArticle Comment Feed RSS 2.0

Guidelines: Please be respectful of others when posting your reply.

Get our free fortnightly eNews


Videos from visionOntv’s globalviews channel.

Related articles

Popular tags

All tags

The Tech Blog

This is where New Internationalist Web Team documents the free and open software used to build this website and its services, discusses emerging issues in the technology space, and provide critical analysis, news and commentary on all things IT and web.

The Tech Blog