Hierarchical Select

Wim Leers - September 4, 2007 - 10:43
Hierarchical Select

Hierarchical Select 3 RC1 available!

Currently version 3 of this module is in development. The three major changes you can expect:
✓ scalability issues have been fixed (The entire rendering process has been rewritten to use the Forms API, which required backporting features available only in Drupal 6. The CSS and JS have been rewritten almost completely as a result of this.)
✓ perfect graceful degradation (Compare JS enabled VS JS disabled. This is actually just a byproduct of the above change.)
✓ ability to create new items in the hierarchy (demo)

Other changes:
✓ more granular control over Views exposed filters (for both the Taxonomy and Content Taxonomy implementations)
✓ Hierarchical Select for menu and book parent selection
✓ Hierarchical Select in the term/forum add/edit forms
✓ generic Hierarchical Select 'flat list' implementation, which allows you to use Hierarchical Select's dropbox for a flat list of options
✓ enhanced configuration form (more intuitive, and with a preview)
✓ abstracted configuration form, to prevent duplicate form code for multiple modules
✓ overview of all Hierarchical Select form item configuration forms
✓ display number of matching nodes
✓ actual CCK widget for content_taxonomy (already takes advantage of the abstracted configuration form)
✓ Views exposed Taxonomy filters: supporting the **ALL** option
✓ remove dependency on jQuery Interface
✓ if available, use HTML 5 client-side database storage to reduce the number of queries to the server
✓ trigger JS events to allow for advanced interactions
✓ allow to set #size (like the Finder's Column View)
✓ Flat List implementation: new mode that doesn't support hierarchies, but does allow usage of the dropbox
✓ much improved documentation

Hierarchical Select for Drupal 6?

Hierarchical Select will be ported as soon as version 3 is ready for Drupal 5.

Description

This module defines the "hierarchical_select" form element, which is a much enhanced way for letting the user select an option in a hierarchy. Out of the box, this module implements the hierarchical_select hooks for the taxonomy (which automatically includes support for the forum module), content_taxonomy and subscriptions_taxonomy modules. It also converts hierarchical vocabularies that are used as exposed filters in any View to a hierarchical select.

Any module that uses a select form element, of which the options are ordered hierarchically, can take advantage of this new form element. Especially when there's a deep hierarchy, or when there are a lot of options in each sublevel, this form element greatly simplifies the user's search for the right option.

Hierarchical Select has the ability to save the entire lineage of a selection or only the "deepest" selection. You can configure it to force the user to make a selection as deep as possible in the tree, or allow the user to select an item anywhere in the tree. Levels can be labeled, you can configure limit the number of items that can be selected, configure a title for the dropbox, choose a site-wide animation delay, and so on.

The Taxonomy implementation of Hierarchical Select can be configured per vocabulary: it can be turned on/off and you can take advantage of all features mentioned above.

Dependencies

Integrates with

Sponsors

(Sponsors of version 1 no longer listed.)

Author

Wim Leers

The author can be contacted for paid customizations of this module as well as Drupal consulting and development.

Releases

Official releasesDateSizeLinksStatus
5.x-3.0-rc12008-Jul-1670.28 KBSupported for 5.xThis release is supported but is not currently the recommended release for 5.x.
5.x-2.22008-Apr-1529.75 KBRecommended for 5.xThis is currently the recommended release for 5.x.
Development snapshotsDateSizeLinksStatus
5.x-3.x-dev2008-Jul-2272.61 KBDevelopment snapshotDevelopment snapshots are automatically regenerated and their contents can frequently change, so they are not recommended for production use.
 
 

Drupal is a registered trademark of Dries Buytaert.