NodeOverWrite problem in the upgrading path from Panels 2 to Panels3
| Project: | Panels |
| Version: | 6.x-3.0-beta4 |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | closed |
I have discussed this with on IRC
Panels2 to 3 upgrade path converted nodeoverwrite to a few task handlers. if the node-overwrite in Panels2 is content-type based, it is converted to several task handlers and one extra called default, which overwrites all other nodes. The default is the last one on the list, and only get selected if none of the others did. However, the original panels2 only select a few content types, the default handler in panels 3 overwrites all other nodes which were not selected by the original panels2.
For example panels2 overwrites A,B,C, but not D,E,F. then it is converted to panels3, suddenly D,E,F are overwritten.
Another note: I thought this problem could be solved if I deleted the default handler after the conversion. However, if I delete it, then none of the nodes are overwritten any more.

#1
Can you please try this in beta4? I think I fixed it when I retooled the update but I can't be completely sure.
#2
I did a upgrade from Panels2 to Panels3-beta4 today,
here are the errors:
# user warning: Table 'ctools_object_cache' already exists query: CREATE TABLE ctools_object_cache ( `sid` VARCHAR(64) DEFAULT NULL, `name` VARCHAR(128) DEFAULT NULL, `obj` VARCHAR(32) DEFAULT NULL, `updated` INT unsigned NOT NULL DEFAULT 0, `data` LONGTEXT DEFAULT NULL, INDEX sid_obj_name (sid, obj, name), INDEX updated (updated) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/greatbre/public_html/includes/database.inc on line 517.# user warning: Table 'ctools_css_cache' already exists query: CREATE TABLE ctools_css_cache ( `cid` VARCHAR(128) NOT NULL, `filename` VARCHAR(255) DEFAULT NULL, `css` LONGTEXT DEFAULT NULL, `filter` TINYINT DEFAULT NULL, PRIMARY KEY (cid) ) /*!40100 DEFAULT CHARACTER SET UTF8 */ in /home/greatbre/public_html/includes/database.inc on line 517.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
# warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 297.
#3
after the upgrade above, ran update.php. None of the nodeoverwrites in Panels 2 is converted to the ones for Panels 3
#4
Having consult with merlinofchaos, I re-do the upgrade, by dropping all the tables.
here are the errors from update.php
* warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
* warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
* warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
* warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
* warning: Invalid argument supplied for foreach() in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 537.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type for db_type_placeholder)' at line 1 query: SELECT * FROM page_manager_pages WHERE name IN (unsupported type for db_type_placeholder) in /home/greatbre/public_html/sites/all/modules/ctools/includes/export.inc on line 105.
However, with this complete wipeout, no panels 2 pages is converted to panels 3 pages
#5
I have attached my Panels2 tables
#6
After our discussion, I deteled ctools and panels folders, and reinstall them. Then there is no more errors in the upgrading process.
but, there are other problems:
1st problem, even if CTools module was unchecked (not installed), update.php runs without letting me know that CTools module is required. So, I checked/install CTools. Then update.php runs OK without any problem. I remember Beta2 has this dependency check for update.php, but it seems Beta4 doesn't check.
2nd problem, I went to /admin/build/pages/list to enable nodeoverwrite such as /node/%node or /user/%user, but after enabling them, clear cache, all those nodes and users page are same. nodeoverwrite fails.
#7
Checked in a fix for the node_view override. Will require a fresh upgrade to test.
#8
Automatically closed -- issue fixed for 2 weeks with no activity.