Sorry if this has already been answered somewhere and I didn't find it. I'd like to know if there are plans to port Hierarchical Select to Drupal 7. I realize that there hasn't been a stable release yet for Drupal 6, but hopefully there will be a Drupal 7 version.


Title:Drupal 7 PortDrupal 7 port

The Drupal 6 version is stable, but hasn't had a stable release yet because not all "integration modules" have been ported yet. I'm going to ignore that fact and start making releases.

I haven't begun working on a Drupal 7 version yet. It wouldn't have to change much from the current Drupal 6 version probably.

If you're interested in helping with development, let me know!

subscribing - looking forward to this great module in Drupal 7!
I would like to help with any testing in the future.

Subscribing to this as well. I read some discussion on taxonomy in D7 and the inclusion of HS into core. I guess that isn't happening, but I'd be willing to help test a D7 port of HS.


D7 into core didn't happen because unit tests are required, HS in its current state is too messy and FAPI is not flexible enough to allow for clean code.
Before HS can be in core, FAPI needs to be cleaned up, preferably rewritten. So it's D8 material for sure.

The D7 port should and will be done much faster than the D6 port. At this point I can't guarantee a release of HS for D7 on the day that D7 will be released though …

Anyway, thanks for the volunteering to test! :) I'll definitely need you!

new13.85 KB

When you're ready for help I can use IRC. I tried making HS work in D7, and I got rid of all the installation errors, but I don't know enough about Drupal (yet!) t o make the whole thing work. Most of the work was getting rid of db_result calls. There were some other function calls that were removed in D7, so I updated them as well. I hope the effort was worthwhile, but like I said I don't know much about how it all ties together.

There are lots of errors when loading a page, but I can't figure out what I'm doing wrong.

+1 subscribing, it would be awesome to have a d7 version of HS for testing before Drupal 7 stable is released. Thanks!

I'm just about to hang up my hat. My offer of helping with the testing still stands, but I don't think I've got the skill to code a port.

Why would you hang up your hat? Just wait for the Drupal 7 port to emerge :) If you want it *now*, then I'm sorry, I can't do that.

I mean that I can't figure out how to do the port on my own :) so I will have to wait.

Hello everyone,

Just wanted to share that Drupal 7.0 Alpha 2 has been released (

+1 subscribing

@Wim Leers: With Drupal 7 beta right around the corner, I just wanted to check in and see if you had any updated D7 porting plans.



+1 subscribing

+1 subscribing. Thanks for all the hard work Mr. Leers!

+1 following. Would be sweet to be able to use the linage feature in HS on Drupal 7 among other things.

+1 subscribing.


+1 subscribing


Subscribing …



Looking toward using this awesome plugin!


+1 subscribing Happy to help with D7 testing



Me too... subscribing..

+1 sub

Subscribing and ready for testing.

Category:feature» task
Priority:Normal» Critical

I won't have time for this module during the academic year (which lasts until the first week of July in Belgium), since I'm in my last master year at Hasselt University.

Therefore, this module will not be ported to Drupal 7 until at least July 2011, possibly even September 2011. I'll be doing an internship (as part of my master) in September 2011— November 2011, and with very high probability, I will work on a D7 port of HS as part of my internship.

However, I don't plan on doing a simple port of HS, I plan on doing a full rewrite. HS has become too messy due to its organic (feature) growth. I've said "yes" too often to new features, resulting in the current mess.

I of course understand that many people would like to see a D7 port of HS sooner than that. I welcome patches and volunteers — I'm definitely open to comaintainership :) So, if you feel like you'd like to comaintain this module, please let me know!

really bad news...

We could always go in together and just sponsor someone to do a basic (meaning not a rewrite) port. Then when Wim is able he can create a 4.x branch that is the rewrite.

@kervi: Yeah, well, that's not my fault. I've already contributed many hundreds of hours of my free time to this project.

@that0n3guy: Yep :) And there are a few people around who know HS pretty well, so that scenario should definitely be feasible.

wim, i understand you perfectly. Thanks for all!


I tweeted that Wim is seeking a co-maintainer. Please retweet if you would like to see a straight/simple D7 port of Hierarchical Select sooner rather than later.

Wim; Thank you for communicating this to us so we can help you out.

@Bevan: Good call. I'll re-tweet.

@Wim Leers: You mentioned that there are a few other people who know HS pretty well. Who are those people? If you can provide the usernames, perhaps we can ping them and see their interest in a D7 port.


+1 subscribe.

Having looked at the HS code, a straight port is not a simple operation by any stretch of the imagination.

FWIW, I am looking forward to seeing Wim's rewrite. HS is a great module as is, but you always learn lessons from your initial implementations that pass on to your next.

What are other alternatives for this module in Drupal 7? (while we wait for a D7 version)





Title:Drupal 7 portHierarchical Select: Drupal 7 port

subscribe...good luck with your studies, Wim!

+1 subscribing


How about the port progress?




Assigned:Unassigned» Wim Leers

I've got great news: I've got more time than anticipated and PingV will be sponsoring a basic port, that will include the core HS functionality and Taxonomy integration. This will be delivered by February 11 at the latest.

Hurray! :)

Feeling Great to hear!

Great news!!

Brilliant news Wim, looking forward to test.

Great to hear that!


Thank you Wim! Thank you PingV!


Great! subscribing.




Fyi - content_taxonomy has just released a 7.x too.

Fortunately, that's barely any significant code. It merely adds one setting. It's mostly code to migrate from D6 to D7. Meaning that I won't need to do anything special to support Content Taxonomy. Which I also most definitely won't do. I will avoid Content Taxonomy support like the plague.

Great news! @Wim Leers, please, could you explain a bit summary about things that you wanna rewrite? Suppose architectural descriptions is enough.

No architectural changes for now. This will just be a port to get HS up and running ASAP in D7. Architectural changes will be for the complete rewrite that will hopefully happen in October/November of this year, during my internship :)

@Wim Leers, I mean what changes are planing in architecture? If you explain your thoughts it could be easy to start work on rewrite for volunteers and others to plan usage of this great module

In relation to #67, does this mean that HS can't be used in cck in D7, as currently being done in D6 via content_taxonomy? Please confirm. Thanks

For details about HS 4, please see #1052840: HS 4 roadmap. Regarding Content Taxonomy support in D7: Content Taxonomy will no longer exist as such: these fields will be migrated to Drupal's core Taxonomy fields. Hence they will be supported, since CCK is now effectively in core.

Standing by...


new22.27 KB

Oops .. I was starting to port this over but got pulled off it. I'm guessing that you've probably got a lot of work/changes done by now but I've attached the changes I made as a patch, just in case they come in handy.

I upgraded most of the install and uninstall code to use DB:TNG .. and I can't really remember what else. This is against commit a249f45714d6eef338b43100cf482a25e65a7fdc from Fri Oct 8 16:04:55 2010 +0000 and includes the patch from JohnWoltman on January 23, 2010 at 4:06pm.

Alas, I'm guessing it's mostly useless to you now. : / It was in no way working yet.

Does not touching Content Taxonomy support meant that it wont support Taxonomy Fields in D7 core? That seemed like the mostly likely thing to port over to get the D7 taxonomy stuff working.

I'm afraid that's useless now, yes.

And please see, Taxonomy Fields in D7 core will definitely be supported. That just means Content Taxonomy support can finally die, since Content Taxonomy also won't exist in D7.

See, as some may have already seen in my tweet. Details will be provided when the patch is posted.

Making progress! :)

Wonderful news Wim! I'll send a donation your way soon. Thanks for the nice surprise :)

Great news. Looking forward to using this in D7. Thanks Wim and thanks PingV!


any update?






Status:Active» Needs review

A few days later than promised, but here it is: I did send the result (a zipped variant of this very commit) to PingV on Friday and then took a much needed few days off. I was exhausted, because the port was far from trivial — it was far more complex than I anticipated. As you will see, Drupal 7 brings major improvements, but they are very often severely underdocumented (if they're documented at all).

Please do read the commit message. More detail is provided in the included TODO.txt file.

I'm also pleased to announce that PingV will also sponsor the "dropbox" support for Taxonomy! I will be working on that, starting tomorrow.

As for the other functionality: it is right now unclear how/when/by whom that will be implemented. We'll see how things work out, and I'll keep everybody up-to-date through this issue, as always.

In your testing, please only test what is not marked as still to be done in the TODO.txt file. E.g. if you complain that "create new item" support does not yet work, well … that's not quite helpful. That would only add noise. So please focus on what has been ported and is supposed to work, but doesn't.

A few happy notes:
- HS no longer has to use its own form cache, thanks to improvements in Drupal 7's Forms API.
- HS no longer has to use hackery to be able to render an updated HS in an AJAX callback, thanks to improvements in Drupal 7's Forms API.
- You will most likely never see "Invalid response from server" errors due to other modules not properly including files, since they must now use form_load_include().
- HS now needs to use less theme overrides for rendering the form elements it uses, thanks to the introduction of #theme_wrappers in Drupal 7.

I.e. a lot of code has been thrown out and a lot of problems will now be avoided thanks to the improved infrastructure that Drupal 7 provides. In HS 4, we should therefore be able to focus even more than I anticipated on a better architecture and significantly better performance!

d.o double posted my last follow-up.

Great news! Thanx Wim for all your hard work. A well-deserved weekend off. Hope you rested as mush as possible ;)


@Wim: ...PS: you double-posted (#87 & #88), but I'm sure you'll see that. The projects front page says:

...will be available by February 11, 2010...

...I'm sure you meant 2011, but then again this whole comment is not required after the commit ;)

@klonos: is to blame for the double post — nothing I can do about that. You're right about that error on the project page — I've fixed that by linking to follow-up #87 :)

Thanx for the prompt reply Wim. I know about d.o 'hiccups', but I just thought you might want to edit the second post and delete its contents - just to keep this issue tidy(er). Waiting for the system to generate the 7.x-3.x-dev (in an hour or so I guess) ;)

Version:6.x-3.x-dev» 7.x-3.x-dev

For everyone subscribed here: The 7.x-3.x-dev is out! Start testing people ;)

@Wim: I went on and switched all issues tagged with 'HS4' to the 7.x-3.x-dev version (since there's no 7.x-4.x branch yet). Thought you'd do it yourself at some point, so I did it for you as a thank you for all your hard work (+ it was a graceful way of me subscribing to all current HS4 issues, so I am kept up to date as new features are added and need testing).

PS: Hope I didn't make a poop and caused any mess. Let me know if so and I'll fix it back.

Thanks klonos :) I was first shocked: "WHAT THE FUCK HAPPENED HERE?" but then I saw it all made sense. Thanks! :)

In case it's not yet clear, Taxonomy Views integration has not yet been ported (was reported in #1062278: Fatal error: Call to undefined function _hierarchical_select_setup_js() i, but as per #87, it should be clear this has not yet been ported…).

Nice work, Wim!

wim, thank u for the explanation.

please, tell me, are u going to make a port of Taxonomy Views integration now, or you going to postpone it until september?

Dropbox support has now also been ported, thanks to PingV Creative! See the commit:

I've tagged the 7.x 3.0 alpha 1 release:

Subscribing, looking forward to HS4 this fall.

All the best to you with your Masters, Wim :)

Hi. Had a quick look at the new port. I could not find the way to limit the "Depth of taxonomy tree" which we have in D6 version. Is this not yet ported? Please confirm. Thanks.


Title:Hierarchical Select: Drupal 7 portHierarchical Select module Drupal 7 port
Issue tags:+D7 porting, +port to d7, +d7 ports


Tried to theme me out with css of things this module can do == alot of messy css code... So glad I found this module....




It's been 2 months since alpha1 was released. ANy updates on the 7.x work?


Hi, can anyone please tell me where best to get support for this module? Are the general forums a good place? I am new to using this module and am uncertain how to proceed past installation. Both the core module and the HS Taxonomy module are installed and enabled, but beyond that, I do not know how to get the select boxes to show up on a node. The README.TXT file, step 3 of 3, says:

3) If you want to use it for one or more of your vocabularies, go to
admin/content/taxonomy and click the "edit" link for a vocabulary. Now scroll
down and you'll find a whole range of Hierarchical Select settings. All
settings are explained there as well.

I believe however that this is for D6. I have also found the settings I am interested in from the demo page (the first one on the Taxonomy tab) but am not sure what exactly to do with it. Basically, I just want to use Taxonomy as my source for my hierarchy, and render the drop boxes (starting with just the first and then using AJAX to populate each child as selections are made) onto a page whereby I can have users pick their way through the hierarchy, ultimately arriving at a specific set of selections which I can then use to point them to a specific URL.

Can anyone provide any pointers? I am pretty good at figuring things out, if I could just be given some sort of a starting point.


Just encountered a bug in hierarchical_select.module 7.x-3.0-alpha1 in the function _hierarchical_select_hierarchy_enforce_deepest on line 1937.

After checking I discovered that the bug is present in the latest dev as well (line 1936 in dev)

The error occurred during a request for child fields.

The error was message was

Strict warning: Only variables should be passed by reference

using php 5.3.5
I was able to fix the error by changing line 1937 from:

$first_child = reset(array_keys($children));

to the lines:

$keys = array_keys($children);
$first_child = reset($keys);


Any new dates of the next release? Still postponed for September 2011?
The "add term option hierarchically" like we had on D6 would be so great. Didn't find any other module doing that.







I hate bugging you Wim with "spam" posts, but... any updates on this?

has anyone seen this issue?
Any bright ideas?


Status:Needs review» Closed (fixed)

I can now see that I didn't make this very clear, but:
• please use separate issues from now on to continue the further porting of HS to D7 — e.g.: #1068462: HS Taxonomy: "entity count" support — sponsorship needed, #1068366: Port "save lineage" functionality to D7 + support for multiple parent taxonomies
• please create separate issues from now on to report bugs in the existing port (but: search before you create a new one, the many duplicate issues overwhelm me and are a waste of time, which means that bugs are fixed slower for everybody) — e.g. #1068070: When multiple HS widgets exist on the same page, and #process order != displayed order: Drupal's JS setting handling breaks HS

So, in summary: please *don't* use this issue anymore for *anything*. It's so incredibly long that it's impossible to work efficiently here. Use separate issues, each with a small area of focus.

You can track what has been ported and what has not yet been ported via the TODO.txt file. This will gradually be updated (and I'll add links to relevant issues) as we make progress.


Hey Wim, you might wanna update the issue's summary (by copy-pasting your previous post). I'd do it in order to take some of the burden off of you, but I think its better if the last update had your name (since the "I can now see that I didn't make this very clear..." part has kinda a personal tone and all I mean).