A Migration is a description of the operations to execute when first installing a feature or when upgrading it from a version to the next. This enables smooth upgrades of individual features without data loss.
Handlers are a set of event handlers such as OnCreated or OnSaved. They hook onto the content item's lifecycle to perform a number of tasks. Handlers do something in response to an event during a page's life cycle
: IRouteProvider, public void GetRoutes(), public IEnumberable<RouteDescriptor> GetRoutes()
Drivers are similar to MVC controllers, but they act at the level of content parts instead of the full request. Drivers are specialized Handlers which are associated with specific Content Part type.
: ContentPartDriver<ContentPart>, protected override DriverResult Display(), //GET protected override DriverResult Editor(), //POST protected override DriverResult Editor()
: ContentFieldDriver<ContentField>, protected override DriverResult Display(), //GET protected override DriverResult Editor(), //POST protected override DriverResult Editor()
Content types are classes of content items.
Content parts are atoms of content that are enough to build specific coherent behavior and can be reused across content types. There can only be one of each part for a given content type. Content parts are like implementations of interfaces. Content Type is a Content PartShirt is a Product
Content fields are pieces of information that can be added to a content type. Content fields have a name and a type and are specific to a content type. There can be several of each field type on any given content type. Content Type has a Content Field [and a Content Field, ...]Shirt has a SKU and a price
Templates are used to transform Content Parts, Content Fields, and Widgets into graphical representations.
A layer is a group of widgets that is activated by a specific rule. For example, widgets may be limited to displaying for certain users or on specific pages via layers.
Theme, Placement File, Layout, Zone
Module, Placement File
Records are classes that model the database representation of Content Parts. They are POCOs where each property must be virtual.
Views, Admin, Definitiontemplates, EditorTemplates, Fields, Fields