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.

DataObjectManager Module /

Discuss the DataObjectManager module, and the related ImageGallery module.

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

Install/remove modules.. Site crashes and burns.


Reply


531 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          }