First some background. This issue has the exact same symptoms as #185486: open_basedir restriction in effect which was never really solved, but below I have the cause and the solution.
The field panels_layout.name is a varchar(255) yet panels_display.layout is a varchar(32). The latter needs enough room to prefix the layout name with a word like "flexible". Therefore the former needs to be restricted to 32 minus max_length_of_prefix or perhaps the latter could just reference the layout id rather than the layout name?
I am marking this as critical because it can corrupt existing pages. After experiencing this issue I deleted my page and tried to recreate it, but then ran in to duplicate entry issues because some of the old stuff wasn't removed, most likely because it was looking for the truncated machine name.
Comment | File | Size | Author |
---|---|---|---|
#2 | panels-n956394-d6.patch | 1.07 KB | DamienMcKenna |
#2 | panels-n956394-d7.patch | 991 bytes | DamienMcKenna |
Comments
Comment #1
DamienMcKennaThis exists in D7 too. Am bumping the version number so that a patch can be made for D7 and backported.
Comment #2
DamienMcKennaHere are patches for the D6 and D7 branches. I changed the schema in-place rather than creating a new version because this is a definite bug and the change should not have any negative effects elsewhere.
Comment #3
DamienMcKennaDuplicate tickets that were closed:
This one is the same problem in reverse - having the panels_mini.name column longer than 32 varchars causes problems with the core Block module:
Comment #4
merlinofchaos CreditAttribution: merlinofchaos commentedCommitted to D6 and D7.