Sapphire/CMS Split: Current Status

Showing 1-5 of 5 messages
Sapphire/CMS Split: Current Status Ingo Schommer 3/22/11 10:10 PM
Hey everybody,

Following the discussion and decisions from!topic/silverstripe-dev/QHL-SmP6JeE,
I've created two detailed tickets to deal with the sapphire/cms split:
The reason we're doing this now is to avoid breaking mergebacks from topic branches (which will become
more numerous as SS3 development progresses).

We're about halfway there already (thanks Paul Meyrick for helping out there), see topic branches on my git repo:

* Moved SiteTree, SiteConfig, ErrorPage ContentController, ModelAsController and related features to cms
* Moved translatable to own module
* Moved widgets subsystem into cms - they're (not very tightly) coupled to SiteTree, and typically used in a website context
* Replaced unnecessary test dependencies on SiteTree
* Some class_exists() hacks where functionality couldn't be moved easily

To check out sapphire without CMS, simply remove the CMS folder and Page.php from the sample silverstripe-installer project.
I've got the unit tests passing both with and without sapphire.

The second part (described in #6520) will move files the other way: from cms to sapphire.

* What should the default (root) response look like in sapphire if we don't have a Page.php or a
  We could put in a specific template detailing how to add routes (I think Django does that), which would be targeted at developers.
* Do we encapsulate image selection/insertion/upload in HtmlEditorField to allow it in ModelAdmin/sapphire even when no AssetAdmin is available?
  Given that AssetAdmin and image selection UIs in the new design drafts look very similiar, this will be a challenge.
* How about link insertion in HtmlEditorField without having SiteTree available? I don't see a good way to provide an out of the box experience here (other than inserting raw URLs)
* Any reason we can't make ReportAdmin a new module? Its rarely used as such (in contrast to the "side reports" which are baked into the CMS UI)
Re: Sapphire/CMS Split: Current Status Ingo Schommer 3/29/11 1:50 AM
I've merged back the topic branches to master, which means ... *drumroll* you can use sapphire without cms!
There's been nearly 90 commits, although most of them are minor as far as using the cms+sapphire combination goes (the major ones are marked with "API CHANGE").
To ensure sapphire stays isolated, I've created a new build:

If you have extended the CMS interface in your own module, or hardcoded paths to css/js/image files in the cms/ or sapphire/ folder, please branch your module
into a "trunk compatible" and "2.x compatible" version and fix these references.

In terms of database tables, we're down from 36 tables for sapphire+cms to 11 for sapphire only, which is fantastic news!
I hope to get this down to 10 by removing Email_Bouncehandler from core.

The translatable module has been moved from my repo to
All known issues are in their own component now as well:
The module has been added to the trunk-allmodules build: 
Re: [silverstripe-dev] Re: Sapphire/CMS Split: Current Status Sigurd Magnusson 3/29/11 12:13 PM

> I've merged back the topic branches to master, which means ... *drumroll* you can use sapphire without cms!

Cool milestone Ingo! Well done :)

- Sigurd

Re: [silverstripe-dev] Re: Sapphire/CMS Split: Current Status Bambii7 3/29/11 12:50 PM
Awesome news!

You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

Re: [silverstripe-dev] Re: Sapphire/CMS Split: Current Status Nicolaas Thiemen Francken - Sunny Side Up 3/31/11 7:20 PM

that is BIG news... Awesome