Archive for August, 2011

Trying out Drupal

8 August 2011

I had a bunch of little notes hanging around on my desk.

I didn’t want to lose the data on them entirely, but I could think of no easy way to enter it on my computer. It took a while for me to think of using a “content management system” (CMS) for this purpose. Using a CMS gives the internet user the ability to pull up a site, log in, and enter as much data as he or she desires (within limits) by typing directly into the browser. I finally realized that this would be a good way to get the data on these slips of paper into my computer and the paper in the trash (or shred).

One of the most-used CMS packages in the word is Drupal.

The name Drupal, pronounced “droo-puhl,” derives from the English pronunciation of the Dutch word “druppel,” which means “drop.”

(It all started when the founder of Drupal typed “drop” instead of “dorp” (Dutch for “village”) when choosing a name for his first hosted site.)

So the originating concept of Drupal was to create a virtual “village” on the internet where members of the group could exchange news and information without being physically close.

This original idea has evolved into a system that uses a database to store almost all of its content. It displays and saves content based on the choices made by each user. It is extremely versatile, in the sense that it can be set up exactly the way the site designer wants. It is all based on open-source systems that are offered by developers at no charge. (Apache Web Server, PHP scripting language, and mySQL database manager.)

Does this come with instructions?

I had a bit of trouble figuring out how to use Drupal. Once it is installed, you pull it up in a browser to use it. If you do the default install, you get a very sparse screen with an administrative menu along the top (if you are logged in) and a couple of links saying “add content.” The sidebar contains a search form and an empty menu. And that’s about it. No instructions on how to proceed.

So I clicked on “add content.” It took me a while to realize that “add content” is a totally generic function in the basic version of Drupal. You can add any kind of content that your system allows. Drupal handles all content basically the same way. The content will be called to view when the link pointing to it is clicked. That link could appear on a menu, in search results, or in a specialized menu such as the one used to navigate forums. Just about any content can have tags (assigned keywords) and can have a link on a menu, and can take attached comments.

After finding no way to give the menu a branching structure, and failing to figure our the “book” content type, I settled on the “forum” module and had all my little notes added as comments to forum topics in a matter of minutes.

As good as it gets?

Drupal is used very widely.

Its PHP system files are in plain text and can be edited to suit the needs of a particular developer (though this is heavily discouraged). There is a standard way to add custom modules (which is the preferred way to add or modify functionality) and many custom modules have been developed. The look of the site can be significantly controlled using Style Sheets, which can be implemented using standard or custom modules.


If you are used to developing in the usual way and decide to develop in Drupal, your world will be turned upside down. The Drupal core concentrates on functionality. I am used to developing sites where layout and functionality are intimately related. In Drupal they become two totally distinct issues. Each piece of content (called a “node” in Drupal) can be styled and placed in its own way. Normally all nodes of the same content type (that is to say, generated by the same module) are styled and placed in a consistent manner. But there is no overall integrating document (or I haven’t found it yet) where you can set up how you want that part of the site to look and work.

If a CMS exists that delivers this, I’m still looking for it.