Quick Enhancements to Make Drupal Content Admin Dirt Simple

Quick Enhancements to Make Drupal Content Admin Dirt Simple

There is no doubt that Drupal 7's admin is light years better from a usability perspective. Yet, even with all the enhancements, we find site admins still stumbling to manage their content. Over the last few months we have worked out a set of enhancements that have made our clients lives much easier. So we thought we would share.

Being Drupalistas we share in code form. First we built these enhancements into the Open Enterprise Drupal distribution. This weekend I encapsulated these features into the Enterprise Base module so you can incorporate the enhancements into any Drupal 7 site . (I know it's a bit of an odd name but it serves as the base for all Open Enterprise content apps, thus the name Base).

Problem: Not all content is what it seems

What we have observed with site authors, editors and admins is that they don't think of content as generic nodes. They think of blog posts as blog posts, events as events, videos as videos. Not as content that is typed. When they are on a blog post or a listing of blog posts, they want to easily be able to administer other blog posts or create new ones.

Solutions: Content as types

The solutions we found are actually quite simple but have made a huge impact on how people work with the content types on their site.

1. Content type specific admin

The main way to administer content in Drupal core is the content admin page. This page displays a table of all content on your site presented in a generic way. You can filter by type, but this is tedious, somewhat non-intuitive and still lists content in a generic way. What is needed are content type specific admin pages that are easy to navigate.

Content optimizer modal analysisThe solution: a content type specific content admin view. We have created a general admin view that works like core's content admin with some filter enhancements. This view is overrideable so content type specific fields, filter capabilities, bulk update options, etc can be added. For example the events content type has the event date field in its admin page. The location type has addresses. Image types could have thumbnails.

The next trick is to make it easy to navigate. For starters, we configured sub-tabs under core's content admin for each type. This makes it very simple to switch between types. We also added a "+ add [type]" contextual link as a bonus. But we can still make this easier.

2. Contextual links for type specific admin

Most of the time an editor's desire to jump to the content admin is sparked by reviewing a node or while on a list of nodes. E.g. they are looking at an event or a listing of events and they want to jump and look at an admin view of all events. To do this, they first have to remember that events are actually content. Then they need to click on the content option in the tool bar, and then filter by event type. Now they still don't see the date and times of the events.

Content optimizer modal analysisSo let's make this dirt simple. We already have an event specific content admin, we just have to give them an easier way to get to it. The answer: add a contextual link "+ administer [type]" to node pages and in views that display content of a specific type.

Let's also throw in a "+ add [type]" contextual link while we are at it in case the event reminds them of another, or we are having to enter a series of events.

Getting it

At first when I saw these enhancements, I thought they were rather trivial from a power user perspective. But since I have been using them they are really quite handy. It has also created a contextual shift where site admins used to think of things like events as nodes with special fields. Now they think of events as events. This may sound trivial, but clients are now thinking of some very novel uses for their sites because Drupal does not just manage content, it now manages events, locations, videos and much more.

Try it out for yourselves. There are a few ways you can quickly add this to a site:

  1. Traditional manual install by downloading the Enterprise Base module and dependencies from Drupal.org
  2. One click install via the LevelTen Apps Server. You must install the apps connector modules first.
  3. Start your site with the Open Enterprise Drupal distribution. The apps server connectors are included - along with a lot of other great stuff.

If you went the Apps route (#2 or #3), go ahead and download some content apps like blog, location and events to see how the content admin overrides work.

What do you think? Got any ideas for how to improve the content admin? Let me know.

photo by Shaun and Jacki