I've been designing a site recently and I'd like to express some usability features that i think are vital to my sanity. Please read and consider.
**************************************************
I. Starting at Create Content > Page
**************************************************
Dries suggested a lot of good features here http://drupal.org/node/14886#comment-23966. You don't have to go there because I'm reposting his list here and adding my own (* are mine):
1. Permissions:
- grant or deny certain users or user roles access to this node.
2. Layout or visual settings:
* show node title toggle - to really have full control this should be optional. currently this text is hardcoded (bad)
- show author toggle
* author text field "created by", "authored by", "submitted by", "blank", etc currently hardcoded.
- show date toggle
* show footer links
- show printer-friendly link toggle
- show contact-link toggle (not sure what this is but ok)
- show category image toggle
* no filter option (i want an option for no filter) not linebreaks or anything.
* show in menu dropdown. adds node to the selected menu block
* enable disable htmlarea - default to disabled but have it as an option for users
* dropdown of themes - user can choose a different theme for this post
* add/upload theme button
* dropdown of css files - user can choose to import a css file
* add/upload css button
3. Workflow settings:
- publication scheduling
- workflow state - draft, editing, final, etc
4. Various settings:
- trackback-related settings,
- URL aliasing (human-readable URIs),
- e-mail subscription related settings,
- related links block, etc.
The most important being able to grant or deny viewing of node to certain groups or roles and the option to hide the "title" and "author information" which would give me complete control over the node column. I suggest hiding the title and author information because it would be easiest but being able to select the theme option would be more powerful whether harder or easier I don't know.
**************************************************
II. Invisible Drupal pages
**************************************************
Page types. After you get setup Drupal you want to start creating pages. So you find one called page and story. But what it doesn't tell you is that it has invisible pages already designed for you. But these are not normal pages that you design they are they are list type pages like the home page. They list a brief summary of the nodes row after row. In other enviornments this is called a search results page. No where did I read about this (and I know the help has been updated so it may be in there somewhere). And these are predefined. So if you wanted to use these you would have to find the link to the category. Once you enter that link into the browser you would see a page that displays all the nodes in that category.
There are no mention of these types of pages. There are no options for these types of pages. The formatting is mixed in with normal node types of pages.
I don't know if it's possible but I would like to see this type of page mentioned alongside "page" and "story". It should be called something like "query" page. Once this is in place you should be able to create aliases from it, show nodes from specific categories or show search results from a custom query. You would also be able to show the data in any html format or style you want. You could show it in tables, show it in repeating regions, repeating rows, or whatever.
The query page should have or inherit all the options of the node page I mention above but add the following options:
Source of content can come from three places:
- Path text field. This field is all that's required. Because if it is filled in it will work like an alias. It will point to the existing category results page.
- Category select list. This would be just like the current Category list. You should be able to multiple select the different categories. Selecting one or more of these items will show search results from those selected categories.
- SQL text field. This is a text field that as the name states lets you put in your own search query.
Layout settings:
- Region dropdown html. This is a dropdown that lists all different html.
- Add html repeat region button - This lets you add your own repeat region html in your style.
- Custom Repeating Region HTML. This contains the html for the page. You can put tags in your html that will get parsed into a repeating region.
**************************************************
III. Workflow of page creation
**************************************************
The workflow for creating a drupal site is a little disorganized in my opinion. Not because it does not have the right options but because it has too many different options.
Workflow:
1. setup a site.
- create database on the server
- copy drupal files to the server
- test to see if it works. if so then part 1 is done
2. add options
- add modules (now or later)
- test to see if it works. if so then part 2 is done
3. set site settings
- going to settings and describe site and mission
Now here is where it gets messy. Things break down here and get confusing. What comes first the pages or the theme? It's like the question "what came first? the chicken or the egg?" If you create the theme you don't have the links to the pages. If you create the pages you don't have a theme that will show them. So let's say we are giving this too someone else. For a few reasons we'll create the theme first and then let them go in and add the pages and page contents afterward.
4. create theme
- we select, customize or create the theme
- when you are doing this no hyperlinks the pages exist. so we have to add later.
- test to see if it works. if so then part 4 is done
If we were working in another enviornment we would have just created our template. Our design. Now we add the pages that will inherit that design. So now we tell the customer or ourselves to go create the pages we want. The about page, the contact page, the stories page, etc.
The problem that creeps up is that we do not have a pages view. A site tree. Posted pages seem to disappear. They don't of course. We can find them in the admin > content page. But we have to do backflips find them and to create links or connect to existing links. To link them we have to have set an alias when we created them or else go and find the node url (choose your own method). To show a taxonomy term results page we have to find it's url. Then we have to go connect that in the menu or go into the theme code and add it to the href. This caused me all sort of confusion the first few I started with drupal.
In the lastest release of drupal (4.5) the menu module came around. I think that this could be used to create the navigation more easily.
What we should do, I'm getting tired now (lucky for you :)), is have a new blank navigation menu block ON by default. This menu block should list all the pages as they are created. Once the user creates a page, they see it show up in the navigation block. Very easy to see and keep track of.
This menu block should have these features:
- toggle box to automatically add new pages
- format options. this is the same formatting options listed in the repeat region. manual html overide with replacable tokens like xtemplate. nothing should every be hardcoded.
The menu settings page should show this module first above the other menu blocks. Currently any new menu's get pushed to the bottom.
When you add a menu item manually it should add these features:
- show a list of all pages. site tree overview. the user can then see the pages made and select one easily.
**************************************************
IV. Site View
**************************************************
This is very simple. A site view or module. Every site creation tool I know has a site view or directory so you can see the structure. Since drupal data is stored in a database it's hard to get the view and content easily gets lost. A site view would list all the pages and there should be a way to goto the page listed either by clicking on it or another way.
These are my top usability issues IMHO. Thank you for listening.
Comments
pictures
fyi - the most successful usability proposals have lots of pictures in them, preefrably with annotations. this post is a bit dense and may not get the attention it deserves.