I came accross the same topic trying to use SilverStripe with an existing application. Tonight I was playing around and found a possible solution: a DecoratorPage. A page of this type can be used to decorate the result of your framework with the standard layout of your site without having a knowledge of the internals of SilverStripe. So, how to achive this:
- Create a new page type (see tutorial) plus controller
- Create a template within mysite/Layout/ and name it like the page type, extension is .ss. Add a placeholder, e.g. $contentFromMyFramework.
- Overwrite the init method of your controller, here you can place the initalisation stuff for your external framework, if required. In my case I'm using a MVC framework
- Implement an method called "index" with exactly one parameter $requestParam. Execute your external framework. The URLSegment of the request can be accessed with $this->dataRecord->URLSegment. Grab the result of your external functionality and return it within an array using key $contentFromMyFramework.
- Flush the caches and access the page via SilverStripe. You should see the result of your external framework within the output of SilverStripe.
There are some problems within this approach, e.g. what happens with links within your external templates, furthermore you might have to change your external templates as header, menu and footer are rendered by SilverStripe, authentication etc. Actually I'm not sure whether this approach is usable, but maybe it helps.
Why not use sapphire for your project? Protection of investment? If you already have an application it would not be wise to port it only because you need a CMS integration.