[AJAX-TreeMenu] ezodcsm extension discussion

Author Message

risto CMS user

Saturday 25 March 2006 5:03:55 am

I can't get this up and running om ez 3.6.6

anyone know of bugs?

risto CMS user

Monday 27 March 2006 12:00:16 am

Im getting these errors:

Missing function definition file for module: odcsm
Cannot execute module 'odcsm', no module found
Cannot execute function 'fetch_open_nodes' in module 'odcsm', no valid data

Paul Forsyth

Monday 27 March 2006 5:38:00 am

Does your user have permissions to use that module? The admin should by default.

Stig Aune

Monday 27 March 2006 5:46:04 am

Does anyone have a clue as to my problem with the missing context sensitive menus as described earlier? I am running eZ 3.7.4.

Paul Forsyth

Monday 27 March 2006 6:00:20 am

Are you seeing any javascript errors? Which browser are you using?

Stig Aune

Monday 27 March 2006 6:10:53 am

I am running IE 6.0 on Windows. Java is ver. 1.5.0. There are no error messages as far as I can see, the menus just dont pop up. If I deinstall ezodcsm, the popup menus work right away...

:-(

Paul Forsyth

Monday 27 March 2006 6:14:34 am

can you try firefox? it has a much better javascript interpreter which will show errors.

once installed bring up the javascript console ( in tools ). clear anything in there and then reload your page.

hopefully it will spot something.

Stig Aune

Monday 27 March 2006 7:45:31 am

Thank you for your reply, Paul

I have now tried with FireFox. Unfortunately, there is no error message in the Javascript Console

Could it be that ezodcsm is incompatible with either eZ 3.7.4 or Java 1.5.0?

Paul Forsyth

Monday 27 March 2006 7:53:52 am

I havent tested it myself with 3.7.4 im afraid. I'll try to test myself shortly.

Im puzzled by your use of java. It doesnt require java. Are you confusing java with javascript?

Stig Aune

Monday 27 March 2006 8:00:40 am

Paul writes:
Are you confusing java with javascript?

Yes, I am... ;-)

Daniel Beyer

Monday 27 March 2006 1:03:56 pm

Hi Stig,

I haven't tried ezodcsm on 3.7.4, too. I'll check this out as soon I find the time - so hang on...

Greetings, Daniel.

Daniel Beyer
_________________________________
YMC AG
Kreuzlingen, Switzerland
web: www.ymc.ch
____________________________________

James Robertson

Tuesday 04 April 2006 8:02:53 pm

1. Great work Daniel :-) This extension is a great improvement on the built-in eZ publish functionality, which is next to useless for medium to large sites.

2. It would be great to have a separate forum to discuss this extension, as there are a lot of threads here. [Is anyone going to help poor Bobo?]

3. Seems to be an incomparability (bug) with site.ini setting [TemplateSettings]:Debug. [I have this enabled for all the development copies of our eZ publish sites.] When the '+' button is clicked nothing happens. Unless [TemplateSettings]:ShowXHTMLCode is also enabled, in which case I see "extension/ezodcsm/design/admin/templates/contentstructuremenu/show_dynamic_content_structure.tpl' in place of each menu object that is a child of the object for which '+' was clicked.

4. Regarding your post dated Wednesday 02 November 2005 11:43:51 am: All your options sound excellent. I will soon be needing to implement something along the line of the third option, "Adding an logic that can be configured to hide nodes in the tree on specific criteria". I will probably need to block a list of specific node ids as well as certain classes.

I also very much like the idea of virtual folders (eg. grouped by first letter in title) for long lists of objects. Need to make it as clear as possible (visually) that these are virtual, otherwise the poor site admins/webmasters will get very confused with apparent difference in content hierarchy.

David Heath

Wednesday 05 April 2006 4:13:43 am

Hi,

I have been working with Paul Forsyth at VisionWT to make some improvements to the dynamic menu, as follows:

1. implemented "virtual folders" based on the article published date. This give a significant performance improvement for nodes which contain a large number of items. We have tested this with a node containing 1000 items, the dynamic 'expand' operation takes no more than 2-3 seconds irrespective of the number of child nodes.

2. implemented other performance improvements. We noticed that the original code would fetch the entire tree even when it is not needed (using the content_structure_tree() operator). This incurred a big overhead with large trees. We have re-implemented this using standard fetch(content,list,$nodeid) function to only get the nodes required.

We are still conducting a final round of testing on the menu, but hope to release the code to pubsvn soon (within the next week). At which point we would welcome any comments and feedback.

You can see some screenshots of the menu in action here:

http://davidheath.org/visionwt/ezodcsm-pleasewait.png
http://davidheath.org/visionwt/ezodcsm-unfolded.png
http://davidheath.org/visionwt/ezodcsm-1000-unfolded.png

Best regards

David Heath
Developer | VisionWT

Daniel Beyer

Wednesday 05 April 2006 2:35:09 pm

Hi David,

that looks just great. Lucky this isn't in pubsvn, yet - otherwise I wouldn't get any sleep to night, checking our new features out ;)

Looking forward to grap this code from svn!

Greetings, Daniel.

Daniel Beyer
_________________________________
YMC AG
Kreuzlingen, Switzerland
web: www.ymc.ch
____________________________________

André R.

Thursday 06 April 2006 3:11:57 pm

1. Can't get HideClasses[] to work on v1.0.8svn, something broken ??

2. What's the status for the dynamicmenu and ezodcsm merge ??

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

James Robertson

Thursday 06 April 2006 5:05:56 pm

<b>Include ezodcsm menu outside of paylayout.tpl template</b>

Errors relating to undefined varaibles $module_result and $ui_context appear when the menu is included in a template other than the pagelayout.tpl template. This is because these variables are only available in the pagelayout.tpl template. :-)

To resolve the $ui_context related error: add 'ui_context="navigation"' to the include statement in the template file. eg.

{include uri="design:contentstructuremenu/content_structure_menu.tpl" ui_context="navigation"}

To resolve the $module_result related errors, I have had to modify extension/ezodcsm/design/standard/templates/contentstructuremenu/dynamic_content_structure_menu.tpl

For what it's worth, my changes are as follows:
1. Before long list of {let} statements add:

{def $current_node_id=2}
{if is_set($module_result.node_id)}
	{set $current_node_id=$module_result.node_id}
{elseif is_set($node.node_id)}
	{set $current_node_id=$node.node_id}
{/if}

{def $path_node_ids = array()}
{if is_set($module_result.path)}
	{foreach $module_result.path as $path_infos}
		{set $path_node_ids = $path_node_ids|append($path_infos.node_id)}
	{/foreach}
{elseif is_set($node.path_array)}
	{set $path_node_ids = $node.path_array}
{/if}

2. Modify:

    nodesList  = fetch(odcsm,fetch_open_nodes,hash(node_id,$module_result.node_id))}

to:

     nodesList  = fetch(odcsm,fetch_open_nodes,hash(node_id,$current_node_id))}

3. Modify:

        {section var=path loop=$module_result.path}
            {section show=and(is_set($:path.node_id), or($:isDepthUnlimited, $:maxDepth|gt(0)))}
                nodesList.push( "n{$:path.node_id}" );
                {set maxDepth = dec($:maxDepth)}
            {/section}
        {/section}

to:

        {section var=path_node_id loop=$path_node_ids}
            {section show=or($:isDepthUnlimited, $:maxDepth|gt(0))}
                nodesList.push( "n{$path_node_id}" );
                {set maxDepth = dec($:maxDepth)}
            {/section}
        {/section}

Paul Forsyth

Friday 07 April 2006 12:44:26 am

James, we need you on pubsvn :)

André, the dynamicmenu is superceded by odcsm.

André R.

Friday 07 April 2006 1:16:26 am

And now we all wait for the visionWT improvements??
Great, looking forward to some speed improvements.. :)

Btw: Are someone using HideClasses[] with 1.0.8 and know for sure that they work ?

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Daniel Beyer

Friday 07 April 2006 4:08:44 pm

Hi André,

we're using 1.0.8. It seems like HideClasses[] is working just fine when ODCSM is enabled. But maybe this is true only for your adapted templates in the user-areas where we using HideClasses[] only. I'll check this with a recent plain eZ publish as soon Pauls add-ons are on pubsvn.

Daniel Beyer
_________________________________
YMC AG
Kreuzlingen, Switzerland
web: www.ymc.ch
____________________________________

James Robertson

Sunday 09 April 2006 3:00:58 pm

Hi Paul

I would be happy to contribute to the public Subversion repository, but couldn't find this project there. Has it been imported yet? If, so, could you please post a link to the appropriate access page? Thanks.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.