This project is read-only.

Hierarchical menu: breadcrumbs and other new features

Topics: Announcements, General
Feb 16, 2011 at 4:34 PM
Edited Feb 16, 2011 at 4:35 PM


Just a small announcement:) I just added to the Gallery a new release of Hierarchical menu. This version adds lot of new features (breadcrumbs, recently seen widget and such). I've posted more info here.

Cheers, Piotr

Feb 16, 2011 at 8:37 PM

Thanks Piotr, very nice!

Feb 16, 2011 at 8:56 PM
Noice !
I think they should rename Warsaw to pszmyd. BTW, are camels prolific in Warsaw ? ;)
This is top stuff bro. Thankyou.

Sent from my iPhone

On 17/02/2011, at 3:34 AM, "pszmyd"<> wrote:

From: pszmyd


Just a small announcement:) I just added to the Gallery a new release of Hierarchical menu. This version adds lot of new features (breadcrumbs, recently seen widget and such). I've posted more info here.

Cheers, Piotr

Feb 16, 2011 at 10:21 PM

Yes, and Polar bears too;) Took that picture on vacation in Turkey a year ago and still like it because of the funny look on a camel's face:D

Thanks for the good words guys!:) I hope you find the module useful.


Feb 16, 2011 at 10:46 PM

The module is extremely useful. In fact it is so useful that I hope it makes it into the core distribution as a CMS without hierarchical menus is extremely limited. I would consider it a must have feature.

PS: Did the camel spit at you?

Feb 16, 2011 at 11:00 PM

Good to hear that. It would be great if some day it would enter the core:)

Afair - no, I think I caught him in the middle of a dinner:)

Feb 17, 2011 at 9:54 PM

Thank you for the module.


Feb 18, 2011 at 6:09 AM

Very nice Piotr, really good module, thanks for the contribution!

Nice photo too, glad you enjoyed the vacation.

Feb 19, 2011 at 2:51 PM

You're welcome! The module needs some more tweaking though (custom menus feature), which I'm trying to do right now:)

May 19, 2011 at 9:01 PM

I have been experimenting with this module and ran into some issues and I'd like to start over.

Is there a way to uninstall this module and have it clean up the database, modules folder, etc? I tried the 'obvious' thing of looking through the Orchard UI but there doesn't seem to be any uninstall module option. The command line uninstall said it couldn't find the module...but maybe I didn't get the syntax right.


May 19, 2011 at 9:46 PM
Edited May 19, 2011 at 9:51 PM


You have to enable Orchard.Packaging first (by calling feature enable Orchard.Packaging from the command line). After that you'd be able to call package uninstall <packageId> command (package uninstall Orchard.Modules.Szmyd.Orchard.Modules.Menu in the case of Advanced Menu). Note the Orchard.Module prefix to module name. AFAIK the package uninstaller does not drop any tables created by that module, so you would have to do that by hand.

The best way to completely uninstall a module would be to:

  1. Delete the appropriate module folder from <Orchard>/Modules folder (or use the package uninstall command).
  2. Drop all tables with names starting with the Module name (dots are replaced with underscores).
  3. Delete the record containing info about data migrations from table <Prefix>_Orchard_Framework_DataMigrationRecord. You should delete the records with DataMigrationClass starting with the module's name, eg. Szmyd.Orchard.Modules.Menu.Migrations for the Advanced Menu migrations. It will ensure that when you install the module next time, the whole data migration will fire (starting from Create() method and not from UpdateFromX() method, which would be an incorrect behavior after complete uninstall).

At this point (I guess whether you uninstalled by hand or by a command) you would have the module completely uninstalled, although you will be left with empty ("zombied") content items you created, which were provided by the module (like Menu, SimpleMenuItem, TemplatedMenuItem, MenuWidget, StyledMenuWidget in Advanced Menu). It's best to delete them, as it's highly possible that they'd mess something up in the next installation. To get rid of those you can do:

  1. Take a look into <Prefix>_Orchard_Framework_ContentTypeRecord table and note Ids of the corresponding content types.
  2. For every Id, delete all records with ContentType_id equal to that id from <Prefix>_Orchard_Framework_ContentItemRecord table (the simplest way - issue an SQL statement like "DELETE FROM <Prefix>_Orchard_Framework_ContentItemRecord WHERE ContentType_id IN ('Id1', 'Id2' ...)")

And now you are free to install the module again.


May 19, 2011 at 10:41 PM

Thanks, that seems to have worked. It is more steps than I expected though...not hard, but more involved than I would want my client to do without my help!

May 20, 2011 at 11:45 AM

You shouldn't really be letting your clients install or uninstall modules - there are too many possible conflicts and errors that could arise which ultimately you'd have to sort out ;)

May 23, 2011 at 2:01 AM

I agree with Pete - module installation/uninstallation of should be kept out of reach of "ordinary users". There are lots of things going on in the process which can ultimately bomb your Orchard instance... It'd be better to deliver a preconfigured package with needed modules in place and add the necessary customization options via module, I guess.

May 23, 2011 at 9:32 PM

Don't forget cache.dat on App_Data folder. Your features declaration is caching there.