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've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

All other Modules /

Discuss all other Modules here.

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

Static Publisher - Google Sitemap sake build error


Go to End


2232 Views

Avatar
hpeide

Community Member, 6 Posts

13 February 2015 at 10:37pm

Hi.

I get an error with sitemap.xml when sake rebuilds cache. The issue appeard when I upgraded Silverstripe to version 3.1.9.

ERROR [User Error]: Uncaught Exception: Error: no controller registered in DevelopmentAdmin for: sitemap
IN GET /dev/sitemap.xml
Line 127 in <path>/framework/dev/DevelopmentAdmin.php

Source
======
  118: 		}
  119: 		
  120: 		if($controllerClass && class_exists($controllerClass)){
  121: 			return $controllerClass::create();
  122: 		}
  123: 		
  124: 		$msg = 'Error: no controller registered in '.__CLASS__.' for: '.$request->param('Action');
  125: 		if(Director::is_cli()){
  126: 			// in CLI we cant use httpError because of a bug with stuff being in the output already, see
       DevAdminControllerTest
* 127: 			throw new Exception($msg);
  128: 		}else{
  129: 			$this->httpError(500, $msg);
  130: 		}
  131: 	}
  132: 	
  133: 	

Trace
=====
DevelopmentAdmin->runRegisteredController(SS_HTTPRequest)
RequestHandler.php:288

RequestHandler->handleAction(SS_HTTPRequest,runRegisteredController)
Controller.php:194

Controller->handleAction(SS_HTTPRequest,runRegisteredController)
RequestHandler.php:200

RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
Controller.php:153

Controller->handleRequest(SS_HTTPRequest,DataModel)
Director.php:370

Director::handleRequest(SS_HTTPRequest,Session,DataModel)
Director.php:291

Director::test(http://mir.no/dev/sitemap.xml)
FilesystemPublisher.php:229

FilesystemPublisher->publishPages(Array,,,,,,)
Object.php:1002

Object->extend(publishPages,Array)
RebuildStaticCacheTask.php:107

RebuildStaticCacheTask->rebuildCache(Array,1)
RebuildStaticCacheTask.php:26

RebuildStaticCacheTask->run(SS_HTTPRequest)
TaskRunner.php:84

TaskRunner->runTask(SS_HTTPRequest)
RequestHandler.php:288

RequestHandler->handleAction(SS_HTTPRequest,runTask)
Controller.php:194

Controller->handleAction(SS_HTTPRequest,runTask)
RequestHandler.php:200

RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
Controller.php:153

Controller->handleRequest(SS_HTTPRequest,DataModel)
RequestHandler.php:222

RequestHandler->handleRequest(SS_HTTPRequest,DataModel)
Controller.php:153

Controller->handleRequest(SS_HTTPRequest,DataModel)
Director.php:370

Director::handleRequest(SS_HTTPRequest,Session,DataModel)
Director.php:153

Director::direct(dev/tasks/RebuildStaticCacheTask,DataModel)
Director.php:167

Director::direct(dev/buildcache,DataModel)
cli-script.php:121

My all pages to cache method looks like this in Page.php

public function allPagesToCache()
{
        // Get each page type to define its sub-urls
        $urls = array();

        // memory intensive depending on number of pages
        $pages = Page::get();

        foreach($pages as $page) {
            $urls = array_merge($urls, (array)$page->subPagesToCache());
        }

        // add any custom URLs which are not SiteTree instances
        $urls[] = "sitemap.xml";

        return $urls;
}

Anyone experienced similar?

Thanks,
Regards,
Hans