Exhibit pages return a 404 error

My Omeka installation and exhibits were running fine, when suddenly I could no longer access exhibit pages publicly. I can view the exhibit summary, but not the pages. Also, I can see them in admin, but when I try to "VIew Public Page" or insert the link directly, I get a 404 error. These links worked fine until a few hours ago.
It also seems to cancel out any theme, and the 404 error page is plain html.

Backtracking- I have been heavily customizing a new theme, but all changes were made within the theme folder. When I change the site to a default theme, the error persists.

I tried deactivating Exhibit Builder, but no results. I don't want to uninstall it, because I have several exhibits set up.

Newly created exhibits are causing the same problem.

Does anyone have an idea of where I should troubleshoot? I have been exploring the htaccess file, but I don't think that is it- I have other Omeka installations on this server that are running fine.

More info:

Here is my partially built site link to the browse exhibits page:
http://midwestwindenergycenter.org/exhibits
None of the exhibit pages work.

Note: some of these exhibits utilize the option of using a different theme. Could there be a bug in there?

Thanks.

Try the instructions for retrieving error messages. Since this is a 404 error you're trying to diagnose, be sure to do the "optional" step 2 also.

Oh thanks, I never noticed that part.

When I set debug.exceptions to true, all I got was "Omeka has encountered an error."

So, I set debug.request to true as well and got some messages.

Could not assemble: id is not specified
page false Could not assemble: page is not specified
pluginInstall false Could not assemble: name is not specified
simple_pages_show_page_1 false about
simple_pages_show_page_2 false wind-speeds-in-real-time
simple_pages_show_page_4 false archive
simple_pages_show_page_5 false interactive-maps
simple_pages_show_page_6 false strategies
simple_pages_show_page_8 false chart-test
simple_pages_show_page_9 false state-map-links
simple_pages_show_page_10 false...

Could not assemble: page is not specified
exhibitStandard false Could not assemble: id is not specified
exhibitSimple false exhibits/show/iowa-wind-fact-sheet
exhibitShow true exhibits/show/iowa-wind-fact-sheet/turbine-locations
exhibitItem false Could not assemble: item_id is not specified
exhibitBrowse false Could not assemble: page is not specified
items_map false items/map
map_kml false Could not assemble: Cannot assemble. Reversed route is not specified.
simple_contact_form_form false contact
simple_contact_form_thankyou false contact/thankyou
embed false Could not assemble: id is not specified
embed-item false Could not assemble: id is not specified
navigation_homepage false "

This might be unrelated, but around the same time, I found that I am also unable to sort by date added or by creator in browse items. This is on the public site only. Works fine in admin.

Maybe this is a server issue. ?

First off, it seems like the first part of retrieving error messages hasn't be set right. Make sure that in .htaccess this line does not have the #

# SetEnv APPLICATION_ENV development

debug.request should still be false, and debug.exceptions true

Actually, I do have it set up that way.

htaccess file (no #):
SetEnv APPLICATION_ENV development

config file:
debug.exceptions = true
debug.request = false

hmmm...something is odder than I thought, then. The next thing I'd try is deactivating all the plugins to see if the problem persists. Then try reactivating them one-by-one and checking for the problem each time to see if there's some conflict in one of them

I didn't find the problem this way. Even with all other plugins de-activated, Exhibit builder pages do not show.

Out of curiosity, did you change the name of what exhibits are? In one installation I've worked on, install.org/exhibits became install.com/explore and the only way to get to the public page was to manually change "exhibits" to "explore" after clicking "view public page"

Thanks for the suggestion. I have not changed the system name of the exhibits, i don't think?

I did a second test installation of Omeka on my server. Exhibits worked fine. When I changed the db.ini file to link to my original SQL database, the Exhibits pages error returned.

Does this mean that there is something wrong with my SQL database perhaps?

Continuing the troubleshoot:

On my new test installation of Omeka (with a copy of the same SQL file), I tried uninstalling Exhibit Builder completely. I then re-installed it, and created a new exhibit. The error returned.

Maybe I should export all of my data as CSV using the API and start over with a brand new SQL?

There are a lot of mysteries, here. In your second test installation, did you try the same tricks for turning on error messaging to see if that worked to display the errors? It might also be worth going the extra step about getting error messages and turn on the logging to see if we can get information out the logs.

Super weird! So, I just now was fiddling with the DB.ini file on the new test installation (which is on the same server). I was planning to attach an old backup SQL database to it, but I ACCIDENTALLY attached the same SQL that I have attached to my broken site.

And what do you know? Both sites are now working again. I am quite confused by this behavior.

My steps that got this going again:
1. Created a test installation in subfolder
2. Changed test installation db.ini to open original SQL. No change.
3. Exported original database into a new SQL.
4. Changed test installation db.ini to this new SQL.
5. Uninstalled Exhibit Builder.
6. Reinstalled Exhibit Builder.
7. Changed test installation db.ini to the original SQL. Both sites working after this.

-----
Hope this helps someone in the future. I guess that somehow I cleared the Exhibit Builder problem when I uninstalled it while the copy SQL was attached.

I did find that some Simple Pages that I had deleted re-appeared during this process.

Now I just have to find out if removing the test installation will destroy my progress!

One more thought:
"I did find that some Simple Pages that I had deleted re-appeared during this process."

My homepage also reset the default.

I believe that the last thing I was doing when I discovered this problem was adjusting my navigation menu. I deleted some Simple Pages and changed the homepage to something else. Maybe I corrupted the SQL somehow by deleting objects and getting routes or paths screwed up?

The thing with changing navigation could be a promising lead, especially if you set up navigation to include links directly to an exhibit page. I'm not at all sure how, but I suppose a problem somewhere there might create a confusion in the router. Just guessing there.

More importantly, hooray that it's working!

Yep, it's definitely a problem with the navigation because I just reproduced the problem.

This time, I did not delete anything. From the Appearance-Navigation panel, I unchecked a few items and then changed the homepage. Once again, the exhibit pages stopped working and the sort by date added/creator function stopped working.

I changed the homepage back to default. After a few minutes (must be a short lag in the SQL server), the site works again.

Many thanks for reproducing it and telling us about it. Looks like something that we'll have to work on reproducing here and chase down the error from that.

If I could ask for more details for how to reproduce it, that would help a lot. What kinds of things did you uncheck (simple pages, browse collections, custom links to exhibit pages, etc.)? And especially, did you make a lot of changes, saving each time, or did you make many changes at once and then save?

This is starting to look like a subtle bug we haven't seen yet, so any help you can offer is very much appreciated.

Note that the initial long message you got was a mistake: you set debug.request to true, but the instructions are to set debug.exceptions to true. debug.request is useful for diagnosing some problems, but not the one you're having.

The debug.exceptions output could still be helpful: the point is to make Omeka display an error message and trace instead of a simple 404 page.

This is what causes the problem:

Designating a homepage with any kind of search/filtering as part of the URL address.

I was using http://midwestwindenergycenter.org/collections/browse?sort_field=Dublin+Core%2CTitle as my homepage.

As a test, I tried http://midwestwindenergycenter.org/items?sort_field=added&sort_dir=a

and

http://midwestwindenergycenter.org/search?query=wind&query_type=keyword&record_types%5B%5D=Item&record_types%5B%5D=File&record_types%5B%5D=Collection&record_types%5B%5D=SimplePagesPage&submit_search=Search as homepages. Both caused the same problem.

Deleting pages or using a Simple Page as a homepage is fine.

Perhaps the characters in the search/browse URLs cause the problem. There are probably better ways of creating a homepage, which I just thought of as the link from clicking the header. However, it clearly is more complex than that.

Also, thanks for the guidance John & Patrick. I am definitely more familiar with the debug options now.

Wow. Many thanks for putting together the steps to reproduce it. We're digging into it now. Thanks!

Followup -- we think we have both a fix to ExhibitBuilder and, more fundamentally to the bug, a fix to Omeka itself that address these. We'll be testing them and putting out new releases soon.

Thanks again!

Late followup- yes, this release fixed it. Using a homepage with a sort function at the end works perfectly now!