very helpful lioness

Drupal 7 UX: What about the developers?

Wed, 04/01/2009 - 20:57 -- webchick

There is currently a lively, spirited debate about the forthcoming user experience changes for Drupal 7. A quick summary for those who have been unaware of this initiative: everyone (yes, especially you) needs to go to http://www.d7ux.org/ and actively participate in the discussion/brainstorming/wireframing/etc. in order to ensure that the end result is something we can all be proud of and meets our community's very diverse needs!

It's been interesting to watch the range of opinions expressed in the thread. On the one side you have people who have first-hand experience with how excruciatingly painful the learning curve can be for new users, either because they themselves had to wrestle for weeks about menus vs. taxonomy vs. nodes, or because they've spent time around others (co-workers, clients, spouses, etc.) and have watched them struggle. They're very excited about the prospect of some of these pervasive user experience issues being looked at in a very serious way. On the other side you have long-time members of the community, many of them prolific contributors, who are adept ninjas configuring Drupal sites. They don't want to see Drupal "dumbed down" to the lowest common denominator. In fact, the whole reason they initially chose and continue to stick with Drupal is the sheer power it places into their hands, and with great power comes a learning curve; it's to be expected.

At my "day job" at Lullabot, we've been hard at work on the Drupal UE (Usability Edition), which includes many fine improvements that I'd love to see make their way into Drupal 7. But what about our roots, the hardcore developers who eat, sleep, and breathe Drupal? Who is watching out for their interests?

In a fit of insomnia early this morning, I put together what I hope will be the start of a robust framework that optimizes Drupal's UX, but this time for the developer. I call it Better Admin module.

When you enable the Better Admin module (for Drupal 7 only, download it here), your Drupal interface immediately turns into this highly optimized view for power users:

Better Admin Interface

All the power of Drush, right within your Drupal website! Let's take a look at some of its currently implemented features:

  • Navigate to any page in Drupal NOT by typing the URL in your browser address bar as you'd normally have to do (or, heaven forbid, drilling down the navigation menu), but with the convenient goto url command!
  • Login and log out with ease! No more hunting around to find links in whatever silly navigation menu a "normal" site might put them in. Simply enter the commands login username password and logout, respectively.
  • A robust and powerful help system is at your fingertips with the illustrious help command.
  • The only way to uninstall it is to delete the betteradmin row in your system table and rebuild the registry cache!
  • And so much more!

Now, sure, it could use a little styling clean-up, perhaps even some *shudder* JavaScript. And sure, there are glaring security holes and only a small subset of commands implemented so far. And sure, the logic is jammed into one big switch statement instead of being invoked through a hook calling out to a series of dozens of required sub-modules. But I really think if all of us collaborate on this together, we could make this interface something that vi and emacs users could only dream of.

Who's with me?!


This is a major leap forward Drupal administer / developer's experience. With this module, and little bit of hacking, I'll soon be able to get rid of my mouse once and for all. That's right, no more clicking or searching through walls of text. This has the potential to really bring the power of the command line to the admin experience, which statistically is the most frequent feature request, IMHO.

Better Admin module is full of win.

Submitted by schmitt (not verified) on

My uncle is providing Canadian immigration consultancy services to various clients world-wide and he has asked me to help (he couldn't get me the immigration though). Currently it is all being done MANUALLY or through emails. The process is simple, receive CV's, get initial assessment, inform clients about updates, ask them to make fee payments at various stages and commission.

( BSC Dissertation , Defense Dissertation and Dissertation )

I don't think you've gone far enough. What is this typing a command silliness? If we're admins we should knowing the machine we're using. We should be writing machine code to update the database.

Think of the fun, having to find the spot on the disk where the DB is storing a field and updating that field using only 1s and 0s. Real programmers only need those 2 characters on their keyboard.

Submitted by KarenS (not verified) on

An ASCII art Drupal!! You are so hard-core!

Forget typing. I want the ESP version that just *knows* what I want to do :-)

Not too long ago I saw this article about a brain scanner that types what you're thinking... you might show this up at your local computer store sooner than you think ;)

I was busy the other day so I didn't have time to catch up all the April 1st blogs. This one is pretty funny. And I did checkout the code:

switch ($cmd) {
case 'help':
case 'wtf':
return 'Help is for wuss bags! Use the source, Luke!';
case 'goto':
if (isset($args[0])) {
else {
return 'Usage: "goto admin/build/modules"';
case 'module':
if (isset($args[1])) {
if ($args[0] == 'enable') {
elseif ($args[0] == 'disable') {
else {
return 'Usage: "module enable poll" or "module disable forum"';
case 'node':
if (isset($args[0]) && isset($args[1])) {
// TODO: Ran out of time.
else {
return 'Usage: "node view 12" or "node add type [My post here]"';
case 'login':
if (isset($args[0]) && isset($args[1])) {
user_authenticate(array('name' => $args[0], 'pass' => $args[1]));
else {
return 'Usage: "login username password"';
case 'logout':
case '':
return 'Huh?? What the heck are you saying?';

And I actually tested with a drupal 7/sqlite setting. It worked!

Now seriously, as a post on April 3rd, I think there might be something useful here. In terms of admin efficiency, nothing beats the shell and man page in UNIX. Since documentation is important and busy admins have no time to look into the source code, I suggest the drupal 7 core team add a "man page" feature for all core modules, if there is more time, perhaps a hyperlink GNU Texinfo version as well.

Thank you for the nice work.


Hi Angie,

First of all many thanks for all your support on Drupal, videos and modules. I don't know how to contact you (all contact forms disabled every where)...

Please just guide me with just the names of the modules for the below requirements and i will figure out the rest.

(and please un-publish my comment from this post :S)

My uncle is providing Canadian immigration consultancy services to various clients world-wide and he has asked me to help (he couldn't get me the immigration though). Currently it is all being done MANUALLY or through emails. The process is simple, receive CV's, get initial assessment, inform clients about updates, ask them to make fee payments at various stages and commission.

First of all, he is short on budget, have very limited or almost no technical team on board except myself with LITTLE BIT know how of DRUPAL.

The requirements are as follows:

1. People contact us and we tell them to visit our site to get detailed information on services that we provide
2. People visit our site and browse through the information & immigration categories that we are offering services for
3. People decide what category they would want to apply for and click on "Apply for immigration button"
4. They will be presented with a CV submit / upload form or choose to create their CV profile with us
5. After creating CV profile or uploading their CV file OR FILL A FORM ONLINE, they will be asked to register to confirm their submission (Name, Email, Phone number)
6. Our team get notified for submissions, they review consult or do the necessary to evaluate their CVs
7. User get notified at each step when his CV was reviewed and what is the status
8. User get notified if his application was approved or rejected by authorities
9. Upon approval, user gets an option to make the first installment of payment
10. Repeat 5-9 until his final visa and settlement

Please HELP me I really am in the middle of of the drupal learning curve...

Thank you and best regards

Awesome, looks pretty promising. I like Drush so I'll have to give this a go.