Multi-Content Revisions/WikiPage and Revision

This page contains migration and compatibility notes for WikiPage and Revision


 * WikiPage::doEditContent will continue to function for creating new revisions that update only the main slot.
 * WikiPage acts as a factory for PageUpdateController, which can be used for more complex updates
 * Much of the code in WikiPage associated with editing will be factored out, mostly into PageUpdateController


 * Revision::getContent will continue to function for fetching the content of the main slot. For access to other slots, application logic should use RevisionLookup and RevisionRecord directly.
 * Revision will act mostly as a wrapper around a RevisionRecord.
 * Any code in Revision concerned with loading or storing blob data will be moved to a BlobStored.
 * Any code in Revision concerned with updating the Revision table may be moved to PageUpdateController, though at least during migration, it may be better of PageUpdateController calls the existing methods in Revision, in particular insertOn.