Single Table Inheritance
Starting on the changes that are going to make this a real branch – starting to make changes to the database that will change that precious data and stop you from just switching back without some sql magic. Here be dragons.
Just checked in single table inheritance (Revision 8) – this will allow the adding of extra data to pages by linking them to other database models. Next is the migration of behaviours to become subclasses of page so that table associations can be simply described there. I’ve split out some of the functionality of Page into an Asset superclass, paving the way for pages that don’t have PageParts or Layouts (I’m thinking Images, Redirects).
My first step to this has been done in Revision 9 where I have made the behavior method of Page private and expanded the list of delegated methods. This way everything is talking to a page object, and behavior is just a hidden implementation detail – this way you can extend the system by subclassing page instead of adding behaviors.
I’ll be updating this site to run the latest version of R.O.C. at every opportunity, so if things break, it’s probably because I was stupid.