Improving the Drupal Admin Experience - Drupal Meetup

At the last Drupal Meetup, we talked about improving the admin experience for everyday Drupal users. This was inspired by the DrupalCon Portland talk called "Secrets to Awesomizing Your Editor's Back-End Drupal Experience."

Drupal can sometimes have a reputation for being difficult to use. This can be exacerbated if the person complaining has been using Wordpress. It need not be that way. Its true that Drupal is pretty bare-bones when first installed, but with just a little bit of effort, the back end can be made much easier to use for non-technical users. Sometimes the smallest improvement can have the biggest impact on client satisfaction.

Here are some of the tips and modules we went over:

  • Redirect users to where they need to be after login. By default, Drupal takes them to their user page. And by default, the user page is close to useless. Redirect them after login to where they need to be. The Login Destination module can help with this.
  • Simplify permissions. Don't give users the full administrator role. They aren't going to be using 80% of those pages, and if they did use it, they could break the site. Don't let them. Create another role and reduce their permissions to the minimum, so they aren't overwhelmed.
  • If you have a WYSIWYG editor, reduce the buttons. Again, don't overwhelm the user.
  • Give them useful shortcuts. If you use the Shortcut module, make it useful. You can then use the Shortcut by Role module to make it more personalized.
  • Publish Button module. Explaining how to unpublish/publish a piece of content is cumbersome. You have to select the right tab, then check/uncheck the correct box, then click "Save". The Publish Button module gives users what they expect: a "publish" button or an "unpublish" button.
  • Make it easy to edit content on Views pages. If you have a site with Views pages that have header and footer content, how do explain to users how to edit those header and footers? There is no "edit" tab like they are used to on Node pages. And as as soon as they do find out how to edit the view, they are presented with the full Views UI, which would scare Godzilla. Enter Views UI: Edit Basic Settings. This adds an "edit" tab, and it allows users with the proper permissions to edit only the header, footer, title, empty text, and number of items displayed. A simple idea that makes things so much better for everyday users.
  • Add contextual links to content in your Views. If you have a View of content, how does the user easily edit one of those pieces of content? Normally, they would need to go to "Find Content," then search for the content they want to edit. But this are needless steps. If they are looking at the View page, they already see the piece of content they want to edit.

    To make this easier, we can use a built in Views global field called "Global: Contextual Links." This is added to your view like any other field.

    View Global Contextual Links

    In practice, this adds the little gear icon to each View row for users with the correct permissions. You can then add any other field to this contextual drop down, and ideally, you'll want to add an edit link for the content.
  • Validation. Better validation can guide users to what is expected, and lead to less frustration and less support calls. Two modules make this easier, and work well together: Field Validation and Clientside Validation. The first lets you add arbitrary validation criteria to your fields, and the latter gives users immediate feedback for their data entry.
  • Inserting images into content. You have an image field below your body field. But how do they put the image where they want in the body field. You don't want them copying file urls. Just add the Insert module.
  • Easy arbitrary ordering of content. Your client's site has a View of content, but its not ordered by any field or data. The client want to 100% control the ordering. You can do this with a custom integer field, and then sort by that field. However, the client has to individually go into each piece of content and edit that field, each time they want to change the ordering. Not fun. So install, setup, and use the Draggable Views module. This module helps present the content in a draggable table, like other places in the Drupal backend, and makes ordering content much less of a hassle. It can even be tied to your custom integer field, and use that, so things can be updated both ways. For a tutorial on setup, view this video.

What did we miss? Any other ways to easily improve the admin experience?
logo_inverse

is loading the page...