Posts Tagged ‘web development’


CMS experiment midway results

I’m 50% complete with my CMS experiments, which is pretty good considering I actually started on them yesterday. I’ve finished with Drupal, WordPress and Mojolicious. I’ve been installing Catalyst for about 45 minutes now, which isn’t changing my opinion of Catalyst that much.

Here’s the resulting sample sites:

Drupal Test

I evidently was absent the day they talked about Drupal, because I found this CMS to have a lot more depth than I remembered. That, or version 6 is leaps ahead of 4.x and 5.x. I was able to take the Zen theme and customize it however I pleased, and used the standard Contact module for the contact page. I learned an important thing in customizing a Drupal theme – set the administration theme to something different in case you fubar you layout somehow. Other than that, it took only a few hours to get the site up, custom theme created, content posted and even a custom View created for the front page Announcements & other blog postings. I did that by first creating some Taxonomies for Stories and Pages and then creating a View that displayed only Stories that were marked as Announcements (with a limit of only 3 of them). Then I added that Block to the content-top area on the front page. For the custom theme, I altered several of the templates (page.tpl.php, node.tpl.php, etc) and even used the hook_theme() functionality to theme the Contact form template, with the help of this tutorial.

WordPress Test

Since I already had the templates for this blog, it didn’t take very long at all to clone the setup with another database as all I had to do was change some directory paths. I altered the page.php to match the rest of the theme and to provide for a special case for the ‘home’ page. It displays that page’s content directly, instead of inserting it into the post layout used for the other pages, but still uses the same header, footer and sidebar. I then used the Exec-PHP plugin to pull out the 3 most recent Announcements and non-Announcements, just like on the current index page. I used the Contact Form 7 plugin for the contact page, but didn’t really bother styling it.

Mojolicious Test

This is a Perl framework and not a CMS, and it lives up to it’s billing that it’s lightweight, easy to use and has no onerous requirements, unlike Catalyst. I converted the index, blog & contact pages into Template Toolkit files (I could have used HTML::Mason or EmbPerl but I have more experience with TT). I was able to set up this simple example in about 30 minutes with a little extra server wrangling for TT on this server as opposed to my dev one. Since Mojolicious is not a CMS, it’s not that useful for managing a blog without writing said software myself, but it’s a very strong candidate for Perl work in the future. I also like Mojo because it reminds me of Mojo Jojo, and honestly, how can you go wrong with an evil mad scientist monkey?

Next steps

Next time, the results of playing around with Django, TurboGears and Catalyst. Hey, look! Catalyst finally finished installing all of its requirements!

CMS experiments

And now, since the blog is done, I need something to manage the rest of the site: a proper content management system or framework. Currently, there’s only two static pages, the index page and the contact form, and two static pages is about the limit before a reasonable person should look into a CMS, even if he is using server side includes to be current with the latest 1995 technology.

The question is, what to use and how much? Many of the CMS’s out there would be overkill, and some of the frameworks would require too much work for just some simple pages and would be better suited for a web application. Based on previous projects or experiments, I am thinking of testing the following:

I think this is a nice selection – two each from PHP, Python and Perl and some more straight CMS and some more a framework. I’ve evaluated Django, Drupal and Mojo before, currently use WordPress and have used Catalyst at my job. I admit that is a strike against Catalyst because of how that project ended up, but that was more a problem with integration with the existing codebase than anything else.

The criteria is simple – how hard is it to make two simple pages, the index and a contact form, with an include of the blog posts on the index page? Bonus points if the contact form can be handled by the same framework instead of a separate CGI.

Any suggestions for one that I’ve missed?