Drupal Modules for Better Administration
Easy Ways to Improve the Backend User Interface
By Michael Ross
This article was published as a cover story in the print magazine Drupal Watchdog, Volume 7 Issue 1, 2017-03-25, on pages 30-33, by Linux New Media. The magazine was distributed at DrupalCon Baltimore, 2017-04-24.
Experienced developers who are adept at rapidly navigating the Drupal user interface may forget that they can do so only as a result of all their experience, and not because the Drupal UI is particularly intuitive. Thus, they may be baffled when the recipients of a finished website have difficulty finding the correct site pages on which to perform various administrative tasks or understanding such fundamentals as what content type should be chosen to add a new entry to a list generated by a view.
Fortunately, some contributed modules can make it easier for a person with limited Drupal knowledge to manage a Drupal website. This situation often arises when a business owner is unable or unwilling to pay for long-term maintenance of their new site, as often happens when a project grows and ends up absorbing the entire budget (and then some!). Some of these modules are not well known, and yet they could be a real boon for the business owner struggling to manage her site. In this article, I will highlight several such modules and briefly explain how they can be beneficial.
To illustrate the capabilities of these modules, I will use for demonstration purposes a fresh installation of Drupal 7 based on the Standard profile, modified only in that the (annoying) Overlay core module has been disabled and example content has been added using the handy Devel module, including Devel Generate. Even though Drupal 8 is the current core version, I focus here on Drupal 7 because, as of this writing, it is still being used for more than seven times the number of sites as its successor (according to usage statistics).
Internet users nowadays are so accustomed to the convenience of drop-down menus (which originated with desktop software) that it can be disconcerting that the default Drupal 7 admin menu — which is generated by the Toolbar core module — fails to behave as expected. Mousing over the "Structure" menu label, for example, displays a tooltip ("Administer blocks, content types, menus, etc.") but not the actual Structure menu. Consequently, going to any of the sub-pages requires two clicks and two page loads, instead of one each.
For instance, instead of going straight to the Drupal path
admin/structure/block, you first have to go to
admin/structure and from there click the "Blocks" link to go to the block configuration page. This extra step becomes two such steps when going to an even lower level page, such as
admin/structure/block/add, which by default requires the user to then click the "Add block" link. This all might not be much of a hassle if done only once, but it quickly becomes annoying when multiplied by the countless number of times an administrator will use that main menu to go to a new page within the administrative back end. Also, the unnecessary page loads slow down navigation and increase the PHP script execution count within the web hosting account, at least for admin pages, which can become a limiting factor for websites using shared hosting services.
Figure 1. Toolbar and Shortcuts menus
Whenever I inherit a Drupal website built by someone else, one of the first tasks I do, if it has not already been done, is to replace the Toolbar and Shortcuts core modules with the superior Administration menu module, which drops down menus on mouseover and adds the Druplicon menu seen at the far left. By enabling the "Administration menu Toolbar style", you avoid the overly-small menu labels of the default styling.
Figure 2. Administration Menu
Perhaps you are not a fan of dynamic menus. Drop-downs can drop dead, eh? If you instead prefer the speed of keeping your fingers on the keyboard, then you should try a sample sip of the Coffee module, which brings to Drupal the power of automatically listing only those admin menu items that contain the text that you have typed up to that point. To activate the prompt for your input, simply enter the key sequence Alt + D (or variations thereof if you are not using Google Chrome or Mozilla Firefox) or Alt + K, either of which causes the module to pop up an entry field.
Figure 3. Coffee prompt
As you type, it displays only the matching menu items. For example, to create a new view based upon a template, instead of navigating through the menus, simply type "add" and you will see your desired command on the list, which takes you to the appropriate admin page when you click it.
Figure 4. Coffee matching many
The text you type does not have to be at the very beginning of the desired menu label. As long as your string is somewhere within the words of a label, it will be displayed. For example, to configure your site settings for metadata, you need only type "data" to bring up that menu label.
Figure 5. Coffee matching a non-prefix
This module is quite helpful when you know at least one word related to the page you want to find, but you can't recall where it is in the admin menu structure. For example, you don't have to remember that your site's RSS settings are part of the "Web services" category; just type "rss".
Figure 6. Coffee matching one
The pages for administering content, comments, and users, by default, allow some filtering and a fair number of operations you can perform on one or more content nodes, comments, or users, depending on the page. In the case of content (which I focus on here for the sake of brevity), you can filter nodes by status (published, promoted, or sticky) or content type, as well as change their statuses or delete them.
Figure 7. Content admin filters and operations
These capabilities are useful, but compose only a fraction of what is offered by the Administration Views module, which replaces the three aforesaid admin pages with more powerful view pages. They allow you to: filter content by title, node type, author, published status, and vocabulary; filter comments by title, author, node title ("Posted in"), and published status; and filter users by username, email address, active status, and user roles.
Figure 8. Content view filters and operations
The module also provides two additional operations: You can change the author of the node or, using the "Change value" operation, the properties of the node or the fields of its content type.
Figure 9. Change author parameter
Figure 10. Change value parameters
This module does not require or even allow any configuration settings. However, because it uses views for generating its pages, anyone with sufficient privileges can extensively modify the elements of those pages, such as adding more filters or adding fields to the bulk operations. To do so, enable the "Views UI" submodule if needed, and then edit the views named "Administration: Nodes", "Administration: Comments", and "Administration: Users" as appropriate.
If, after you first add and enable this module, it appears to have had no effect, then clear the Drupal caches to resolve the issue.
Contextual menus, introduced in Drupal 7, allow quick access to the settings pages of nodes, blocks, views, and so on. They take the guesswork out of knowing, for instance, which view is generating a particular view block or page. When logged in with the appropriate permissions, if you mouse over the view output, a gear icon and arrow appear in the upper right-hand corner of that element. If you then mouse over those icons, a contextual menu appears with a link to the page to edit the view and, in the case of a block, another link to change the block's configuration.
Figure 11. Contextual view default
Employing the Custom Contextual Links module, you can add your own links to the menu, which could be quite valuable in many scenarios. For instance, say a website has a small block, labeled "Latest Posts", listing the linked titles of the five most recent articles. Your non-technical site owner keeps forgetting that, to add a new entry to the list, she needs to create a new node of the type "Article". You could simply add a new link to the contextual menu that takes her to the page for adding a new article.
You would enable the main module as well as at least the "Custom Contextual Links - Blocks" submodule. Then go to the module's configuration page, at
admin/config/user-interface/ccl, enter a desired link label and its target Drupal path, and, in this example, set the link to show for the block "View: Latest Posts".
Figure 12. Contextual link config
As a result, the contextual menu for that block now contains your new link.
Figure 13. Contextual view link added
These are just some of the contributed modules that you can use to make it easier and faster for you and other Drupal website administrators to get work done.
Copyright © 2017 Michael J. Ross. All rights reserved.