This has bitten two people so far, and we can't figure out a way to keep people from hurting themselves.

Once a page has been built, with views/panes/widgets/blocks and such put in all the appropriate places, the "Continue" button will instantly wipe out all that fine work.

Worse yet, the import/export functionality isn't complete (exports the page, but not the handler), so restoring the blown-away page can require an hour of labor.

Comments

yelvington’s picture

Here's a comment string from our internal project tracker that may be useful.

#1
cntlscrut - 06/26/2009 - 09:35

i can't see where the form filter module allows filtering of panel forms... but, we can remove the button by adding this CSS.

#panels-panel-context-edit-content #edit-next {
display:none;
}

thoughts?

#2
yelvington - 06/26/2009 - 10:39

Yeah, you can't get to any submit buttons using formfilter. I swear that you could do so on D5.

CSS probably will work, but is the "continue" button essential to constructing pages from scratch?

#3
roger.soper - 06/26/2009 - 10:48

Rick and I have started to talk about this and think a conditional hook_form_alter could be done for non MDW Admin roles holders to filter that out to anyone else. However are these same people creating pages as well? If this is the case it may just be a training issue to make users aware of the power they now hold.

#4
cntlscrut - 06/26/2009 - 11:14

that sounds better. do that... :)

-=g

#5
rhavill - 06/29/2009 - 16:40
Status: active » needs review

It looks like this might be a bug in the panels module. I have a local copy of the condev site. On my local copy of the site I edited the front page by clicking Operations/Panel Content. Then I clicked the "Continue" button several times and finally clicked a "Finish" button on the final screen. I did not make any changes on any of the screens, but my local copy of the home page had no content.

#6
rhavill - 06/29/2009 - 16:42
Assigned to: Anonymous » rhavill
Status: needs review » active

I think that the "Continue" button is needed to create a new panel page, so I will try to get rid of that button only when a panel page is being edited.

yelvington's picture
#7
yelvington - 06/29/2009 - 17:04

Yup. If you figure out a fix we should post that to Earl Miles' attention, because this is one nasty bug.

new
#8
rhavill - 06/30/2009 - 13:39

On my local environment the "Continue" button was removed from every page during panel page edits, except I was not able to remove the "Continue" button from the "Change Layout" tab. The button was not removed from the "Change Layout" page because that page appears to be the same during panel page creation and panel page edits. Also, there is no "Update and Return" button on the "Change Layout" page when a panel page is being edited.

It looks like removing the "Continue" button is not going to work as a solution at this point. Unfortunately, the "Change Layout" page appears to be the cause of the problem.

This issue will require further investigation.

merlinofchaos’s picture

It is safe to say that the intended behavior of the button is NOT to wipe out work. Removing the button isn't right. I'll have to see if I can replicate this destructive behavior. Is it possible to provide exact instructions that will reliably cause this button to destroy work?

Page exports should be able to include task handlers or not, so I'm not sure what you're saying there. Last i checked as long as you exported the page with the handlers it worked fine.

yelvington’s picture

To see if maybe we had done something odd, I created a new page from scratch, placed a couple of views on it, checked the result (worked fine), then exported it:

$page = new stdClass;
$page->disabled = FALSE; /* Edit this to true to make a default page disabled initially */
$page->api_version = 1;
$page->name = 'TestCustomPageFromScratch';
$page->task = 'page';
$page->admin_title = 'Test custom page from scratch';
$page->path = 'testcustompagefromscratch';
$page->access = array(
  'logic' => 'and',
);
$page->multiple = FALSE;
$page->menu = array(
  'type' => 'none',
  'title' => '',
  'name' => 'navigation',
  'weight' => '0',
  'parent' => array(
    'type' => 'none',
    'title' => '',
    'name' => 'navigation',
    'weight' => '0',
  ),
);
$page->arguments = array();
$page->conf = FALSE;
yelvington’s picture

The content destruction seems to be a UI/usability problem. Here's more detail on where we lose the page data:

Edit task handler 'panel'
Make some changes to the page -- place more content, change styles, change args, etc.
User ignores the 'Update and return' button and clicks 'Continue' instead, walking through the wizard ...

... to 'selection rules' (content is OK)
'Continue' to 'general' (content is OK)
'Continue' to 'contexts' (content is OK)
'Continue to 'change layout'

At this point the confused user leaves the layout setting alone, since he/she doesn't want to change the layout. In our case it's set to a custom layout, 'front layout.'

'Continue' to 'move content to ...' page

This is probably where we blow everything away.

Since the user did not choose a different layout, the user is presented with our 'front layout' icon bitmap and an arrow pointing to nothing. Under that, there are "Move content in [area] to:" dropdowns with nothing in them. The user doesn't want to change anything anyway.

There is no 'Continue' button, so the user -- who really just wants to save the changes made way back on the layout page -- clicks 'finish.' This seems to be where we wipe out all the content assignments and leave a blank layout.

rhavill’s picture

Component: User interface » Panel pages

I just reproduced this issue with a fresh install of drupal 6.12 and panels 6.x-3.0-beta2 (no other 3rd party modules were installed, except for ctools). I created a new panel page by clicking the "Add custom page" link on the admin/build/pages page. Under "Basic Settings" I entered "test" for all fields and clicked "continue". On the next two screens, I clicked "continue" without making any changes. Then I clicked "finish" on the Task Handler screen without making any changes. On the "Add task handler" screen I clicked continue without making any changes. Then, on the "Choose Layout" screen, I chose "Single Column" and clicked "Continue". I added "Custom Content" to the middle column and clicked finish to save the new panel page.

Next, I set the URL in my browser to "test" and the page appeared as expected. I went to edit the page by clicking the "Edit Panel" tab. Then I clicked the "Change Layout" tab and then clicked "Continue" without choosing a different layout. On the next screen, I noticed that the "Move content in to:" select list was empty. Finally, I clicked "Finish". The next time I viewed my page there was no content.

As yelvington mentioned, the problem seems to be triggered when the "Continue" button is clicked on the "Choose Layout" screen after a new layout is not chosen.

merlinofchaos’s picture

Status: Active » Fixed

This is no longer relevant with the new UI.

Status: Fixed » Closed (fixed)
Issue tags: -continue, -button, -page handler

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