Path

ez projects / [ajax-treemenu]_on_demand_t...


[AJAX-TreeMenu] On demand tree menu

UNIX name Owner Status Version Compatible with
[ajax-treemenu]_on_demand_tree_menu Daniel Beyer stable 1.0.7 (latest stable) 3.6.1 and up

This extensions allows using the very helpful tree menu in eZ publish
(admin and user site) with thousands of content objects. Menu entries
are loaded dynamically without reloading the page. If the browser
doesn't support AJAX or if JavaScript is disabled, loading times will
still be considerably reduced due to a fallback solution which loads
only the subtree needed.

The JS-enabled tree menu which came up with eZ publish 3.5 has improved
the usability of content browsing enormously. Howewer, having 1000+
objects in the menu results in a considerably lower performance due
to two reasons: First, eZ publish is slowed down while generating
pages, second, slower computers show inacceptable ressource
consumption while processsing the JavaScript. We tested it with
approximately 1000 objects on a Dual Xeon/2GB RAM on the server's
side and a PII 300MhZ on the client's side which took 15 seconds to
generate the tree and about the same time for the JavaScript to
determine which nodes to open and which to close.
We specified the guidelines for a new AJAX-based tree menu as
follows:
Goals:
- Load the subtree only as far as needed
- Full integration of all functionalities which the standard tree menu
offers
- Do NOT alter the eZ publish source but make a PnP extension
instead
- Provide a fallback for browsers that do not support AJAX or
JavaScript
- Avoid triggering redundant XML-HTTP-Requests. If a subtree is closed
and opened again, no new request should be necessary. The content
already loaded should be cached somewhere.
Method of resolution:
AJAX combines JavaScript and a server-based operation (here: PHP) in
order to eliminate the need to reload a complete page for displaying
new content. Therefore it is possible to load the tree menu only as
far as displayed. Opening a subtree only triggers loading the object
titles below the specific node which in most cases will take no
longer than 1 second.
Source of information:
-: Lots of information about the XMLHttpRequest
-
Features:
- Full replacement of the existing tree menu without any cut back
- Handle an unlimited number of objects
- Fallback to a smart solution even if JavaScript is disabled or if
the browser lacks a proper AJAX implementation
- Heavily tested and in productive use on some large customer
installations since September 2005
- Can be integrated outside the admin interface, too (eg. a public
website)
Additional feature:
The standard tree menu offers the possibilty of selecting displayed
objects by their classes. As we were forced to establish various new
classes in order to meet customer needs, we needed the possibility of
excluding specific classes in the tree. So even if the use of AJAX is
not desired, the possibility of negatively determining the objects
displayed could be useful for people implementing the content
tree.
Setup notes:
There is a file "INSTALL" coming with this contribution, containing
instructions how to install the extension.
Translations:
This contribution makes use of the translation engine of eZ publish.
Current translations are:
-Dutch (dut-NL)
-English (eng-GB, eng-US)
-French (fre-FR, fre-CA)
-German (ger-DE)
-Norwegian (nor-NO)
-Polish (pol-PL)
-Portuguese (por-PT)
-Spanish (esl-ES)
If someone knows what "Please wait..." means in other languages, just
give feedback - it will merge in future versions.
Feedback:
There is a forum thread at ez.no were you can report any notes, bugs,
translations, suggestions, etc.:
Development:
This extension can be found on pubsvn.ez.no (see external url above). On
this page right here you will always find the last stable version. On
pubsvn the current development version is placed (which might be kind
of unstable).
Daniel Beyer
_________________________________
Young Media Concepts GmbH
Taegerwilen, Switzerland
www.ymc.ch

Screenshot

This project has no reviews yet. Be the first one to review it!

No forum messages yet.