RootCandy is an administration theme specificaly developed to streamline the process of creating an admin interface for clients in Drupal. In this blog post I am going to show you what we did for our client eCommera (http://ecommera.com) and will highlight some of the RC functionality. Officialy 4,808 sites are using this theme and I am quite curious how, so feel free to leave a comment below.
The basic idea
I will be very brief on this. The idea is to "lock" the client in theirs own world, where they are able to maintain the Drupal site and perform the daily tasks they need to do. Giving the client an access to whole website and Drupal settings is not a good idea. You will face a lot of questions about the functionality that is there, but never ever used. Eventually they might break things just because they are able to.
User roles and permissions
Drupal allows us to create different user roles and assign permissions. But that is not enough. Some permissions overlaps and sometimes enabling one permission might open up another new screen for users to play with, etc... A good example of such behaviour is the default admin screen for content management (admin/content/node).
Thinking of the editor
We usualy have a content editor user role, who is responsible for the content publishing, editing and maintaining structure (sometimes we have even structure editor, section editor, etc...).
First of all, we put together a list of the tasks they want to do on daily basis, then the list of the tasks they might need to do occasionally (in this example these tasks were given to "site admin" user role).
I guess that is the standard process that everyone go through when discussing user roles.
Menu and Views
For each user role we have a custom menu, eg. editor menu. As you can see on the image, it is quite simple, just what content editor needs to do with current website.
We are re-using some of the Drupal default admin screens, such as menu editing. Yes, they have the permission "administer menu", so they can manage all menus in Drupal, but the link itself is pointing to admin/build/menu-customize/menu-ecommera, which will give them the edit screen with the site menu only. Would they be exploring further by the url? Maybe. But more likely not. I believe there are modules that allows to set more granular permissions on menus editing or a simple custom module can do the job too.
The content management screens are views. That way you can create very efficient admin screens in a short time. Using exposed views gives the editor the availability to search and filter the content, you might want to incorporate views bulk operations module and rules to give them some more options. Just what they need.
Ok, so right now we have the content editor menu, all the screens they need and permissions set.
First feature I will mention is the color module. Wouldn't it be nice to reflect the site colours into the admin interface with just few clicks? You can use the colour wheel on the theme configuration page. See the result below, that took me about 1 minute.
Custom top navigation
Other important feature is menu by role. You can have a different top menu for each role. You just need to assign them on the themes configuration page. So in our case, we had to assign a content editor menu to content editor user role. When doing so, make sure that the weights are sorted correctly.
If the menu items don't have icon associated, you can add yours, again through the config page. As you can see on our menu, without hacking or writing any code.
Btw, you can also change the sizes of the icons or completely remove them and leave text links only.
In one of the examples [flickr], where we have a view that is showing all content, notice the left sidebar reflecting the sub-tree of the menu. You can use even tabs with views (local and default local menu items) and add more views that will fit in that page view.
Tips and Tricks
RootCandy only for clients
Some people were telling me, that although they like RootCandy and that it could actually help them build UI for clients faster, they still want to use a different theme for user uid 1 (eg. Rubik or Seven). That is possible with the sections module (http://drupal.org/project/sections).
Admin theme on specific path
Check out the admin_theme module (http://drupal.org/project/admin_theme). That module allows you to use the admin theme on different paths than admin/* or node/add/*.
There is more
If you are curious what else it can do, then don't miss out the configure screen of the RootCandy. Many people didn't even know it is there. ;)
Some more images from the eC theme on flickr: http://www.flickr.com/photos/30032901@N04/sets/72157624523044416/with/4802269545/
You can download RootCandy from d.o: http://drupal.org/project/rootcandy