1053 Posts in 383 Topics by 376 members
|Go to End|
20 May 2010 at 2:10am
I am attempting to upgrade from 2.3.3 to 2.4.0. I replace the cms, googlesitemaps and sapphire directories and run /dev/build/. All I get is the big default SS error saying:
There has been an error
The website server has not been able to respond to your request."
When I copy the 2.3.3 directories back, /dev/build/ runs fine again.
Where do I even start looking for the problem?
20 May 2010 at 2:14am
My 2.3.3 installation also includes the Event Calendar and User Forms modules. Might it be a compatibility issue?
20 May 2010 at 3:45pm
Make sure you've got the right version of your other modules for 2.4, Most of the modules have a branch or a tagged version which works better with 2.4.
Also, you might want to try moving any non-core modules out of the way, running dev/build, then if that works okay, put them back one at a time, testing dev/build each time. Then you can find out which module is the culprit.
Also, you're going to always want to run things in dev mode while doing things like this.
Juanitou's link should help with this.
20 May 2010 at 9:05pm
Thanks for the tips guys.
I've isolated the problem down to the Event Calendar. Here's what I've done so far...
I've installed the latest version of Event Calendar
I've installed Dataobject Manager (I didn't have this installed before but the new Event Calendar seems to require it)
I've installed Legacydatetimefields (not sure if it's needed though...)
/dev/build/ now runs fine and I have 2.4.0. However, the Event Calendar is well broke
I run into an immediate problem with this error on both my site and the CMS:
"Fatal error: Call to a member function AbsoluteLink() on a non-object in C:\wamp\[path]\SilverStripe\event_calendar\code\CalendarUI.class.php on line 17"
The offending code looks like this:
var controller_url_segment = '" . $controller->AbsoluteLink() . "';
var current_url_segment = '" . Controller::curr()->Link() . "';
The code in my old version of Event Calendar used to look like this:
var controller_url_segment = '" . $controller->URLSegment . "';
var current_url_segment = '" . Controller::curr()->URLSegment . "';
Changing the code to the old version creates more errors. Removing those lines altogether allows the site and the CMS to load up, but the module fails to load properly in the CMS (of course).
So, what now? Should I be playing around with the Event Calendar code, or is there some other dependency I'm unaware of that I have to install? Or something else??
8 June 2010 at 3:23am
For the record...
It all went wrong because at some point during the upgrade, the database records for Calendars and CalendarEvents got corrupted, ie. the value in the ClassName column was set to NULL.
To fix it, I ran this query directly on the database:
WHERE ClassName is null or ClassName = ''
...to identify which records were corrupt and manually inserted the values "Calendar" or "CalendarEvent" against each record as appropriate.
|Go to Top|