Getting Off the Ground with Drupal: Part 1

Here are just some notes and tips for folks looking to try out Drupal and get past the first steps of installing and configuring the software.

  • What is Drupal? Drupal is a free, open source php-based content management system. See this video for more about what Drupal is, who is using it, and an example of how one site (edutopia) is using it. Many universities and libraries are using Drupal for their web presence.
  • Drupal Version and Modules. At the moment, Drupal 6 has been released. However, Drupal has hundreds of modules (or extensions) you can install to add more functionality to your site, and most of these have not yet been updated for Drupal 6 yet. By this summer that may change, but for now you might want to stick with Drupal 5.7.
  • Installing Drupal and Basic Configuration. For installing and configuring the basics of your Drupal site, use this getting started guide (there is a pdf version) to help get your site configured. Make sure you enable clean URLs (admin/settings/clean-urls), set the site to use your timezone (admin/settings/date-time), and so forth. I also made the administration theme (admin/settings/admin) different from the main site theme.
  • Installing Modules. There are only 2 modules that you need to install manually (download, untar, move to the sites/all/modules/ folder). These are update status (included by default with Drupal 6 but not Drupal 5) and drush. Once you install and setup drush, you can use drush on the command line to easily install and update any other modules.

    After you download and untar the drush.tar.gz file and move the folder into your sites/all/modules/ folder, create a symbolic link so that you can simply run “drush” in the future:

    sudo ln -s /var/www/sites/all/modules/drush/drush.php /usr/bin/drush

    Run “drush help” to see if it is working. The command to install a new module is
    drush pm install (modulename)
    The command to update all your modules is
    drush pm update

  • UPDATE: In Drupal 6 with the new drush version, the command is now this instead of pm install:

    drush dl (modulename)

    I don’t know what the update command is now (used to be ‘drush pm update’). Right now drush is in heavy re-development.

  • Choosing Modules. See this list of top 40 projects for some of the more popular modules. Just some of these useful modules include: pathauto, organic groups, views, cck, user_import, userprotect, ldap_integration, printer friendly pages, password_strength, simplemenu, htmlcorrector, event, date, diff, calendar, audio, video, panels, tagadelic…
  • WYSIWYG rich text editor. There are multiple options for a rich text editor that plugs into Drupal. My recommendation is FCKEditor. It was much nicer than TinyMCE when I compared the two. You need to manually download some extra components when installing the FCKEditor module, hence the drush command alone is not sufficient. You may also wish to install IMCE to add image uploading/embedding support to FCKEditor (or TinyMCE). You’ll need to add some more allowed HTML tags under input formats (admin/settings/filters/1/configure), including these: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <strike> <caption>
  • Javascript Calendar. I’d recommend the jstools module so that you can have a popup calendar for selecting dates instead of having to manually type in dates. jstools also adds some nice options like ajax-based search forms – the page doesn’t have to reload when you do a search.
  • Organic Groups. Once you install the organic groups module (og), configuring it is a bit tricky. Follow the readme file included in the module folder closely. One thing missing from the readme is that after you’ve followed all the steps including creating a new content type called ‘group’, to actually create an actual group, go to ‘create content’ and choose the ‘group’ content type to create the group.
  • Nicer Blog URLs. To enable nicer URLs for blog posts, like this: http://mysite/blogs/username/2008/Feb/08/blog-title
    install the pathauto module. Go to the pathauto settings (admin/settings/pathauto) and set the ‘blog path settings’. For example the ‘pattern for blog page paths’ you can put: blogs/[user-raw]
    Then go to ‘node path settings’ to set what the URLs for individual blog posts look like, under ‘pattern for all blog entry paths’, I have set: blogs/[author-name-raw]/[yyyy]/[mon]/[dd]/[title-raw]
    For the ‘default path setting’ I have something like: [ogname-raw]/[type-name]/[title-raw] (this says use the organic group name when publishing something to a group)
  • At this point to build your actual site you’ll want to search for tutorials and videos on creating themes and using the views, panels, & CCK modules.
Posted in drupal, opensource, software

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 4,346 other followers

%d bloggers like this: