Steps to reproduce on fresh installation:
1 Enable Panelizer module
2 Proceed to /admin/structure/panelizer and enable "Full page override" for Article content type http://prntscr.com/8lukpq
3 Proceed to /admin/structure/types/manage/article/panelizer/page_manager/node%3Aarticle%3Adefault/content and just Save default Article panelizer page to wright it to database http://prntscr.com/8lulmk
4 Create test article node
5 Proceed to /node/1/panelizer/page_manager/content and press save to override panelizer page for current node. http://prntscr.com/8lumsy
After that if you check panels_display and panels_pane tables you'll see that it has duplicated uuid. This breaks behaviour of modules which use uuid such as Deploy and Features.
| Comment | File | Size | Author |
|---|---|---|---|
| #26 | panelizer-n2577031-26.patch | 1.09 KB | damienmckenna |
| #23 | panelizer-n2577031-23.patch | 4.97 KB | damienmckenna |
| #2 | panelizer-duplicated-uuids-2577031-1.patch | 853 bytes | denisz |
Comments
Comment #2
denisz commentedProposed solution.
Comment #3
dineshw commentedYes, we too facing this issue while Deploying panels.
Same UUID causing wrong display in deployed pages.
Not sure why UUID's are same in two different entitied or nodes.
Comment #4
dineshw commentedThe patch works well, and enforce UUID generation.
Comment #5
dineshw commentedComment #6
damienmckennaLets get some tests to confirm it works as intended.
Comment #7
damienmckennaComment #8
damienmckennaThis test compares the original panes against the panes in a cloned display.
Comment #10
damienmckennaOk, that isn't directly relevant to this issue, so I opened a new one for the duplicate UUID values on duplicate panes: #2748373: Cloned default displays have duplicate UUIDs
Comment #11
damienmckennaI've committed the tests from #2748373: Cloned default displays have duplicate UUIDs, with part committed out, to make it easier to write the correct tests for this.
Comment #12
dineshw commentedHi Damien, I beleive patch you have added is just to make sure it passes test but patch from #2 still need to be used.
correct me in case wrong!
Thanks
Comment #13
damienmckenna@dineshw: Yes, you are correct, but I want to write some tests to confirm the bug so that then we can confirm the patch in #2 fixes it :)
Comment #14
dineshw commented@Damien : Perfect - I'm on the same page now ;)
Comment #15
damienmckennaHere's a test that confirms the bug.
Comment #17
damienmckennaBoth patches combined.
Comment #18
damienmckennaThis confirms the display UUIDs are changed too.
Comment #19
damienmckennaI think this is actually caused by #2253919: The UUIDs of cloned variant and relative panes are the same of original ones.
Comment #20
damienmckennaUpdated patch with just the tests. The patch in #2750545: New displays saved via panels_save_display() don't reset the UUID fixes this problem.
Comment #22
damienmckennaMarking this postponed until #2750545: New displays saved via panels_save_display() don't reset the UUID is committed.
Comment #23
damienmckennaReducing the amount of code that can't be committed until #2750545 is in.
Comment #25
damienmckennaI've committed the changes in #23.
Comment #26
damienmckennaThis patch will only work when #2750545 is committed.
Comment #28
damienmckennaBack to postponed.
Comment #29
damienmckennaPunting to the next Panelizer release.
Comment #30
damienmckennaPulling off the release schedule, not sure when this will be completed, especially when it's dependent upon Panels.