A majority of the work for a Drupal site goes into theming the public facing side. Website usability has been drilled into our heads for years, so we tend to be very mindful of how navigation works, what colors are used, and how graphics are placed. One thing that tends to get overlooked, however, is the user interface that we present to the site administrator. Most of our clients have site administrators that are highly non-technical. Making the site easy for them to maintain should be part of the planning process and not an afterthought. Here are 5 tips that will improve the ease of administration for your Drupal site development project:
- Install a WYSIWYG Editor
Expecting your site administrator to manipulate raw HTML code is unreasonable. A WYSIWYG editor is THE essential add-on to make your Drupal site easier to manage. There are several available, but I’ve personally had quite a bit of success with both TinyMCE and CKEditor. TinyMCE is actually setup by using the WYSIWYG API module, while there’s a standalone CKEditor module you can install. In both instances, you’ll need to download the actual JavaScript libraries for TinyMCE or CKEditor into your libraries directory. Setting up the permissions and input format profiles for either editor has several steps, so it’s a good idea to read the documentation that comes with the module or find a nice video tutorial to guide you. - Install a File Browser
You have your WYSIWYG in place, but what about images? It’s bad practice to expect a site administrator to know where to find the relative path to an image, much less how to FTP the images to the server to begin with. Ideally, they would have a button in their WYSIWYG editor that allows them to upload files, as well as select files to insert in their content. I personally prefer the IMCE module in combination with the IMCE Mkdir module for granting directory permissions. If you’re using TinyMCE for your WYSIWYG, you’ll also need the IMCE WYSIWYG API Bridge module. Other popular file browser modules for Drupal include Filebrowser and Web File Manager. - Use Taxonomies to Categorize content instead of custom content type fields
If you have several categories that need to be applied to content items, it’s tempting to create a new content type simply to add a field where you select a category. The downside is that in order for the site administrator to change/update those categories, they need permission to administer content types. That can be a scary permission to grant to some users. You can avoid that by simply creating a new taxonomy vocabulary, in which they can change and rearrange all day long without needing to edit a content type. I avoided taxonomies for the first year or so that I was a Drupal developer, simply because the term seemed vague and intimidating. Just think of taxonomies as “categories”. A taxonomy vocabulary is simply a collection of categories (I.E. “Colors”), and a taxonomy term is one item in a vocabulary (I.E. “Blue”). Once you’ve created a vocabulary, you can apply it to one or several of your existing content types. Also, applying a single taxonomy vocabulary to multiple content types will cut down the number of places that you need to make changes when it’s time to update your categories. - Use ImageCache Presets/Image Styles to Process Images
It’s fairly common to have elements like a photo slideshow that your site administrator will be updating frequently. In the past I delivered a PSD file with the exact image dimensions to a client so they could continue to create new images. But that required additional training and not everyone has a budget to purchase Adobe products. Drupal is capable of doing all of that image manipulation for your site administrator. For Drupal 7 developers, this functionality has been moved into the core and is referred to as Image Styles. Drupal 6 developers will need to install the ImageCache module and any modules that it requires. I started using Image styles simply to constrain dimensions of the files that were being uploaded. It’s difficult to get a client to understand that a 1200 pixel wide image just isn’t appropriate on a webpage, even if height and width attributes are scaled down. Image Styles gave me a way to allow them to upload whatever they had available, and then resize that using Drupal to the dimensions that the page or view requires. But the fun doesn’t stop there. It’s possible to setup Image styles that round corners, apply drop shadows, add borders and apply watermarks, just to name a few. - Minimize/Reuse Custom Content Types
CCK (Content Construction Kit) is an essential module that has moved to the core in Drupal 7. Drupal 6 users will need to install the CCK module. New Content Types can be created that extend the typical fields seen in standard pages or articles. You might need to add fields for address or phone number, for example, if you have a Biography content type. We recently took over maintenance for a client’s Drupal site that was a maze of unused modules and content types. Over the course of time, the site had been added onto several times. There were no less than two dozen content types, and about a third of those weren’t being used. This can be quite confusing to a site administrator. As an example, the site had content types for “audio”, “video”, and then “multimedia”. All three content types had nearly identical fields. As a site administrator, how would I know which to use if I’m trying to add content? I always try to ask myself if I can reuse an existing content type by applying a taxonomy vocabulary that helps me sort content. Sometimes there’s no way around creating a new content type, but your site administrator will thank you if you can keep the list as simple as possible.
It seems a bit ironic that the goal of a CMS is to put editing capabilities in the hands of non-technical users, yet we focus so heavily on the public facing side. If your site administrator struggles to post content and keep the site updated, the CMS has really failed. Putting some thought and effort into how site administration works will gain you the respect of your clients and add to the success of your projects.