First pass is "probing": any loader who thinks it can load a
given extension returns a descriptor for it. The descriptor contains
information about how old the extension is.
The extension manager sorts the descriptor list return by probing all
loaders, and picks the most recent entry.
During the 2nd pass, each loader is called again, with the candidate extension
entry as argument. This allows each loader to be notified that, if they don't
load an extension, they might still need to cleanup some state related to
previous loading.
In essence, this is implementing a complete state machine of loaders and
extension "active/inactive" states/transitions.
--HG--
branch : dev
Refactor IAppDataFolder so that it can be used for implementing
DefaultDependenciesFolder.
--HG--
branch : dev
rename : src/Orchard/Environment/Extensions/Loaders/WebFormsExtensionsVirtualFile.cs => src/Orchard/FileSystems/Dependencies/WebFormsExtensionsVirtualFile.cs
rename : src/Orchard/Environment/Extensions/Loaders/WebFormsExtensionsVirtualPathProvider.cs => src/Orchard/FileSystems/Dependencies/WebFormsExtensionsVirtualPathProvider.cs
rename : src/Orchard/Environment/IVirtualPathProvider.cs => src/Orchard/FileSystems/VirtualPath/DefaultVirtualPathProvider.cs
rename : src/Orchard/Environment/ICustomVirtualPathProvider.cs => src/Orchard/FileSystems/VirtualPath/ICustomVirtualPathProvider.cs
Perf: Use the cache manager to keep the list of dependency descriptors in
memory, with invalidation when "dependencies.xml" changes on disk
When loading an assembly from the list of references assemblies, notify
the dependencies folder component, so it removes the entry.
--HG--
branch : dev
Formatter internally encodes information passed as object[] args as appropriate
Resulting LocalizedString marked as html-encoded to prevent double-encoding
Extension method for <%:T.Plural("1 thing", "{0} things", n, ...)%>
--HG--
branch : dev
Exposing user interface for Title and Slug
Calculating Path based on Slug (and container's Path, if present)
Migrating some of the slugify action and jquery support to Core.Routable module
Making a driver for CommonAspect, adding rough placeholder textbox to input container id
--HG--
branch : dev
DefaultContentManager now takes a dependency on IContentDefinitionManager
ContentItem.TypeDefinition assigned to ContentTypeDefinition instance when creating
ContentPart.TypePartDefinition assigned to ContentTypeDefinition.Part instance as added
Empty definition instances are created as code-only types and parts are created
--HG--
branch : dev
Added an IsDirty property to IIndexDocument
Once handlers have contributed to index information, if a document is not dirty, don't add it to the index
--HG--
branch : dev
Contents/Item/Display/{Id} to show published
Contents/Item/Preview/{Id} to show latest (draft or published)
Contents/Item/Preview/{Id}?Version= to particular numbered version
{*Path} in Routable/ItemController.Display to show published where {Path}=RoutableRecord.Path
--HG--
branch : dev