HSLayers (Help Service+OpenLayers) combines capabilities of ExtJS and OpenLayers and several helper scripts, to truly Web GIS applications. Development has been started in 2007 and It has been open sourced after 2 years of development, in 2009, and released under conditions of GNU General Public License 3.
HSLayers.Control.LayerSwitcher is able to display layers in hierarchical structure. It introduces new attribute of the layer – group – which contains the title displayed in the tree structure. Name of the layer is taken, if there is no group attribute of the layer. Layers are merged into one tree node, if there are several layers with same group name (or name). Layers will be switched on/off without any further action from user, if they have min/maxScale attribute set. That's, why the group attribute of each layer is introduced – one tree node in the layer switcher represents one or more OpenLayer.Layer instances.
Another feature of the layer switcher is the capability of creation of hierarchical structures. Several nodes will be created, if the group name contains slash (“/”) mark. The layer switcher creates hierarchical structures based on previously described HSLayers.Layer.MapServer attributes.
Drag'n'drop capabilities is another feature of layer switcher. This feature allows user to customize the layer order and menu, with Source URL, Metadata URL, opacity settings and SLD settings.