SimpleMenu module provides similar (or more-than-related) functionality.
It would be great if those two projects could merge. It is not a good thing to have module duplicates, users get confused, and i think the general tendency in contrib is to join efforts.

(I'll post a similar suggestion to the SimpleMenu issue queue)

Comments

yched’s picture

Simple Menu issue : http://drupal.org/node/109296

sun’s picture

Assigned: Unassigned » sun

AlanBurke wrote me this hint to SimpleMenu via email, too. But there are major differences between these modules.

SimpleMenu renders a whole menu as a dropdown menu and it is no matter which menu, whereas Administration Menu searches for the 'administer' menu item, recurses into any of its children and builds a new menu tree - including any menu paths that are local tasks which you would not be able to access without visiting the parent's page usually. This behaviour is absolutely needed by site administrators since you get an immediate overview and immediate access to any administrative site functions.

So with SimpleMenu you are able to render a dropdown menu that may be very usable for theming and user experience. But Administration Menu is not intended for users, it is only for site administrators.

The main motivation for Drupal Administration Menu was to mimic a site backend navigation, that many other content management systems provide. Especially people coming from Joomla/Mambo and others are used to such menus and feel a bit lost with the usual, expanding 'administer' menu item with hidden site administration functions which you need to know inside out to administer your site completely.

After several times of updating the project description page for Drupal Administration Menu I'm still wondering if the project description is clear enough and especially stating the facts I've tried to describe above...? Your feedback is greatly appreciated!

yched’s picture

Sun, thanks for taking he time to answer.
I had read the project's page description, and was aware of the differences between both modules.
These differences do not minor the fact that both modules provide the same functionality, and they would be better merged.

There are too many modules in contrib, and many of them are "almost-duplicates". It adds confusion for users (which one should I use), and scatters developpers / patchers / reviewers / future maintainers efforts instead of joining forces. The 'course of history' is module consolidation.

That's of course my opinion (but not only mine), and in the end it's of course your call and m3verick's :-)

And - have I mentioned that ? - thanks for this very useful module !

sun’s picture

I can see your motivation, since I'm always thinking the same way. But in this case I have problems while thinking of combining both modules to one. If there was a vision, how both modules could be built and arranged to exist in one, following this path would be easier. I could think of an additional settings page, where one would enable/disable the Admin Menu and maybe choose the used behaviour (CSS or JQuery), too. But there definitely would have to be separate settings for Admin Menu and other dropdown menus (SimpleMenu) on a site because of the special functionality of Admin Menu (described already above).

Any other suggestions or vision?

m3avrck’s picture

Ok so yeah :-)

Yes, there are similarities between SimpleMenu and Drupal Admin. However, the main difference is that SimpleMenu allows you to use *any* menu you want, whether it be a custom menu or selecting a single menu (now it supports sub menus too).

I'm not sure how a merger would work--unless there were some options to configure it to work how SimpleMenu works or turn on others to work like Drupal admin. In that case, the module could be used for other purposes than just admin work.

Sun, perhaps we can chat about this on IRC or AIM/GTalk later this week? Feel free to use my contact form when ready and let me know what works.

I agree that duplication sucks :-)

sun’s picture

Title: Merge with Simplemenu ? » Drupal Menu Rendering API
Version: 7.x-3.x-dev » 5.x-1.x-dev
Component: Miscellaneous » Code
ray007’s picture

subscribing

sun’s picture

My open thoughts on this:

Drupal Administration Menu v2 has been enhanced with features that are "more than a menu". I had always in mind to move admin_menu in this direction, i.e. a nifty, small control panel that simplifies administration of Drupal and basically works for any Drupal way. The goal is to expose hidden information and provide fast access to administrative and development-related tools.

However, if we take a step back and look at admin_menu again, then admin_menu consists of two components:

1) Building a hierarchical item list that contains some special HTML items.
2) Rendering that hierarchical item list, taking some special HTML items into account.

There are already some requests to enable/disable or alter certain features of admin_menu. For example, the latest one suggests to allow enabling/disabling the margin-top stylesheet that is applied to the BODY. Others proposed to have icons in the top-level items, different colors, aso.

Most of these theme-related customizations would require changes to admin_menu.css. As you know, there are multiple options to allow such customizations:

a) Tell users to alter admin_menu.css, which is a bad idea.
b) Add a module settings page, and add some CSS classes to admin_menu's output and admin_menu.css that get triggered by certain module settings.
c) Add a module settings page, save a dynamic stylesheet file in the files directory, and move some of the stylesheets in admin_menu.css to this new/dynamic stylesheet.
d) Add a module settings page, and dynamically create a admin_menu.css stylesheet depending on module settings in the files directory that contains all stylesheet rules for admin_menu, allowing most flexible customizations.

As you can see, c) and d) are quite similar, and would allow very flexible customizations for admin_menu. Depending on the way admin_menu should be rendered, there also might be changes to admin_menu's JavaScript required.

Now I have to alienate you: sIFR module recently turned into Dynamic Rendering module. It's still in an alpha stage, however, it features what we are talking about here: Conditionally create and save stylesheet and javascript files depending on rendering rules.
All of above mentioned customizations could be accomplished by turning admin_menu into a Dynamic Rendering plugin.

I would not like to create a hard module dependency on Dynamic Rendering. However, support for Dynamic Rendering could be implemented as an optional feature.

Any opinion or feedback is greatly appreciated.

cosmicdreams’s picture

Why not treat the administrative menu as a special case? Keep the default functionality of admin_menu for the "Administration" menu. Then provide the deep inspection for other menus as an option. Implement all this for Drupal 6 and you'll gain the ability where web designers can override the themeing (location, look at feel). Add the ability to put all of the functionality in a block and you'll have a very useful widget to drop into a theme.

sun’s picture

Title: Drupal Menu Rendering API » Drupal menu rendering API
Version: 5.x-1.x-dev » 6.x-1.x-dev
Assigned: sun » Unassigned

I just added http://drupal.org/project/nice_menus to the list of alternate modules on the project page. Heh - well, in terms of potential module mergers, those two are definitely very good candidates ;)

EDIT: erm, Nice Menus and SimpleMenu I meant, of course. ;)

sun’s picture

Status: Active » Closed (won't fix)

While I can see the potential overlap, Administration menu more and more has less in common with other menu rendering modules, mainly from a technical perspective. 3.x will advance on what we are used to currently, investigating areas no one ever thought of.

The entire functionality will be even more closely tied to Drupal core's administrative menu and module system, which also relies on a fair amount of laws that are true for both systems. Other site menus have different requirements (such as page-specific items, visibility, etc).

Because of that, I would still like to see a menu rendering API, but that will have nothing in common with Administration menu. cwgordon7 already started with a new project, and he may be or may be not aware of this issue: http://drupal.org/project/menu_displayapi