I've been putting together the structure of this business and the content for the site for a couple of years; prodding and gathering the pieces, gluing here and shaving there. I had it all sorted a couple of months ago, but Joomla! 1.6 and Drupal 7 were both imminent. So I figured I should hold off for a few weeks, bite the bullet and take a bold leap forward into the unknown.

Drupal 7 and Joomla! 1.6 were released within days of each other. Both are very worthy and impressive applications, delivering major improvements in their new releases. Either one would have easily done the job, but like any other business I have my objectives and needs, so I did what I do for my clients and I thought it through from all relevant angles: functional, commercial, professional and technical. In the end I opted for Joomla! 1.6 (the decision came down to my own business priorities) and knuckled down to business.

It took 10 days to build the site. This included the learning curve, themes and styling (seemingly endless as usual), category and menu structures, all content and graphics, a few extensions, basic SEO and directory listings. Not so bad for a 28-page site (although it is a simple site at this stage).

So what did I find out?

First, about Joomla! 1.6 itself:

  • Joomla! 1.6 is generally stable, reliable, consistent and predictable. I encountered only one mysterious glitch that affected the layout of the home page, but I was able to fix it with a couple of layout options.
  • Joomla! 1.6 is more feature-rich and the new features are useful and make sense. It took a little head space to get familiar with the new features and options, but that was to be expected.
  • The back end (administration and site building) features were sometimes not in familiar places, but that was also to be expected, and I found the changes were generally improvements.The back end is smooth and clean. It's more consistent, easier to navigate and more intuitive.
  • I built most of the site on-line on my server, and I found the system was responsive and performance was consistently good.
  • No code modifications were required, although I did spend some time poking around the new framework and checking out open issues and patches. Again, I found general improvements.

However, the state of Joomla! 1.6 extensions is a different story:

  • At the time of writing,there are 6631 extensions for Joomla! 1.5 or later, and only 552 Joomla! 1.6 extensions. So roughly 8.3% of current Joomla! extensions are available for the new version. By contrast, there are 5276 modules (different terminology for the same thing) for Drupal 6.x or later, and 1081 Drupal 7.x modules. So roughly 20.4% of current Drupal modules are available for the new version. The Drupal community has done a better job in this area, and deservedly so. The Drupal community encourages module developers to pledge that their modules will be upgraded and available for a new version of Drupal on the same day as a new version of the core system is released. This clearly works in favour of the Drupal community and Drupal users.
  • I believe that this also has something to do with the character of the two communities. The Drupal community has a slight tendency to concentrate authority in Dries Buytaert, while the Joomla! community is somewhat more diffuse and has no undisputed authority. In that sense, the Drupal community is more focused and coherent than the Joomla! community. But seen through the other end of the telescope, this difference is both a strength and a weakness of the two communities. And in any case, both communities are capable of powerful commitment to produce outstanding results within very similar time frames.
  • I would also add that 552 upgraded extensions available for the new version of Joomla! less than a month after release is not to be sneezed at. Most smaller CMSs don't have that many extensions in their total inventory.
  • The implications for my site are that there were limited extensions available that would work without problems in Joomla! 1.6. I consciously tried to rely on native CMS features wherever possible, but I did need some extended features, a little bling, and (as discussed below) the standard features didn't work 100% with my template. So I used a minimum set of extensions, and had mixed experiences with them. Without naming names (that wouldn't be fair at this early stage), two extensions worked perfectly, one worked in one context but it wasn't fully supported and the output wouldn't style properly in another context , and several just weren't good enough and gave the impression of having been rushed to market.
  • However, there was enough support to satisfy my must-have needs, and I can comfortably wait for the remaining extensions to come up to scratch.

Finally, it's also early days for Joomla! 1.6 templates:

  • There are considerable differences in Joomla! 1.6 templates and styles. Again, the changes are generally worthwhile improvements, but there is a fair bit of discontinuity.
  • Although template providers have hastened to offer or upgrade their inventories with Joomla! 1.6 templates, they are still relatively thin on the ground.
  • I  wanted a unique theme, so I built two or three with the latest version of Artisteer (build 3.0.0.35414). This is a beta version, but I wanted the most advanced Joomla! 1.6 support I could get, so again I was willing to take a punt. At this stage, there are a few shortcomings: specifically, the Artisteer templates do not include all the CSS tags that may be used by Joomla! 1.6, depending on the site features and options you select. However, the Artisteer forums came to my rescue, and with a little help from the support crew and a little elbow grease of my own, I was able to package some missing CSS in the Artisteer template, so that theme changes (even major redesigns) can now be implemented in seconds without reapplying any code modifications on the site.
  • So I'm counting this as a success, although at this early stage there are some limitations I've learned to watch out for. In general, I've learned to check the CSS classes output by extensions or new core system features against the classes in my template, before I commit to deployment. If there are significant gaps then I will add the missing classes to the Artisteer template, install it and test the new feature deployment thoroughly.

All things considered, I'm glad I took the plunge. It was a generally good implementation and learning experience with a substantially new tool, and I'm looking forward to sitting back for the next few months while the extensions and theme tools mature and catch up with me. It will only get better from here on.