About the ALPHA
If you've read my notes on releases you may be puzzled. ALPHAs are for internal testing. Have I started arguing with myself?

This version of Taxonomy Treemenu introduces a new data structure and construction for menu trees. This is a serious internal change. Given that this module is wide in action anyway, the testing is ...extensive. I've done a fairly major test to check treebuilding, plowed through five or so modules checking that no major functionality is lost, and tested against another two modules. Yet I hardly feel I've started - testing will be ongoing for month or more. So ALPHA sems appropriate, for once.

Saving your data
Can be done....

Drop in the new version of the module

Run a update.php

***IMPORTANT STEP!***
CHOOSE your update for Taxonomy Treemenu and use 6.4 FIRST.

If that goes ok,
Run update.php AGAIN, and update to 7.0

Finally, certain combinations of module version and update will cause your menus to vanish (this is only a loss of menu link data, not the underlying information). If this happens, run 'rebuild treemenus' and your site menu structure should reappear the way it was.

About V7
I havn't addressed this area of Treemenu since V1. Initially, you may notice very little difference.

The structural changes.
Well, the module is now more secure and correct at treebuilding. I'm much more confident,
There is correct behaviour in all circumstances
Any bugs will be easier to isolate and correct
And I've tracked down a couple of very obscure bugs in the process.

There are some changes
The css and HTML has changed slightly on paged menus
Node counting now works by summation (it counts everything, including duplicates)

There are some new features,

There is some support for translation. This is a huge area, particularly for Taxonomy Treemenu, and I've shied off the full job, as this is likely to change for DRUPAL 7. But yes, you can translate a menu, tested and working, with some interesting tricks too.

Removing no-node links is here, though what people will make of the implementation, I'm not sure.

BayouBill's view is included as default, and help has been further extended.

Menus now work in other modules, though you can't use the treemenu renderer functions such as 'show nodes'

Changing focus
Personal focus can get a bit narrow in computing. If you have ten minutes and fancy something different...

Download and install the DHTML Menu and SiteMap modules (both can be added and removed from sites very simply)
DHTML Menu should work on installation (I recall). Go to the sitemap link in 'admin' and promote a couple of treemenus, or three or four...
Go to [MySite URL]/sitemap, and have a look.

Made me smile...

Comments

rcrowther’s picture

Title: Version 7 - Notes and update incstruction » Version 7 - Notes and install instructions
rcrowther’s picture

If this goes ok then it answers several current issue queue posts to the positive. However, I'm not going to mark those posts until I feel the release has had some feedback, and has progressed a little.

BayouBill’s picture

Yikes! Had 6.4 installed. Disabled (but did not uninstall). Uploaded 7.0-alpha2, re-enabled module and ran update.php with no errors. Tried to rebuild a menu and got the errors shown below. Did I do something wrong or in the wrong order? (I think I've seen this problem before...will have to backtrack to see why the "tlineage" etc. columns are not present in the database.)

    * user warning: Unknown column 'tlineage' in 'where clause' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ SELECT mlid, options, customized FROM menu_links WHERE tlineage = '3:/13/' AND menu_name = 'menu-neighborhoodnotices' AND module = 'treemenu' in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1352.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ INSERT INTO menu_links ( menu_name, plid, link_path, router_path, expanded, weight, depth, module, link_title, options, tlineage ) VALUES ( 'menu-neighborhoodnotices', 0,'taxonomy/term/13','taxonomy/term/%', 1, 0, 1, 'treemenu', 'Flower Estates', 'a:0:{}', '3:/13/' ) in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1375.
    * user warning: Unknown column 'tlineage' in 'where clause' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ SELECT mlid, options, customized FROM menu_links WHERE tlineage = '3:/15/' AND menu_name = 'menu-neighborhoodnotices' AND module = 'treemenu' in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1352.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ INSERT INTO menu_links ( menu_name, plid, link_path, router_path, expanded, weight, depth, module, link_title, options, tlineage ) VALUES ( 'menu-neighborhoodnotices', 0,'taxonomy/term/15','taxonomy/term/%', 1, 0, 1, 'treemenu', 'Old Military Road', 'a:0:{}', '3:/15/' ) in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1375.
    * user warning: Unknown column 'tlineage' in 'where clause' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ SELECT mlid, options, customized FROM menu_links WHERE tlineage = '3:/14/' AND menu_name = 'menu-neighborhoodnotices' AND module = 'treemenu' in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1352.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktreeroot_updatesave /* Admin : taxonomy_treemenu_linktreeroot_updatesave */ INSERT INTO menu_links ( menu_name, plid, link_path, router_path, expanded, weight, depth, module, link_title, options, tlineage ) VALUES ( 'menu-neighborhoodnotices', 0,'taxonomy/term/14','taxonomy/term/%', 1, 0, 1, 'treemenu', 'Tchefuncte Club Estates', 'a:0:{}', '3:/14/' ) in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 1375.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktree_partial_create /* Admin : taxonomy_treemenu_linktree_partial_create */ SELECT tlineage, menu_name, depth FROM menu_links where mlid = 118664 in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 2057.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktree_partial_create /* Admin : taxonomy_treemenu_linktree_partial_create */ SELECT tlineage, menu_name, depth FROM menu_links where mlid = 118666 in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 2057.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_linktree_partial_create /* Admin : taxonomy_treemenu_linktree_partial_create */ SELECT tlineage, menu_name, depth FROM menu_links where mlid = 118668 in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 2057.
    * user warning: Unknown column 'tlineage' in 'field list' query: taxonomy_treemenu_term_links_modify /* Admin : taxonomy_treemenu_term_links_modify */ SELECT mlid, link_title, link_path, router_path, options, tlineage FROM menu_links WHERE menu_name = 'menu-neighborhoodnotices' AND module = 'treemenu' in /home/tammanyt/public_html/dr6_test/sites/all/modules/taxonomy_treemenu/taxonomy_treemenu.module on line 3145.
rcrowther’s picture

Ho.

Know this is a tricky upgrade process, which is why I'm rather cautious about it (ALPHA) and so forth.

Background
'tlineage' is an extension to the menu links table. Clearly still missing on your setup, so the attempted data reworking (which is that V7 update) has nothing to go at. You're right on the mark about the problem.

It looks horrible. I got this error in testing too, I've seen it before. It's not as bad as it looks, and it doesn't damage anything irreparably.

Fixes?
This is just a suggestion, I don't know if Drupal will stand for back-installing modules like this:
Try putting 6.4 back, and running update.php on it. Then go to the ALPHA, and update.php on that too. No need to disable anything?

If you find you can't backtrack, you could try snip out the code from the install functions and run it in an 'execute PHP' box (Devel module). I often do this to gear up my test sites for experimental new code. Here, for example is the code for the V7 update, which doesn't change any database, but shunts existing data into new positions.
(this is the code spewing out the errors above, and from your results is otherwise working no problem).

  $result = db_query("SELECT mlid, link_path FROM {menu_links} WHERE module = '%s'", 'treemenu');
  while ($lp = db_fetch_array($result)) {
    $l = substr($lp['link_path'], 8);
    $bits = explode('/', $l);
    $bits[0] .= ':';
    db_query("UPDATE {menu_links} SET tlineage = '%s' WHERE mlid = %d", implode('/', $bits) . '/', $lp['mlid']);
  }

Wish I could figure out why those alterations didn't get added. I ran this from a 6.3 install, and it went ok, the last test before I published. If you gain any idea, please, please post.

Is that post time correct? 00:54?

Rob

BayouBill’s picture

To follow the problem reported in #3 and discussed in #4, go to http://drupal.org/node/590284, where I have posted it as a new issue against 7.0-alpha2.

(I posted #3 at 18:54 USA CDT, which is UTC-5. I guess that translates to 0:54 your time.)

rcrowther’s picture

The time - I guess it made me smile. Worth bearing in mind you are - is that 6hrs behind or 18hrs in front?

Note for everyone if you are following this - all the ALPHAs are drop in replacements.

rcrowther’s picture

Version 7.1 now out.

This is a drop in replacement, but you MUST run update.php, or get nasty errors.

NOTE: I've had no mentions on the issue queue about extended URLs perviously, but this version has the start of a reworking of the URLs. If you were using the extended URLs, you will find they have vanished. Apollogies - I have something in mind which I think will work better, and this is in response to issue queue posts which hint towards users needs.

Rob