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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, Ed, biapar, Willr, Ingo, swaiba

Install/remove modules.. Site crashes and burns.


Go to End


1024 Views

Avatar
Anteaus

Community Member, 3 Posts

5 May 2012 at 8:37am

Installed 2.4.7, worked through the tutorials, created a basic template and installed the forum without trouble. Then tried to install Diary, and this reported a missing dependency. Installed Calendar as it sounded as if this contained the dependency. Still neither worked, so removed both folders from the site root and did /dev/build?flush. Result: White screen of death when attempting to access admin area. Public pages still work.

Looking at the database, I see that the Diary and Calendar tables are still there. There are no file types with missing classes.

There is a 2010 post describing a very similar problem, and it looks like the bug still exists.
http://www.silverstripe.org/dataobjectmanager-module-forum/show/11903

Debug output:

[User Error] Bad RecordClassName '' and $baseClass not set
GET \stripe\admin?flush=1

Line 2762 in stripe\sapphire\core\model\DataObject.php
Source

2753 		foreach($records as $record) {
2754 			if(empty($record['RecordClassName'])) {
2755 				$record['RecordClassName'] = $record['ClassName'];
2756 			}
2757 			if(class_exists($record['RecordClassName'])) {
2758 				$results[] = new $record['RecordClassName']($record);
2759 			} else {
2760 				if(!$baseClass) {
2761 					user_error("Bad RecordClassName '{$record['RecordClassName']}' and "
2762 						. "\$baseClass not set", E_USER_ERROR);
2763 				} else if(!is_string($baseClass) || !class_exists($baseClass)) {
2764 					user_error("Bad RecordClassName '{$record['RecordClassName']}' and bad "
2765 						. "\$baseClass '$baseClass not set", E_USER_ERROR);
2766 				}
2767 				$results[] = new $baseClass($record);
2768 			}