Repeatable: Always (on my site at least)
Steps to repeat (site with no caching, no CSS or JS optimization and with a "clear cache" for good measure):
1) node/add/panel/flexible
2) create at least two rows with at least two regions in each
3) give the same name to one of the regions on at least two different rows
4) Note how moving one field has an effect on the other field (a particular problem with fixed regions)
5) Delete one of the duplicate regions, note how both regions are deleted automatically for you
6) Try to use layout designer to re-create region, or indeed to do anything else with the column or row associated with that region and see what I think might be ajax script/code appears on a white background.

As far as I can determine, that panel node is hosed for any future layout changes which usually means that you need to recreate the node you were working on -- a less than enjoyable task. The problem is magnified by ctools/ajax remembering previous entries (making it somewhat easy to use duplicate title names unintentionally), though I fully accept that the problem falls under stupid user tricks.

Workaround: just don't save a flexible panel node with duplicate region names (perhaps ensuring you have the right glasses on :-))

Comments

esmerel’s picture

As a secondary workaround, you could possibly try exporting the panel, looking for the duplicated name, change it, and then re-import it.

Dave Kinchlea’s picture

Thanks. I know I'm not the brightest bulb in the pack, but I can't find any way to export Panel Nodes --- I have tried Node Clone but that doesn't give me the layout, only another empty panel node. Perhaps I'm missing something somewhere but everything I see suggests that exporting is limited to panel pages.

esmerel’s picture

Oh right - I missed that you actually were using panel nodes! Most of the time people don't actually specify. Sorry about that - though I suspect that the problem is prevalent for all of the panel types :/

merlinofchaos’s picture

Interestingly, I simply cannot make this happen. I tried a bunch of regions with the same name.

One thing that you can look at that I suspect on your install will be different from mine: Click on the region dropdown and hover over the 'region settings' link. Your browser should give you the URL that it AJAX requests when you click on it. The last segment of that URL is the internal region ID, which is derived from the region name you used. When 2 IDs collide, it's supposed to add to the end of it to ensure uniqueness. Does this not happen for you?

esmerel’s picture

Did your pane names have spaces in them, by chance? I was able to replicate when I had multiple word pane names.

merlinofchaos’s picture

Status: Active » Fixed

Ok! Thanks to esmerel I figured out that the key is that the region names needed a space (or actually any non basic alphanumeric character). When THAT happened, safety checking was happening in the wrong order causing duplicate IDs. Fixed in CVS.

Note that even with the fix in place, any pre-existing regions with bad IDs will remain bad.

Dave Kinchlea’s picture

Gotta work quickly to stay up with you guys! Thanks.... yep, lots of white space use in my region names to date; think I'll stop that behaviour at least until rc2 :-)

Once again thanks and kudos to the great work, I'm truly impressed with Panels/Ctools in general (and that coming from a 12-year veteran in Content Management and 25-year veteran with Internet apps, I don't impress easily) ... even my 15 year-old daughter who really doesn't use computers for much more than MSN and Facebook was able to make a very slick looking web page based on my templating of your good work. Simple yet powerful, a deadly combination.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.