When Magic's pane preview functionality is turned on, it breaks UUID on Fieldable Panels Panes. This happens because magic forces a pane form submission to generate the preview, which creates the FPP before it's saved by the user. This means that the following code fails, from fieldable_panels_panes/plugins/content_types/fieldable_panels_pane.inc:
if (!empty($entity->is_new)) {
if (module_exists('uuid') && isset($entity->uuid)) {
$entity_id = 'uuid:' . $entity->uuid;
}
else {
$entity_id = 'fpid:' . $entity->fpid;
}
This fails because when magic forces the save, $entity->uuid doesn't exist yet, but later when the user clicks "Save", $entity->uuid DOES exist but $entity->is_new isn't true anymore since magic already created it earlier to generate the preview. So $entity_id is ALWAYS 'fpid;...' and UUID's are never applied.
Workaround is to disable pane preview on admin/panopoly/settings/panopoly_magic.
Comments
Comment #1
dsnopekThe code in panopoly_magic_form_alter() starting at line 237, saves the FPP in a pretty hackity way for the preview... Maybe if it were to "fully save" the FPP using the Entity API, then the uuid module would set $entity->uuid and it would it work?
http://drupalcode.org/project/panopoly_magic.git/blob/refs/heads/7.x-1.x...
Comment #2
mglamanPer #2246893: Does not properly set pane subtype on content edit form submit., this logic within Fieldable Panels Panes has been changed so a UUID will be provided regardless the ->is_new flag, marking this bug obsolete.