2 Important Aspects when Building the Drupal Admin Interface

Submitted by Jeremy Kleier on 03/16/2014 - 11:24:am

A lot of time gets spent on designing for the end user. This is a necessity, but what often gets neglected is the people who administer the content.

With the size and scale of the websites we build for our clients, it takes some creative thinking to enable non-technical users to edit and configure all the moving parts of the system.

We consider two aspects when designing an admin interface:

1. Users

How many people will need to be administering the system? How technical will the user base be? If we are giving control of the system to a relatively technical team, we can be a little more lenient with the permissions we grant.  If we are working with a user who has Facebook level knowledge we scale down the permissions to make the system as straight forward as possible. For example, when our clients want to easily edit everything but are not very technical, we will simply give them an inline editing tool that would allow them to edit the box by clicking a simple sprocket.    

 how to edit the drupal box using inline editing

2. Budget

Unfortunately, budget does play a factor in designing the admin interface. This is one item that freelancers and small Drupal shops do not account for when bidding on Drupal projects. Budgeting time for developing the admin side of a Drupal site can make the difference between really enjoying administering the site's content and a frustrating user experience.  When searching for a Drupal developer, make sure they have a plan to make the admin experience intuitive

Once we know the type of user we are designing for and have set a budget, we start building the user interface keeping those 2 aspects in mind.

For the majority of the sites, we use a custom dashboard to tailor to the user profile on the system. One way we implement a feature like this is by directing the Drupal user login to the dashboard which looks something like this:

Custom Dashboard:

Custom Dashboard for Clikfocus.com

As you can see, the dashboard creates one central place for the Admin to control all of the major tasks for the site. Each dashboard is created on a per role basis.  The average website has a couple of roles such as the Site admin, Content contributor, and Authenticated user.

In a more admin UI with more roles, we had a client who needed a workflow system for publishing content. In this system after a piece of content was created, it needed to be sent to an editor role for review. Then the piece of content was either back to the creator of the content for tweak or sent to a technical person for review. When each of those users gives approval, it was sent to a manager to review and publish. 

With more complex workflows, publishing a simple dashboard isn't as useful, and we need to build a more intuitive admin interface to accommodate these requirements. For use cases like this we like to levarage and customize a Drupal module called Workbench. 

Content Workflow Systems

A tool we use to manage workflows for publishing/editing content call workbench

Content Entry

You also need to think about how each piece of content will get added to the system. When adding content to a Drupal site, you can give the users a lot of control or limited input. When thinking about and designing these systems, it is usually better to limit the control a user can have with a piece of content. 

The reason why we limit what a user can when editing content is to keep the flow of the site consistent. When you give the user too much control, they can add pictures where they don't look good, add a color that doesn't match the media guide, or introduce potential security holes. 

To give the user full control of the system while making it difficult to break anything, we like to setup fields on each content type that are required in some use cases to keep the content output consistent. For example: one of our clients has large images that span across the top of the page on a portfolio page. This is a required field on the content page, so they are unable to mess with the look and feel of the system. Picture of the CDC Portfolio page

And this is the image field used to make sure it was output correctly. Picture of the image field used to generate the portfolio picture

By limiting the permissions set, it forces the user to correctly use the site. 

Conclusion

Thinking through the admin user workflow and tasks will not only make life easy for them, but also creates a scalable solution as their organization grows.  It also makes training so much easier!

Photo by Steve Hankins