Drupal for the Web Developer: Module and Theme Administration
To get to the main Drupal configuration menu we'll be working from, you should visit http://YourSiteURL.com/admin/settings in your favorite web browser, or http://127.0.0.1/admin/content/ if you're working on your own local computer. We're also assuming you're logged in as Drupal's administrator. From there, select the Modules submenu (/admin/build/modules), where the default view shows you a list of the modules available on your particular system, with checkmarks showing whether they're enabled or not.
As we've mentioned previously, modules are software addons or plugins that allow you to expand the functions of your Drupal system far beyond those of a simple blogging platform. There are literally many thousands of modules available free that have been contributed by the Drupal user community; these are often called contrib modules. In fact, there are so many contrib modules that an overview is in order.
So Many Modules, Where Do I Start?Before you start downloading anything new, take a careful look at what you already have. At /admin/build/modules, your default list of installed modules already includes the following, each of which you can enable with a single click:
- Aggregator: allows you to set up RSS and Atom feeds to your site.
- Blog and Blog API: let you easily set up and maintain a blog using accepted standards.
- Forum: did you want threaded discussions? Nothing to it.
- Poll: easily set up public opinion polls.
- Throttle: lets your system respond gracefully to sudden surges in popularity.
- Upload: enables users to attach media files to content and upload them.
One of the first contrib modules you should download and install is called Administration Menu. It's quite popular and will save you quite a bit of time, since by now you've no doubt noticed that finding items in the default administration menu takes quite a few clicks. So in the interest of reducing your learning curve, visit the module's home page and get a nice CSS-based menu that lets you access everything in one go.
- Content Construction Kit (CCK): this extends the already flexible Content Types of Drupal to allow you to define your own data fields, essentially letting you add media of any kind to the database (without directly modifying the database, which would be messy) and defining how they display as well.
- Views: the Views module effectively lets you define and display almost any content (including those data fields from the CCK) in almost any format.
- Token: this is really an API that many other modules use, so that terms like [user] can be used in text and replaced with the proper value.
- Pathauto: this lets you set up patterns for URLs, generally for SEO purposes with categories.
- Panels: ever want to define a complete layout via drag-and-drop? That's Panels.
Downloading and Installing ModulesIf there's any downside to the current state of Drupal software, it's probably the module installation procedure. Basically, you have to do things the old school way: download the compressed archive file (making sure you have the correct version for your Drupal installation), extract its contents, upload it to the correct directory (generally /sites/all/modules), and perhaps change a few permissions. There's an official Drupal page available that describes this process in exhaustive detail. There's also a Plugin Manager module available to solve all these problems, but it's not considered quite perfect yet, although many people use it with success. Naturally, if the Plugin Manager works for you, you can use it to bootstrap all other module installations and save yourself a great deal of time, so that's another good one to start off with.
ThemesWe've saved the best for last. Compared to the many details involved in modules, administering themes is a breeze, although you'll still have to do the download-extract-upload tango to actually get new themes into your Drupal installation (they go under /sites/all/themes/, but each into their own directory that you'll have to create). Drupal comes with six themes installed by default, so you should again explore the included ones before looking through the long list of available themes.
Drupal themes are user-configurable. Go to /admin/build/themes/settings and you'll find you can easily do all this from a single menu:
Once you settle on a particular theme, it's probably best if you lock it in place. Supporting different browsers and operating systems and screen resolutions is tough enough, but allowing users to add different themes and layouts to the mix is sure to cause you grief in the form of unnecessary support problems. To lock a theme, simply go to the theme administration menu (/admin/build/themes) and make sure only one theme is enabled, and then set that theme to Default.