New Hierarchical Menu coming soon - features

Tags: orchard, menu, module

I’m working hard to deliver the next release of Hierarchical Menu, which will arrive soon (as the deadline for OMC is nearbyPuszczam oczko). I’d like to list some new features most of which many of you asked for:

  • Custom menusthe ability to create your own menus from Dashboard, in addition to existing, hardcoded ones - “main” and “admin”
  • Pre-filling the menu with existing items – it will allow you to pre-fill the custom menu with existing routable items in one click (and save time). You could further customize the menu (delete, modify items) as you wishUśmiech
  • New, styled and scripted menu widget – in addition to the current plain one. Many of you had problems with proper styling the hierarchy, so I added the pre-configured widget with some GUI-based display customization properties. It’s intended for those of you who don’t want to deal with styling and scripting.
  • Main menu as a widget – the new release will replace the hardcoded main menu with a widget, so you’d be able to customize/remove/replace it from Dashboard.
  • Flexible menu localization – you’d be able to specify the menu item names for different cultures.
  • Menu item visibility – allowing you to state whether the item should be visible/invisible when displaying in menus. This is mainly for breadcrumbs widget purpose so you’d be able to hide item in the menu (to keep menu concise), but make it show in the breadcrumbs path. I’m thinking about this feature right now whether to add it or not. Why? There are some issues:
    • What to do with child items?
    • Would it bring the unnecessary complexity and further problems? This can be achievable by just having two defined menus – one for display (shorter) and one for breadcrumbs (full). I guess this is much cleaner though.
  • Tweaked “Recently seen” widget
    • Restricting the number of items displayed
    • Option to display the number of views
    • Scoping the view counter used – you’d be able to choose one of the following: per-session, per-user and per-site view counters
  • Tweaked “Menu” widget
    • Restricting levels displayed per-widget – as opposed to per-menu atm,
    • Choosing the root node for menu display – you’d be able to select one of the existing items as the display root to restrict the displayed menu to only the subset of the whole (the selected item’s children).

I’d like to thank all of you for a lot of feedback on using the Hierarchical Menu module! It made the feature selection for the upcoming release much easierUśmiech

My special thanks go to: Olin, Skywalker, tobias and John Tarbox for the very elaborate feedback on the subject.

Cheers!

21 Comments

  • pszmyd said

    @Ivan: It will be in the upcoming release. I'll such possibility from the GUI.

  • springy said

    Will it (and does the current one) work with the integration branch (including the latest "iteration")?

  • pszmyd said

    @springy: Yes, I want to make it work wit the latest available Orchard bits.

  • Pete Hurst said

    Hi, great module (really, many of these features should be core features of Orchard!)

    I have a comment regarding "menu item visibility" and other concerns.

    I think we have to realise there is often a huge separation between the content of a menu, and the total sitemap of a website. Ideally a breadcrumb should show you where you are located within the sitemap, not just one specific menu.

    I think the Orchard Navigation module needs a certain overhaul to delineate these concepts; so there's a general hierarchy defined by each module just as they generate the Admin menu, and this can fed into generating a SiteMap.xml and so forth. Then any number of named menus can be built statically by adding nodes from the hierarchy.

    Your module looks like it will address some of these issues but perhaps there are core Orchard problems to solve as well?

  • springy said

    "@springy: Yes, I want to make it work wit the latest available Orchard bits."

    Will it break 1.0 compatibility then? There are some string/LocalizedString changes inside the core navigation module.

  • pszmyd said

    @springy: I'm aware of the changes, but my goal is to make it work with both versions. The string/LocalizedString stuff is mainly about translating static content, so it won't affect the menu module much. And in places where it would do - I'll do me best not to break compatibility.

  • springy said

    I don't know whether it's already on the feature list: Will or should the breadcrumb control follow CommonPart-Container nestings so you don't have to add blog posts to the navigation?

  • pszmyd said

    @springy: Yes, it's already there. Breadcrumbs will follow any containers (lists, blogs, and so on) and show appropriate link to the parent container so adding to the navigation is not necessary.

  • Olin said

    It look like very amaizing job !!

    As Pete said before it should be core features of Orchard !

    I'm really excited to look at it :D
    Concerning most viewed pages and other things like that, will you do something ? :)


    Thanks a lot for your work !

  • Olin said

    Sorry for double posting, but I have a question :

    Will the module work with CulturePicker from Ermakovich ?

    because actually, i dont understand how your two module work when they are used at the same time.
    the GetNavigation is from each module are used one after another?

    reading source code i think your two modules add things in "main" menu

    thanks !

  • pszmyd said

    @Olin: Most viewed pages - yes - this will be achievable by recently viewed widget with choosing "per-site" view counter.

    About how the menu works. Basically the whole menu system consists of 2 types of objects: INavigationProvider and INavigationManager. The second one fetches all instances of the first, merges their GetNavigation outputs. Next, this data is used to fill the menu-rendering shape.

    My module overrides the default INavigationProvider for main menu to build hierarchy (the default one returns only flat list...). So if the CulturePicker module also contains the INavigationProvider implementation - outputs of both will get merged.

    And btw - merging items happens level-by-level and takes into account the menu item names.

    HTH

  • springy said

    "merging items happens level-by-level and takes into account the menu item names"

    With menu item names you mean the (translated) caption? If I create a module which adds to the settings admin menu and my translation agency will translate "settings" to something different than the Orchard team already did then I'll end up with 2 settings menus inside the dashboard.

  • pszmyd said

    @springy: I don't exactly remember - have to look in the code, but I'm pretty sure it takes the default value for the translated string, passed at creation time.

  • Olin said

    Hello pszmyd !
    How are you ?

    Have you a date for the next release ? I'm really excited to test it and to use it on my orchard website !

  • pszmyd said

    @Olin: In couple of days. I was busy creating a layouting platform for Orchard which I needed for work (I'll announce that tomorrow, too)...

  • Olin said

    Arfff ^^

    Hope that it will be Released this week end !
    Thanks again for your job on orchard!!

  • Olin said

    Have you some great news for us ? :)

    PS: why you website is sometime offline (are you hosting yout website at home?^^)

  • pszmyd said

    Hi!

    I'm now working hard on it (had to focus on other work for last days/weeks...).
    Site runs on a ded server:) I had some issues with disks (one of them was down and had to replace it), unfortunately the box doesn't support hot-swapping:/

    Cheers

  • jkresner said

    Hi, I noticed after installing the module, checking the box "Add to main menu" when you create new content no longer works. Though it's easy to manually create menu items to get around the problem, it would be cool if this got fixed in your next release. Thanks for the great module!

  • Olin said

    Hello again !!
    How are you ? And what about your new module ? I really need it that's why i'm waiting and arrasing you :)
    Have you a release date ?
    Today ? :p

    Waiting your response ! :)

Comments have been disabled for this content.