New admin menu/navigation paradigm

det2048's picture

Hi,

I've used a lot of content management systems and Drupal is leaning towards one of the steeper learning curve CMS's. It took me a while to identify one particular reason for this (although not only reason). It seems the complexity of modules and its populating of the newly added admin menu items can give rise to navigating for a particular process, difficult. Its code inheritance, of sub themes and modules is what makes Drupal powerful, it also acts as a hinder for new users. After downloading a module I do spend some considerable time trying to figure out where is what or finding myself sifting through documentation. I also google a lot of issues of what I'm looking to do and find many code solutions and hooks to implement the desired affect but sometimes without developers knowing there IS a solution already in the module but it might be an unintuitive named menu option nested in an other menu item or other node related to a menu item.

Here is an example. I was looking in import a CSV file and populate nodes. I discovered Feeds module does this. At first I was like this makes no sense, importing csv files is done by feeds module? Well at a concept level it makes no sense but at a programming level it does. So the problem arises developers of modules probably scratch their heads on where to put what in the menu system as some features don't make sense logically in the system so they end of dispersing unrelated items in different parts of the menu. Or they might consolidate those options in a referenced node unrelated to the topic. This further complicates the navigation.

What I suggest is we kill the menu system entirely and have a search box in its place. All node pages relating to menu items will then be tagged with appropriate metadata relating to that node. So when a user types in "URL redirect" a drop down will be created with the search results of that query. So the menu is created dynamically. Start typing in a new search criteria, a new drop down appears.

So when modules are created, instead of creating hook menu, we create the hook menu_search or something. We could do something like this.

  function mymodule_search_menu() {
    $menu_search_items['name'] = array(
      'page callback' => 'mymodule_some_view',
      'page arguments' => array('mymodule_admin_settings'),
      'title' => 'item_title',
      'description' => 'description of item',
      'file' => 'mymodule.admin.inc',
      'tags' => 'some, collection, of, tags'; // this added
    );
    return $menu_search_items;
  }

  function mymodule_some_view($args) {
    // ...
  }

So my question I pose. Is this a good idea? Should it be core implementation, or a contributed module?

Comments

a Real problem, the proposal not so sure about

simohell's picture

Hi,

I'm new in this group, but I hope I can contribute something.

The problem is real, but I'm not sure this would be a good system as the main user interface.

In general search box would require more clicks (typing a letter counts as a click) than a dropdown menu. Therefore with some tests it would be bad for usability. Menus also help to remember links not only by what they say but where the links are located.

Also there is a need to know some words/terms which to look for. The technical terms drupal uses can be a bit difficult to many, especially if one is not an english speaker.

There are different kinds of users and different preferences on user interface. I like right-click menus. Many according to my experience find embedded menus very useful, and some power users use direct urls, drush etc.

Search might be very useful for new modules, in a similar way as the Windows highligting of newly installed. But in a long run such interface might slow users down and cause unnecessary cognitive strain.

Combinig a search with user adjustable "favourites" menu might make some sense, but these are just some ideas. What makes sense in the web and what in an application? Which way to go?

a Real problem, the proposal not so sure about

simohell's picture

Hi,

I'm new in this group, but I hope I can contribute something.

The problem is real, but I'm not sure this would be a good system as the main user interface.

In general search box would require more clicks (typing a letter counts as a click) than a dropdown menu. Therefore with some tests it would be bad for usability. Menus also help to remember links not only by what they say but where the links are located.

Also there is a need to know some words/terms which to look for. The technical terms drupal uses can be a bit difficult to many, especially if one is not an english speaker.

There are different kinds of users and different preferences on user interface. I like right-click menus. Many according to my experience find embedded menus very useful, and some power users use direct urls, drush etc.

Search might be very useful for new modules, in a similar way as the Windows highligting of newly installed. But in a long run such interface might slow users down and cause unnecessary cognitive strain.

Combinig a search with user adjustable "favourites" menu might make some sense, but these are just some ideas. What makes sense in the web and what in an application? Which way to go?