Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Upgrading SilverStripe /

Ask questions about upgrading SilverStripe to the latest version.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Upgrade to 2.4.0 fails totally


5 Posts   1176 Views


Community Member, 109 Posts

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:

"Website Error
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?



Community Member, 109 Posts

20 May 2010 at 2:14am

Additional info...

My 2.3.3 installation also includes the Event Calendar and User Forms modules. Might it be a compatibility issue?



Community Member, 323 Posts

20 May 2010 at 4:01am


> Where do I even start looking for the problem?


Those modules can be the problem…

Hope it helps,


Community Member, 109 Posts

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??



Community Member, 109 Posts

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:

FROM SiteTree_live
WHERE ClassName is null or ClassName = '' identify which records were corrupt and manually inserted the values "Calendar" or "CalendarEvent" against each record as appropriate.