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:
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.
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.
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!
Tags: cms, experiment, web development