Published on

Hey Drupal Content Editors, Make Your Work Easier with Admin Menu Swap

An intuitive navigation system is the foundation of a productive and pleasant  user experience. If you’re a content editor with a Drupal site that hasn’t been tailored for site editors, chances are you experience some friction when you are in the back-end of your site. Drupal’s administration menu was designed with developers in mind, not a website’s content team. The result is a confusing navigation system that doesn’t match the mental models of authors, editors, site admins and other website users. 

If your administration menu feels overwhelming and doesn’t match your workflow, you can ask your website support team to update it so that it meets your needs. We co-maintain the Admin Menu Swap module, to make this easy for a Drupal developer to do. Read on to learn how. 

Why the Default Admin Menu Doesn’t Work for Most Users

Image
Drupal's default administrative menu which has links for content, structure, appearance, extend, people, reports, configuration, and help.

Drupal offers a powerful site building experience that allows developers to construct a website largely through its graphical user interface. The default admin menu was designed for this site building task. For that purpose, it’s well-designed and organized. But for the vast majority of users it falls flat. 

User research found that

  • 65% of sites customize the built in toolbar with contributed modules
  • Users are generally dissatisfied with navigating between different sections, eg: content and structure is painful with the current toolbar
  • Users feel disoriented while using the admin UI, eg: users don’t know if they are under the right section of the interface

There is an initiative to improve the administration navigation. Different user roles, however, naturally lead to different ways people may engage with the admin interface of a site. This is where the Admin Menu Swap module helps.

Set a Relevant Admin Menu for each User Role with Admin Menu Swap

Rather than forcing a one-size-fits-all admin menu onto every type of user on a website, the Admin Menu Swap module allows for each user role to have an admin menu that is designed for their needs.

For example, a website for a member-based organization might have an admin menu structured as follows for Editors: 

  • Content
  • Media
  • Forms
  • Taxonomy
  • Reports

 

Image
A Drupal administrative menu, tailored to an Editor. It has links and icons for content, media, forms, taxonomy, and reports.

While a Member would have the following menu: 

  • My Posts
  • My Organization
  • My Profile
Image
An administrative menu tailored to an author, with links for "My Posts," "My Organization", and "My Profile."

 

How-To Notes for Drupal Developers`

Admin Menu Swap is Stable, Secure and Feature Complete

Admin Menu Swap is safe and ready to use on Drupal sites. It was created by Dane Rossenrode (droces), stewarded to a stable release by myself and the DevCollab team and gained official security coverage thanks to Dieter Holvoet (dieterholvoet). There are no known bugs (at the time of writing at least!). It is feature complete and easy to use.

Create a menu, assign it a role, and users with that role will see the admin menu you designed for them. See the Admin Menu Swap documentation for details.

Image
The configuration page for Admin Menu Swap, in which a role can be paired with a menu.

Keep in mind that if you create new content types, vocabularies or other entities that you will want to add links to those admin pages to the appropriate admin menus you’ve created.

Custom Menu Icons

You can also refine your menus by including icons to top menu level items through CSS in a custom module. (We recommend a module, rather than the theme, as this will add the icons even when you are on a page that does not use the admin theme.) This preprocess function will ensure the stylesheet loads whenever the toolbar appears:
 

/**
* Implements theme_preprocess_menu__toolbar().
*
*/
function custom_editor_toolbar_preprocess_toolbar (&$variables) {
$variables['#attached']['library'][] = 'custom_editor_toolbar/custom_editor_toolbar';
}
 

By defining a menu for each unique role on your website you ensure that users are able to use the site easily and hassle-free.

Leave a comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA