Posts Tagged ‘drupal’

concrete5 – first impressions

I downloaded the concrete5 CMS a couple of weeks ago and intended to write a critique earlier, but am only now getting around to doing so. Since then, this article was released on CMS Wire and Joomla! fans on Twitter began talking.

What’s good

One common pitfall of CMSes is to abstract away the concept of a page. concrete5 avoids this and very much embraces pages. A+ in my book. While it’s true that some layer of abstraction can be helpful in certain cases (usually when you’re building an application inside of your CMS), it adds extra work for most webmasters.

Editing pages is also very straightforward. Once you’re in edit mode, all of the blocks (similar to Joomla! modules) appear with dotted borders. Clicking on one gives you several options for editing the block, including dragging and dropping the block to a new position. Very nicely done.

The features built around content5 are thoughtful. Versioning is built in and outputs diff-style coloring when comparing revisions. There are also extensions to help you embed videos, Google Maps, slide shows, and RSS feeds.

About 70% of the functionality you’ll need on a regular basis is contained in the toolbar that appears as you’re editing individual pages. For the rest, there’s a specific “dashboard” backend where you can go to manage themes and files, get reports, and perform other administrative tasks.

Theming is okay

The theming system is reasonable. Like Joomla!, you can add specific themes to specific pages. Closer to Drupal, your theme can define several different page types, which might eliminate the need for separate themes. However, concrete5 requires theme designers to instantiate objects within their markup, then call member functions of those objects to display output. This bothers me. It seems like static function calls or embedded tokens would handle this more elegantly.

Also, the greensalad example theme uses the “header.php at the top, footer.php at the bottom” style of breaking up the markup—I loathe this. There’s no reason to use this error-prone method for theming: you end up with tags that are opened in one file and closed in another.

What’s annoying

While the simplicity of editing individual pages is definitely something I prefer, concrete5 has sacrificed some features to get there. I was not able to find any kind of feature to create a blog-style index of content made up of blurbs from other pages. Add-ons are scarce: if you’re looking for a forum or shopping cart, you might be in for a wait until they attract more developers to the platform.

I ran into a few speed bumps when installing concrete5 locally. After downloading it and going to the installation screen, there was a checklist of PHP configuration settings necessary to run concrete5 (not unlike Joomla!’s). Most of them were good to go after tweaking folder permissions, but I did not have the GD library setup on my self-compiled version of PHP. I was a little surprised that the system would not let me continue installation. While I’m sure there are features in concrete5 that use server-side image processing, this doesn’t strike me as something so vital as to halt installation. (I was able to successfully install both GD and concrete5 on my spare Ubuntu machine.)

Although the GD dependency was annoying, the halted installation uncovers something even more so. If the installer detects even the slightest issue with your configuration, an advertisement for professional installation is displayed. Quite tacky; they could have at least provided a link to their installation forum.

Which brings us to community. This company oozes a know-it-all attitude. In sharp contrast to the websites of other CMSes, their official About page openly bashes Joomla!, Drupal, and WordPress; painting all three in rather broad strokes. This is very disappointing, unnecessary, and ultimately counter-productive. I’m all for making bold statements, but they’re driving away the very people who could help their platform grow quickly.

Final word

concrete5 is a very promising CMS that does the basics very well. The interface is picked up quickly and things are easy to find. However, if they’re earnest about building a community around their code, they might want to tone down the self-worship a smidge. And is content management really a human right?

Joomla! vs. Drupal vs. WordPress now has videos available on the most popular open-source programs for publishing content. There’s the one on Joomla! I recorded, one on WordPress by Maria Langer, and now one on Drupal by Tom Geller. So which one is right for your next site? Sign up for an Online Training Library account today and find out!

For $25, you get a month-long subscription where you can watch all of our videos in their entirety and as many times as you wish. You will also have access to the rest of the video library which covers topics like Flash, HTML, Photoshop, CS3, and Search Engine Optimization. Use to learn everything you need to know for launching your next site!

UPDATE: As Maria pointed out in the comments, you can watch the first few videos of each title for free. This will give you a general feel for each system.

Ready for a change

After spending some time working with Drupal yesterday, I had a string of epiphanies. I now understand the power and simplicity of the platform; I will soon be dropping my Joomla! work. There are several reasons for the change:

  • I’ve made too many excuses for Joomla!’s two-step categorization system. Nodes and taxonomies are more flexible (and have a nice ring to them).
  • Joomla! has too many extension types and too many 3PD extensions are needed to run a real site. Most of the functionality I need should be in the core to begin with.
  • I spend considerable time moderating my forum, so the next logical step is to go with an integrated comment system on all of my content. Drupal is far superior in this regard.

Finally, many of you are aware of my current license plate. Fortunately, the DMV also has my new favorite CMS available as well. It’s ordered and on the way:


Drupal vs. Joomla!: because some of you just want to hear it

Recently, I’ve been thinking about the differences between Joomla! and Drupal, as people seem to ask me about this all too frequently. The best analogy I can come up with is this: Drupal is like a model airplane, while Joomla! is like a model train set. Both accomplish the same task: keeping an 8 to 80 year old entertained for several hours by modeling a mode of transportation. However, both accomplish this task in different ways.

When you open the box for a model airplane, you’ll find a lot of little pieces. The fun of putting together a model airplane comes through learning how they all fit together. You see all of the details of the fuselage; the representation is usually highly accurate.

When you start a model railroad, you’ll get a toy train engine with a few cars and some tracks. The engine and cars come preassembled, but you still get to lay out the tracks and experiment with different configurations. Assuming you have things wired correctly and the engine is on the track, your model train will start moving as soon as you flip the switch.

It would be highly contentious (if not flat out false) to claim that one of these toys is inherently better than the other. They are simply different models of real life vehicles. You will learn different things through each, but still end up with scaled models in the end.

I like my “model train” CMS. I’ve tried the “airplane” CMS and simply don’t like it as much. Each time Drupal makes a new release, I download it to see what’s new. I’m particularly pleased with the installation process: it’s much smoother than what it was a few years ago. If you like Drupal and it serves your needs, don’t let me stop you from using it: it’s good software. But I’m sticking with Joomla! because I prefer its approach over Drupal’s.

January-February 2008 meetings

Tech events in DC for 2008 are getting off to a fast start. First, there’s Widget DevCamp DC on January 25th (Friday evening) and 26th (all day Saturday). BarCamp DC was a great time last Fall where lots of web/programming techniques were shared. Widget DevCamp hints that there may be some actual coding going on! (of course, this depends on who shows up and what ideas are kicked around).

The regular DC PHP Developer’s group is scheduled to meet on February 13th. This will blow away all other tech events for the year, because we will be having a face-to-face text editor war! I’m so psyched! Go Textmate!

Finally, Web Content Mavens will be having an Open Source Content Management System discussion on February 27th. I’ll be representing Joomla!, Keith Casey will talk about Drupal, and other people will talk about Alfresco, WordPress, and Textpattern.

See you at all of these events!

A website resolution you can keep

If you run a website, here’s a resolution you can keep: make sure your host is up to date. This is something that only takes a few minutes to check and can help you avoid hacker-induced headaches. With PHP being the most popular programming language used on the web, chances are your site uses it. You’re definitely using PHP if you use popular programs such as Joomla!, Drupal, or WordPress. Even if you keep these programs up to date with the latest patches, your site can still be at risk if your host doesn’t keep PHP itself updated.

If you’re running Joomla! or Drupal, checking your current PHP version is easy. In Joomla! 1.0.x, log into the administrator backend and go to System > System Info. The PHP version will be listed on this screen as well as under the PHP Info tab. In Drupal, use your admin login, then go to Administer > Logs > Status Report.

Aside from this software, there are other ways you can get the PHP version number. Most shared hosts often give you a control panel where you can log in and manage your account. If your host offers CPanel, the PHP version number will usually be displayed on the front page in the left column.

As a last resort, it’s easy to create a phpinfo() page you can use to get the version information. Open up a plain-text editor such as Notepad or TextEdit and add the following code:



Save this file as version.php (or anythingyouwant.php) and upload it to your web server using FTP to you web root directory. Then go to Delete version.php from your server right away: you just want it to be available for a moment so you can get the information.

You now have your PHP version number. So now what?

As of this writing, the current version of PHP is 5.2.5. If this is the version you have, congratulations! Your host is up to date with the latest stable copy of PHP there is. If you have a version of PHP that starts with 5 but isn’t the latest, check with your host to see if they’re in transition. A lot of hosts set aside some servers with PHP 5 when it first came out in July of 2004 for testing purposes. You might be on one of these servers.

If your PHP version is, your host has the latest stable version of PHP 4. Ask and see if they have a plan in place for upgrading your account to PHP 5. If your host is running a version of PHP earlier than 4.4.7, look for a new hosting provider immediately: your host is at least 7 months behind in applying security patches. Don’t count on them keeping you up to date in the future, they’ve already failed you.

As of this past Monday, no new versions of PHP 4 will be released and it is officially obsolete. On August 8th, the PHP team will not even release security updates for version 4.

UPDATE: the PHP team released 4.4.8 the day after I posted this. The switch from .7 to .8 represents some security patches. It is not considered an entirely new version of PHP; everything should still be backwards compatible. If you are running 4.x.x, make sure your host upgrades you 4.4.8 promptly.

Aside from keeping up to date with software that’s being actively developed, there are other reasons to move to PHP 5. It performs faster and has new features your friendly open source programmers desperately want to use. The Joomla!, Drupal, and WordPress teams have all avoided writing code that only works on PHP 5 to make sure that you can run their software. Now is the time to return the favor and go with PHP 5!