Closed (fixed)
Project:
Drupal core
Version:
6.x-dev
Component:
update system
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
28 Feb 2010 at 04:21 UTC
Updated:
30 Jun 2010 at 20:30 UTC
If any menu items have nonexistent destinations they will be lost upon upgrade from D5 to D6.
It is easy to reproduce. I created a D5 site with a menu comprising several menu items, some with valid destinations (e.g., "node") and others with invalid destinations (e.g., "bogus"). As you can see from the screenshots, all invalid-destination menu items are lost, as well as any valid menu items below them.
Invalid menu items should not result in data loss (of other menu items), especially if the D6 upgrade instructions do not warn about this, so I have marked this issue as critical.
| Comment | File | Size | Author |
|---|---|---|---|
| D6_test_menu_after_upgrade.png | 104.31 KB | threexk | |
| D5_test_menu.png | 101.09 KB | threexk |
Comments
Comment #1
threexk commentedPresumably still exists as no fixes have been made, so moving to 6.x-dev.
Comment #2
jonne_jvl commentedAre you sure about the data loss? I am not so sure if the links are lost from the menu item table.
The fact is that menu items pointing to invalid destinations are "hidden" from the listing, as seen in your screenshot.
Editing and deleting the individual items works fine however. (but you need to no the ids, and those are only visible in the db)
There is a global variable set in that listing, that could possibly be used to bypass the destination check.
Comment #3
threexk commentedYou are right, there is no data loss. Not sure what I was thinking before.
However, I think that the user should be warned that his or her invalid menu items (and all child menu items, whether valid/invalid) will disappear. I also think that invalid menu items or at least the valid menu items under them should still be available to repair, rather than being hidden from the UI. It is not entirely reasonable to expect someone updating their Drupal site to figure out that they have to delve into the database to get the IDs you speak of. I'll submit a new feature request to make things easier separate from this issue.