Drupal 8 Admin: How to Streamline Back-End User Experience
From a content editor's point of view, a website isn't 'finished' once it's launched. Instead, a website can function as an additional marketing tool in their arsenal from the moment it goes live. In order to serve this purpose, it needs to be utilised correctly to drive business goals forward.
There is often a significant emphasis placed on the user experience (UX) of the customer-facing, front-end of the website - and rightly so. In contrast, the back-end user experience - where administrators and content editors are likely to spend most of their time - is likely to receive much less attention.
Where does Drupal 8 come in?
The ideal goal of Drupal 8 is to give power to your team to experiment with and build content without having to understand what code is, whilst still retaining control over its visual impact.
Drupal 8 does a lot of the work for you with the default administrator interface that it ships with, but those defaults may not always be enough. This is not to say that those defaults aren't good, but rather that to retain its flexibility, Drupal 8 has to keep the back-end interface generic.
So, what can you do as a developer or site builder to shape Drupal 8 to best suit your objectives?
There's no definitive guide to take you through the process of Drupal content management, since every team will have different skills and needs, but there are a few things every Drupal 8 site can benefit from. Let's get started!
Minimise and Simplify the User Interface
Ultimately, the goal of any UI is to place what is needed within reach, and not to overload the user with unnecessary information. Clarity is key. As a developer or site builder, you will become intimately familiar with the UI of Drupal, but as a content editor, you will neither need to understand nor use the majority of the options provided by it.
Drupal 8 covers this out of the box with its role and permissions system, giving the developer fine-grained control over the creation of different roles and their access to various parts of the website.
Create an Editor User Role
Create an editor user role that has the ability to use the admin theme and edit content, but doesn't see any polluting Drupal 8 admin UI features that are not going to be used.
The admin menu's 'Content' tab should suffice most of the time, allowing the user to view the content listing, search for it, edit, and add new content. Also, make sure the user only has the ability to edit the content they need to rather than enabling them to edit everything by default.
To further assist your Drupal content management, you could also implement multiple roles with varying permissions for teams that are responsible for blogs, building landing pages or updating the core content of the site.
As an added bonus, you can utilise Adminimal Admin Toolbar for nice dropdown menus.
Make Finding and Editing Content Easy
Edit the Content View
The main content listing page utilises something called a 'View' in Drupal 8 terms. A view is an extremely powerful way of displaying lists of items with built-in functionality for filtering, searching and sorting.
It's quite straightforward for your site builders to edit this view so that it shows information such as tags, aliased URLs and more in the main listing, without you having to edit the individual page and find the responsible field.
It is also straightforward to expose filtering and sorting functionality for things like date ranges, author names and tags. If searching for information like this is a necessary part of your content editor's workflow, you should be making use of it!
You can also utilise views to build custom listings per individual content type with various fields and search options exposed.
To make finding editing actions for any individual page easy and consistent, the local actions toolbar should appear in the same place on every page. I usually like to fix them to the bottom left of the screen.
Labels, Descriptions and Requirements
When editing complex (or even not-so-complex) content, it should be clear what sort of input is expected and what the purpose of any individual field is.
Drupal 8 gives you the opportunity to label fields (they can be different from their 'machine' names, which need to be unique) and also provide descriptions below them on the editing interface.
As a developer or site builder, you should look to attach meaning to your labels and create descriptions that make sense in the context of the business. They should be short and succinct as users generally scan through them quickly in order to navigate the form. Descriptions are the place to explain the purpose and provide examples.
Also, make sure to include specific image requirements on any image fields for the design to work correctly, so that the editor doesn't get any surprises. And that is the main objective - when a team member is about to submit a new piece of content and hits the save button, the result should be exactly as they anticipated, as opposed to being faced with something they didn't expect to happen.
Make use of Manage Form Display
You can also use Drupal to customise your content type form through the 'Manage Form Display' tab. This can be used to arrange the form elements in a logical order, as well as hide fields that are generally not used or have defaults that do not change.
There are also options to choose what kind of interface element the editor will use to interact with the input.
As an example, for a 'reference' field - which can refer to another piece of content on the website - there are choices between checkboxes (which would list all of the available options), a few different lists, such as a dropdown, as well as an autocomplete search box, which would be a blank box you start typing into to see suggestions.
Which one is the most ideal will depend on whether the editor is aware of the available options or not, and how you expect them to find those options.
Drupal's Chosen module is great for entity reference fields, definitely worth checking out!
Drupal 8 gives you the power to customise the editor experience to suit the specific needs of the project. As such, as a developer or site builder, you should pay attention to those needs and deliver on them.
Whilst it's easy to view this as nothing more than an additional time sink, doing at least the basics is a massive improvement over doing nothing, delivering a significant pay off in terms of sanity and would've-been questions from colleagues and clients.