Setting up Drupal

This documents the process I went through in getting this Drupal site up and running. My first step was in realizing that hand edited HTML wasn't the thing to do anymore. I wanted to focus on the content and less on the formatting of my web pages. It was too time consuming dealing with the HTML tags and I was tired of maintaining a pile of perl scripts, bash scripts and m4 macros to update all of the indexes and cross references. I found that I just wasn't updating the information as regularly as I would like to have been doing. I tried of couple of the web-page editors like nvu, but that just eliminated the need to write HTML (most of the time) and I still needed the bash scripts for organizing all of the separate files. That was not what I wanted. I also played some with Frontpage but that crazy program generated huge mountains of unnecessary files that clogged up my disk and web server. That was not at all what I wanted. I decided that I needed to investigate the various content management systems, but where is a good place to start?

I looked over the List of Content Management Systems and found a few good choices for a CMS. Mambo, Joomla, Drupal and Geeklog stood out, as they all appeared flexible enough to meet my varied needs (or perceived needs) and my current web hosting (www.abnhosting.com) service supported all of these (and the price was right, free). I installed and played with test sites with each of these tools. Most of them I needed to reinstall several times as I somehow mis-configured something I didn't yet know how to fix it. The biggest difficulty I had with all of these was the new terminology, the concept of nodes and blocks didn't make sense when I was used to thinking of files and HTML tags. But, as with most things, persistence paid off. All of the systems worked well and I think I could have used any of the four, but Drupal stood out as the best. Drupal has a massive amount of support and help available, as well as many times more modules and themes than the others. I also found 5 books in amazon.com on using and configuring Drupal, so I figured if I got stuck with something there was plenty of help available.

Here is a rough list of the steps I took in getting this site up and running with Drupal after I was satisfied with my choice in CMS.

  • The first thing I did was create a test web site (test.atomicrhubarb.com) and created about 15 dummy nodes (pages) to play with.I took some time to configure and reconfigure the site, just to learn what all of the options were. I then added a few themes and modules to the test site, to see how well that worked.
  • Once I figured I knew enough, I deleted the test site and moved on to a real site. One thing that helped in migrating my old web pages to Drupal is that both could live in the same web space. I could access nodes managed by Drupal and my existing html files at the same time (since Drupal "pages" don't need to end with .html), so I could move the content over slowly (as I figured things out) and the old pages continued to work just fine, until I deleted them.
  • I installed about a dozen themes and played with configuring them until I got one that I liked and could make minor modifications to the style sheet and layout if I need. ThemeGarden is an awesome site for examining all of the various Drupal themes.
  • I needed to disable register_globals using the technique described here.
  • I added a bunch of modules (not all at once, since I needed time to play with them and figure them out). Many of them I un-installed and deleted when I determined it was not what I wanted.

I settled on the iTheme (I don't know why). I needed to make some simple changes to this for my benefit a some to get it to work with the various modules.

  • Edited the CSS to change the color scheme
  • Also changed the background images
  • Needed to modify the file page.tpl.php and add some code (<?php print $closure; ?>) at the end following the information on here so that the fckeditor module works.

These are the Drupal modules I am using. I'm still working on this page, Ill be adding details here.

  • ad, adsense
  • amazon_filter
  • amazon tools (sadly, these will not be moved to Drupal 6.x by the original author and no one has yet stepped up to port them or make an equivalent module).
  • backup
  • fileshare (currently revoked as there are securitry issues)
  • freelinking (currently off)
  • gtspam
  • quotes
  • textile (currently off infavor of FCKeditor)
  • views. I wanted to have some pages that are collections of teasers of specific content (like the frontpage but also this specific content is not shown on the frontpage, just this special page). Specifically I want to have a projects page and all of the projects are listed there (by inserting a teaser). The way this works is by using a view. I created a new view page. To get certain nodes to be included in that view (and not elsewhere and just projects), I had to create a catagory. When I create a new story or page I can assigned a category now. I can also tell the view to filter on that category so it will just include nodes that have that category assigned to them. This took quite a bit of fiddling around but it works quite well.
    • Install
    • Create category and terms
    • Create new view
      • Filter on category
    • Create new content, pick category
  • weather
    • Install
    • Create block, place block on page
  • metatags
  • external links module. This module simply puts a little icon next to all links that are offsite.
  • node info