Usability suggestion: display settings path

Here's a small one-line usability fix for all module developers, that I think will be a huge help to users.

In the early stages of a project, I'm often playing around with quite a few new modules: testing them, seeing if they meet my requirements, installing and uninstalling. After downloading a module, the sequence of steps is always the same:

  1. Copy to /sites/all/modules
  2. Enable at /admin/build/modules
  3. Configure all exposed settings
  4. Use!

However, sometimes just finding the settings page takes the longest amount of time, out of all those steps. Is it under “User Management”? “Content Management”? “Logs”? Who knows.

I'm going to use the example of the Bio module; not picking on the Lullabot team or Bio module maintainers, this one just happened to be the first example I thought of.

Bio's settings page is difficult to find, as it's not in “Site configuration” but rather in “User management”. It also hides itself quite nicely using the title “User biographies” instead of “Bio settings”, as one would expect. The README.txt file doesn't mention how to find the settings page at all.

So what I had to do in this case, after becoming frustrated with searching for the settings in the menu, was pull up the source code and check out hook_menu() to see exactly where I should go.

And here's my suggestion: we're all used to seeing the “installation successful” messages (and looking out for php errors on install of course). For example, the Bio module has these:

Enable mod

What if this message held the link for the settings page? Then it's just one click away, instead of a potential 2 minute search to find it.

Enable bio better

This is just one line of code in the bio_install() function:

<?php
drupal_set_message(t('You can configure the bio module on the <a href="@url">bio settings page</a>.', array('@url' => url('admin/user/bio'))));
?>

Seems like a small change, but if every module did this, it would collectively save me hours in the module evaluation stages of a project, because I find that plenty of modules seem to hide their settings and not explicitly detail them in README.txt, requiring me to either hunt them down or open the source. I'm sure others would be similarly helped.

Since I talked about the Bio module, I've provided a patch in the issue queue.