Error when changing and saving an existing Exhibit Pages

Omeka has encountered an error

Omeka_Validate_Exception
Slug: This page slug has already been used. Please modify the slug so that it is unique.

#0 /Users/Sites/gallery_plugins/ExhibitBuilder/models/ExhibitPage.php(283): Omeka_Record_AbstractRecord->save()
#1 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(587): ExhibitPage->_delete()
#2 /Users/Sites/gallery_plugins/ExhibitBuilder/models/Exhibit.php(181): Omeka_Record_AbstractRecord->delete()
#3 [internal function]: Exhibit->afterSave(Array)
#4 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(277): call_user_func(Array, Array)
#5 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(550): Omeka_Record_AbstractRecord->runCallbacks('afterSave', Array)
#6 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Controller/AbstractActionController.php(209): Omeka_Record_AbstractRecord->save(false)
#7 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Action.php(516): Omeka_Controller_AbstractActionController->editAction()
#8 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('editAction')
#9 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#10 /Users/Sites/gallery_core_umn/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(101): Zend_Controller_Front->dispatch()
#11 /Users/Sites/gallery_core_umn/application/libraries/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#12 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Application.php(79): Zend_Application->run()
#13 /Users/Sites/gallery_core_umn/admin/index.php(28): Omeka_Application->run()
#14 {main}

*ping*
Anyone?

Do you still get the error message if you change the slug for that exhibit or page to something completely new?

Yes. Still the same error even when changing the slug.
I hope I don't have to change the slug as we are migrating to a newer version and would like to keep our existing slugs and urls.

What version of the exhibit builder are you using?

Version 3.1.1
Just noticed there is a 3.1.3. Will update shortly and post back if this resolves the issue.

I updated to 3.1.3. The error persists.

Omeka has encountered an error

Omeka_Validate_Exception
Slug: This page slug has already been used. Please modify the slug so that it is unique.

#0 /Users/Sites/gallery_plugins/ExhibitBuilder/models/ExhibitPage.php(283): Omeka_Record_AbstractRecord->save()
#1 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(587): ExhibitPage->_delete()
#2 /Users/Sites/gallery_plugins/ExhibitBuilder/models/Exhibit.php(181): Omeka_Record_AbstractRecord->delete()
#3 [internal function]: Exhibit->afterSave(Array)
#4 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(277): call_user_func(Array, Array)
#5 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Record/AbstractRecord.php(550): Omeka_Record_AbstractRecord->runCallbacks('afterSave', Array)
#6 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Controller/AbstractActionController.php(209): Omeka_Record_AbstractRecord->save(false)
#7 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Action.php(516): Omeka_Controller_AbstractActionController->editAction()
#8 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('editAction')
#9 /Users/Sites/gallery_core_umn/application/libraries/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#10 /Users/Sites/gallery_core_umn/application/libraries/Zend/Application/Bootstrap/Bootstrap.php(101): Zend_Controller_Front->dispatch()
#11 /Users/Sites/gallery_core_umn/application/libraries/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#12 /Users/Sites/gallery_core_umn/application/libraries/Omeka/Application.php(79): Zend_Application->run()
#13 /Users/Sites/gallery_core_umn/admin/index.php(28): Omeka_Application->run()
#14 {main}

Are you deleting a page when you're saving? That's what the trace indicates is happening.

When you delete a page, Exhibit Builder moves all the children of the page that's getting deleted up a level. That looks like what's causing the slug conflict: one of the child pages getting moved has the same slug as one of the pages that already exists on the higher level.

Just saving changes. Here is a screencast of exactly what I'm doing. - http://screencast.com/t/ro5l8dl7I

You are deleting a page in that screencast. Since the page you're deleting and its child share the same title, I assume they share slugs as well.

A simple fix may be going to edit that top-level page, the one you're deleting, and changing its slug to something else, saving it, then deleting it.

So... Saving Changes = Deleting? - http://bukk.it/mindblown2.gif

Frankly, these extra pages (top page and child sharing same name) came in via an database migration. It might make more sense to remove the extras via sql.

Any thoughts on if that would cause issues?

Unless I'm mistaken, in the video you posted, you clicked the "x" button for a page, and saved that "change." Doing that is the same as clicking the big Delete button on the edit page for that specific exhibit page. The big Delete button visible in the video you posted is the one for the Exhibit, and it deletes the entire exhibit and all its pages.

As for moving forward, I think changing the slugs of the pages you don't want anymore through the interface is the easier option. You could do it through SQL, but you'd also have to go and reassign the child pages, the ones you do want, to have the right parent page IDs, and it's just slightly more complicated.

If you just go in one pass and edit the slugs for those top pages (assuming its the top ones you don't want) and give them slugs like "junk1," "junk2," "junk3," etc., then you'll be able to go right back and delete them all without Omeka complaining about conflicting slugs.

That works like a charm.

Thanks!