Building Web Sites with Perl

Over on my other blog last night I wrote a piece about how building simple web sites has never been easier. I talked about how it's really simple to use something like Wordpress or Drupal to build a web site that will suit the needs of many organisations - charities, schools, organisations like that.

You'll have noticed that both Drupal and Wordpress are written in PHP. If I was going to include another item on the list, it would probably be Joomla - which is also written in PHP. The first Perl-based system on my list would be Movable Type (or perhaps Melody, the community-driven fork of MT).

I use MT to build blogs (this site is built with MT). I also used it to build my company web site. So why isn't in my top three suggestions? Well for two reasons. Firstly I don't think that it's quite as easy to use for non-technical people as the other systems on my list. And secondly, last year I tried to use MT to build something more complex than a single-blog site and it all went horribly wrong. With some help from e people at Six Apart those problems are getting sorted out and hopefully the project will be launched soon, but I'm currently wary of recommending MT to end users wanting to build sites.

Of course MT gets better all the time. The MT5 betas look really nice and I'm really hopeful that Melody will be a great end-user CMS. But currently I'd still recommend Drupal and/or Wordpress.

End users don't care at all what technologies their web sites are built in. As long as the site looks good and works well, why should it matter to them whether the site is written in PHP, Perl or anything else? But from the point of view of language advocacy, I'd like to be able to recommend something that's written in Perl.

So what can we do? Well, firstly, you can tell me if I'm missing anything. Is there some other Perl-based simple web site builder that has completely passed me by? What systems would you recommend (or use yourselves) if, for example, a local school asked for help building a simple site?

And if there isn't something that I've missed? Should a group of us sign up for the Melody project in order to ensure that it becomes a worthy alternative to Drupal? Is there some other project that we can co-opt to this purpose?

Or do we just not care? Is it ok that we're in danger of losing the low-end web CMS market to PHP systems?

14 Comments

  1. robin.smidsrod
    Posted September 30, 2009 at 2:42 PM | Permalink | Reply

    I've been trying to put down some ideas of mine about a publishing system written in Perl that is both flexible and user-friendly. Drupal's clear separation of concerns and easy installation method was something that I wanted to keep, but implemented in perl instead of PHP.

    More feedback is certainly wanted. Please contribute to the brainstorming over at http://github.com/robinsmidsrod/unnamed-perl-cms-project or join #perlcms on irc.perl.org if you have some thoughts to add.

  2. Posted September 30, 2009 at 3:50 PM | Permalink | Reply

    [full disclosure: I work for Six Apart, but I am speaking solely for myself.]

    Dave, did you look at any of the CMS-qua-CMS solutions that come to mind, like Bricolage or Krang, both of which are mature products? Or Spine, which I confess I don't know anything about?

  3. Dave Cross replied to comment from Snarkout
    Posted September 30, 2009 at 4:29 PM | Permalink | Reply

    I pretty much dismissed Bricolage based on demos that I saw of it many years ago. At that time it seemed far more complex to use than Drupal is now. It's possible that's changed in the intervening years. Perhaps I'm being unfair on it and should give it another look.

    I had heard of Krang, but seem to have forgotten about it. I hadn't heard of Spine. I'll take a look at them both.

    In your opinion, do any of these suggestions approach the ease of a) installation, b) configuration and c) use of products like Drupal and Wordpress?

  4. Posted September 30, 2009 at 4:46 PM | Permalink | Reply

    you should as well check webgui (http://www.webgui.org/).
    installation is not that simple, but the system is relatively easy to use for users and has many features.

  5. jnareb
    Posted September 30, 2009 at 5:44 PM | Permalink | Reply

    What about ikiwiki? Although it is not CMS, it can be used for wikis and blogs, etc.

  6. kiffin.gish
    Posted September 30, 2009 at 5:49 PM | Permalink | Reply

    My experience is that nothing beats Perl when it comes to building web-based applications. Have a look at Catalyst and you'll quickly understand what I'm talking about. However, Perl is definitely not for the light-hearted. Do you want the average Joe creating a high performing scalable web application using Drupal, Joomla or whatever? I do not think so, I'll stay with good old Perl, thank you.

  7. Posted September 30, 2009 at 6:07 PM | Permalink | Reply

    Kiffin, I don't think Dave wants to build a CMS.

    I don't have any experience with Krang, and I honestly don't know anything at all about Spine. Both Bricolage and Krang were designed to run periodical-type websites, IIRC (Bricolage for Salon.com, Krang for Motortrend), so they may not be as flexible for general CMS purposes as you want. (WebGUI might be a possibility there!) Like Movable Type, Bricolage builds static pages, which has its upsides and downsides.

    I haven't used Bricolage since evaluating it in 2006 for a project, so I can't speak to the current state of its UI.

  8. Posted September 30, 2009 at 6:09 PM | Permalink | Reply

    Shameless plug: I just recently released Miril. I wrote it specifically because I found Drupal too cumbersome for most of the tasks I needed, and Bricolage and Krang - too difficult to install. Here are some screenshots.

  9. Posted September 30, 2009 at 6:50 PM | Permalink | Reply

    Regarding Bricolage, you can keep on top of the project's activity -- and there is lots -- via the quarterly newsletters (that I write) here.

    However, a comparison of Bricolage to most of the above-mentioned content-management systems is a bit apples and oranges. Wordpress and Movabe Type (until recently) and Melody, are primarily used for blogs. Drupal, though used for a wide-variety of things, also has its roots in blogging and -- at times -- that shows though.

    Bricolage is best suited to building large sites that require a way for non-technical users to create complex documents. Movable Type, Wordpress, and Drupal have only (comparatively) recently added "custom fields" and "content types" to accommodate these requirements. Bricolage is definitely not well suited to be (primarily) a blog (though several sites do use it as such).

    And, typically, Bricolage requires far more experience to install. Though, there are VMware images for those folks that want to give it a try first. And, these days, the installation is possible in about 30 minutes on a Debian server just by following the instructions.

    If you'd like to see the (AJAX-ified) state of the current Bricolage UI, you can find a short screencast here.

    Hope that helps.

    Phillip.


  10. Posted October 1, 2009 at 12:46 AM | Permalink | Reply

    Is it ok that we're in danger of losing the low-end web CMS market to PHP systems?
    Dude we lost it years ago!
    I use Wordpress for small sites that run on shared hosting, and WebGUI for anything bigger.
    --patspam.com

  11. Dave Cross replied to comment from kiffin.gish
    Posted October 1, 2009 at 1:42 PM | Permalink | Reply

    Kiffin,

    I've already looked at Catalyst, thanks :-)

    I'm also well aware of the power of Perl and how well-suited it is for building web applications. My question was more about the applications that had already been built. I wanted to know why Drupal and Wordpress seemed to have the market sown up with no competition from a Perl-based system.

    From other comments it appears that suitable Perl-based applications may well exist. Which means that we're back to that old problem of marketing.

  12. ed.pratomo
    Posted October 1, 2009 at 3:21 PM | Permalink | Reply

    CMS for end users? oracle apex is at the top of my list. a bootstrapped CMS - apex itself is created on apex - bundled with oracle database products.

  13. lathos
    Posted October 2, 2009 at 7:57 AM | Permalink | Reply

    Yeah, what they said, we lost it years ago. For low-end CMS stuff, there's nothing that beats Drupal; certainly nothing that compares to it in Perl, in terms of flexibility and ease of use. I shifted my own site over to it a while back because I got tired of maintaining my own software.

  14. Posted October 8, 2009 at 10:37 PM | Permalink | Reply

    I've also been looking for an open-sourced CMS built with Perl, preferably on top of a modern MVC framework, that I could easily extend, but which would be already built and solid. It was easy to choose MojoMojo:

    • built on top of Catalyst, and easy to extend. Adding a formatter to transform {{cpan My::Module}} into a link to search.cpan.org/perldoc?My::Module takes only a few lines of code
    • it's a wiki with a powerful permissions system. This makes it serve as a CMS (no public editing), wiki (public editing, anonymous (w CAPTCHA) or with registration just like any other wiki), or blog (by adding a comment widget - see example)
    • live preview. The markup that you type (Textile or Markdown) is instantly rendered as it will be displayed to the end user. This simple feature has become so addictive that I write stuff in MojoMojo just so that I can see what it looks like, live.

    http://mojomojo.org

Post a Comment

*
*