Warning: base64_decode() expects parameter 1 to be string, array given in /hsphere/local/home/johnnemec/johnnemec.com/wp-content/plugins/askapache-google-404/askapache-google-404.php on line 156 Drupal Content Management System | John Nemec
Skip to content

Drupal Content Management System

by John Nemec on April 8th, 2010

Drupal LogoI’ve been working more and more with Drupal, an open source content management system. I’ve learned a lot about Drupal and I feel confident in building high quality websites with it, but by no means am I an expert. The following is my opinion of Drupal as a content management system.

One of my favorite parts of Drupal is not all of the Modules or slick Themes but that it’s a living, breathing content management system (CMS). What do I mean by that. Well, it’s constantly being worked on, upgraded and developed for improvements. Many of the CMSs I’ve tested seem dead. They haven’t had an upgrade in months, if not years. When a security hole or small bug is found, Drupal corrects the problem quickly. This happens because of the large community.

Drupal has a very strong community of all different types of users. To name a few there are Module developers, Theme builders and just regular Web Developers. I fall into the Web Developer camp. I haven’t attempted to build my own Module and as of now I’m quite content hacking someone else’s Theme to make it my own. This doesn’t mean I don’t run into problems occasionally. I do. But when that happens Drupal has not only an extensive Documentation section and dozens of books on Amazon, but also a very active Forum. And if for whatever reason I cant find my answer on one of those platforms, there is always old faithful, Google. Needless to say, you can always get direct support by just posting your question on the Drupal Forums, just make sure you search for it first, most likely someone else has already asked the question and been given an answer.

Drupal Screenshot

Image borrowed from projex.com

Right out of the box Drupal can do nearly everything you need it to, with a few exceptions that I’ll explain later. To name a few of the Core options that Drupal has are Blogs, Pages, Navigation, Blocks, Search, and Taxonomy. There are plenty of other options you can turn on that you can learn more about on Drupal’s website (link above).

If you don’t know what a blog is, your in trouble. It’s what you’re reading right now. This is not a Drupal Blog, but at a high level the concept is the same. I don’t feel I need to explain this any further.

The same goes for Pages, Navigation and Search. Pages are simply webpages, and if you don’t know what Navigation is you probably shouldn’t be considering Drupal, and possibly be reconsidering your career as a web developer/designer. Search is a site search function prebuilt for you, which is nice because that just one less thing to think about when developing your site.

After using Drupal for a while I find it hard to live without Blocks. To a web developer, Blocks are exactly what you think they are, Blocks of content or script that you can place throughout the site or exclude to a single page. A simple example, without getting into too much detail, would be for Google Ads. You can place the Google Ads script in a block, then place the block where you want it on the page and then tell that block to only display on certain pages to certain roles. If you have any questions on this, feel free to ask me, I’ll walk you through the process.

Taxonomy is probably the most complicated part of the Drupal core functionality. Simply put, Taxonomy is just Drupal’s way of organizing your content through relationships. It’s made up of Vocabulary and Terms. A simplified example of Taxonomy that Drupal uses is:

Vocabulary = Music
term
= classical
term
= jazz
term
= rock

Where under the Vocabulary of Music there are three terms, classical, jazz and rock. But the best way to truly understand Taxonomy is to use it. The obvious places I use it are Blogs and Shopping Carts. The Vocabulary for a blog could be ‘Blog’ while the terms could be ‘My Boring Life’, ‘Strange Stuff’ and ‘Web Developer’. Or for a shopping cart your vocabulary could be ‘Cloths’ and terms ‘Hats’, ‘Shirts’ and ‘Pants’. You can even create sub-terms, so for ‘Shirts’ you could have ‘Long-Sleeve’ and ‘Short-Sleeve’.

I keep mentioning the Modules and Themes, and for good reason. They are what make Drupal ‘sing’. Another word for Theme could be template. The Theme is not only the look and feel of your site, but also control where certain areas are located to put Blocks. Many Themes have prebuilt areas that are ready to go. For example the Primary Links (Main Navigation), Bread Crumbs and the Search bar may already be in place in a Theme. Most Themes will allow you to turn them off, and if not you can always go hack the code.

The Modules are all the other functionally that you can think of. Do you find yourself needing an Accordion Menu? Go find it, I’m sure it’s there. What about a WYSIWYG editor for all of your forms? It’s there. I’m not going to start listing all of the Modules today, I’ll write that another day, but take a look through the Modules and see what there is, and get yourself excited about all the cool things you can do.

I don’t want to forget to mention that both the Themes and the Modules are not built by Drupal, which are built by developers like you and me. They spend their own time to build something and share it with everyone. It’s the true meaning of open source. They field questions about their Modules, troubleshoot issues and take suggestions. These developers are the true backbone to Drupal and without them Drupal would only be as good as the other CMSs.

All of this talk about Blocks, Themes and Modules makes Drupal sound extremely difficult, but that’s far from the case. Drupal does have a slight learning curve, but after playing with it for a little while and reviewing some of the documentation (or a book) you’ll easily pick it up.  As with everything, the more you work with something the easier it gets.

My only major complaint is, I build web sites for other people, non-technical people at that, and Drupal doesn’t make it easy for the standard user to just login and start working. Even if you strip away most of the functionality for their role, there is still that slight learning curve. I guess it’s good in a way because it requires my clients to pay me each month to update their site, but that can quickly bog me down with revisions rather than new site creation. That is the one advantage other systems, such as WordPress, has over Drupal; the simple user interface.

Drupal is by far one of the most powerful CMS I’ve ever worked with, and I’ve tried many of them. The positives greatly outweigh the negatives and for any web developer or designer that has basic knowledge of PHP and CSS it should be relatively easy to learn. I have quickly become a strong advocate of the Drupal platform and plan on using it for many years to come.

Popularity: 1% [?]


From → Web Developer

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

*