Drupal 6 usability suggestions?

Dries - May 3, 2007

The Drupal 6 status update has spawned a very long thread with suggestions on how to improve the usability of Drupal. I figured I'd open up the discussion and let people post their favorite suggestions for usability improvements and aggregate them in a new thread. (Crazy strategy, I know.)

Personally, I'm mostly interested in the kind of suggestions that can still make it into Drupal 6 with the help of an aspiring developer. Many of our expert developers are already super-busy working on other improvements so let's try to come up with "simple" improvements that might inspire new developers to get their hands dirty and contribute to core.

So let's focus on smaller improvements rather than legendary tasks such as improved image handling or a full-blown WYSIWYG editor. Yes, we've heard you but it might not be the best strategy to focus on these big tasks now. Let's involve more people, and coach them to become experts that can help take on bigger tasks in future. And at the same time, let's aim to get some additional usability improvements into Drupal 6. (That doesn't imply that the bigger improvements can't make it into Drupal 6.)

And me? I'll promise to review and test your patches!

Here are some of my own suggestions that fall in the "small and simple" category. Hopefully it sets the right tone for this thread, and hopefully it avoids the obvious WYSIWYG comments ...

  1. Streamlined installation procedure. Remove the Drupal welcome page, and replace it by additional installation steps in the installer. The additional installation steps should query the user for basic site settings (i.e. site name, site slogan), and should provide a dedicated and simpler user interface to create the administrative user account (i.e. user #1).
  2. Quick start install profile. I'd also like to ship core with an optional install profile optimized at jump starting your installation -- for example, one that sets up a working contact form and creates a dummy about page with a clean and human-readable URL.
  3. Hierarchical page structuring. Remove the "book page" node type, and turn the book module into a module that is specialized at creating hierarchical content trees. This module will be the de facto standard to structure pages and to create hierarchical navigation schemes in Drupal.
  4. "Save as draft" feature. Better support for saving posts as draft. Ideal for the Drupal-bloggers amongst us.
  5. Module update notifications. Let Drupal tell me when a new version of a module became available. Oh, wait, dww is working on that already, but he could use some help to get it implemented in time for Drupal 6!
  6. Improve path alias administration. Add a search form to the path alias administration screen. On a site with hundreds or thousands of path aliases, it becomes impossible to find the path alias that you want to edit.
  7. Remember anonymous comment posters. When someone leaves a comment as an anonymous user, his name, e-mail address and URL are not remembered. If we'd store that information in the user's session, he or she wouldn't have to re-enter that information every single time. A subtle but important improvement.
  8. Backup module. How hard would it be to make a simple backup module, and how many people would be helped by it? It could be really simple but highly effective.
  9. All small bits that help flatten the Drupal learning curve.

Any small annoyances left? Any subtle but important improvements that can be implemented for Drupal 6? Let's tackle some.

Hierarchical page structuring

cino - May 9, 2007

I strongly believe that a hierarchical page structuring capability is a very important thing for a website, still nowaday with all that social-web tools available everywhere.

So my suggestion is to modify book module to be more customizable, so if one wants to can use it to structuring pages hierarchically.

Hierarchical page structuring and mass editing

bohemicus - May 3, 2007

I cannot agree more with point 3. If Drupal could improve its handling of outlines, its usability would go through the roof. There is already the Category module and Outline module but neither will be sufficiently safe to use without core support. It wouldn't take much:

- Choose which content types can be outlined.
- Add per-outline rights - rather than any user with outlining rights being able to add pages to any outline

Another huge improvement to Drupal usability would to improve mass actions (such as the Mass Taxonomy Edit module or User Plus). There are so many things in Drupal that are almost useless because of the amount of work it takes to maintain them. The administration of aliases is one of them. I actually use phpMyAdmin when I want to make any changes there. Here are a few simple things in that area that would help:
- Choose how many nodes get listed at once on admin/content/node
- Select nodes that do not belong to a category in admin/content/node
- Select nodes that match a search term
- Select nodes based on date of creation
- Assign one taxonomy term to multiple nodes
- Change authorship of multiple nodes at once
- Change input format on multiple nodes at once
- Change content type of multiple nodes at once
- Resave multiple nodes automatically in one go (useful for some modules)

Other miscellaneous usability improvements:
- Display weights on the list of menu items so that it is obvious what a new menu item should be assigned (like in Blocks or Outline)
- Offer weight and location as an option when creating or configuring a block (it takes two steps to get a block up at the moment)
- Offer User group assignment when creating a new user (similar to User+)
- Ajaxify the ordering of items in lists

I wish I could contribute development time but I lack the coding skills.

Dominik Lukes

Just go for it?

Dries - May 3, 2007

I cannot agree more with point 3. If Drupal could improve its handling of outlines, its usability would go through the roof.

Well, Dominik, just go for it. ;-)

For Informational Sites Only ?

quasimodal - May 3, 2007

There are are some very good points in your post, but I'm not sure if I understand all of them. For instance, I didn't understnad your comment that neither the Category module nor Outline modules would be sufficiently safe to use without core support. Without core support ?

Also, I didn't understand, "assign one taxonomy term to multiple nodes" ? Is that just a matter of integrating the Taxonomy module into the core ? The Taxonomy module is so useful that I can't imagine someone not installing it on their site.

I visited your links and we both seem to have the informational, "text" sites, as opposed to community, multimedia or commerical sites. Each type of site probably has its own set of needs and operating considerations. For informational sites, I think that the most important point is improving page structuring, which would vastly expand Drupal's usefulness for presenting information in a book-like form.

In Drupal 5, the combination of books, categories and weblinks has worked very well for me. The pages of a book pop out of the hierarchy as items in a category listing, providing something like a associative, network view of the content as well as the hierarchical view of the the book structuring. The weblinks get included in the category listing, which relieves me of the effort to creating links within the pages.

A nice feature of weblinks is that I can include them into a book hierarchy "outline". It also works with blog entries and static pages. One inconvenience is that the user has to create the content first and then assign it to an "book outline" from the list content page.

So I'm not sure, but maybe your comment about outlines was to extract the outline functions from the book and give it the status of a new node type, without the necessity of a main book page ( ? ).

I think the smooth blending of hierarchical with associative views within a consistent presentation schema is a central requirement for text sites. I think text sites also tend to wind up with several hundred nodes. I think anything to make the maintenance functions more powerful and managable is a good thing.

One difficulty I've had is with ordering items in a list for a category. To work around the lack of control per-page, I fiddle with the creation date until the item shows up in approximately the right order across several category pages. In fact, it seems to work out pretty well, as if the importance of a given item is largely independent of its importance within a particular category. Interesting, conceptually speaking ?

I would also like to see a friendlier UI for weighting in general, preferably some sort of "move up/move down" capability and let Drupal figure out what weight numbers should be.

I think in the long run it would make sense to steer toward document model standards such as DocBook, using more powerful XML document technology. There are many considerations involved in wholesale transition to XML documents, not least of which is performanace. So I'm really talking about Drupal version 7 or later.

In the meantime, maybe some sort of template manager/generator would rev up the RPMs for page structuring. It seems like their should be some simple way to integrate Smarty templates, without having to create separate theme. Is there ?

Also, I think that the eCommerce module is reaching a critical threshhold of featues and usability. As some point, maybe version 7, it will probably need enhanced 'commerce-aware' functions inside the core, particularly transaction integrity, security, the usual list of suspects.

My thoughts on the subject ... and many thanks again to all the Drupal developers for such a great CMS.

- Bill


What I meant by my comment

bohemicus - May 4, 2007

What I meant by my comment about Category and Outline not being safe to use because of lack of core support is more about the level of support when upgrading a site and how other modules interact with them (not anything negative about their quality as a stand-alone modules). Particularly Category has to replace some core files which is always a potential problem. I think outlining and a simple way of creating a basic hierarchical site with access rights for specific trees should be a great addition to the Drupal toolkit and would make it much more userfriendly out of the box.

Dominik Lukes

Copyright 2007