diff --git a/src/Orchard/Environment/Topology/ICompositionStrategy.cs b/src/Orchard/Environment/Topology/ICompositionStrategy.cs index f6b1ff9c4..62ffed76f 100644 --- a/src/Orchard/Environment/Topology/ICompositionStrategy.cs +++ b/src/Orchard/Environment/Topology/ICompositionStrategy.cs @@ -1,7 +1,14 @@ using Orchard.Environment.Topology.Models; namespace Orchard.Environment.Topology { + /// + /// Service at the host level to transform the cachable topology into the loadable topology. + /// public interface ICompositionStrategy { + /// + /// Using information from the IExtensionManager, transforms and populates all of the + /// topology model the shell builders will need to correctly initialize a tenant IoC container. + /// ShellTopology Compose(ShellTopologyDescriptor descriptor); } } diff --git a/src/Orchard/Environment/Topology/ITopologyDescriptorCache.cs b/src/Orchard/Environment/Topology/ITopologyDescriptorCache.cs index 376778122..576a93c26 100644 --- a/src/Orchard/Environment/Topology/ITopologyDescriptorCache.cs +++ b/src/Orchard/Environment/Topology/ITopologyDescriptorCache.cs @@ -1,8 +1,23 @@ using Orchard.Environment.Topology.Models; namespace Orchard.Environment.Topology { + /// + /// Single service instance registered at the host level. Provides storage + /// and recall of topology descriptor information. Default implementation uses + /// app_data, but configured replacements could use other per-host writable location. + /// public interface ITopologyDescriptorCache { + /// + /// Recreate the named configuration information. Used at startup. + /// Returns null on cache-miss. + /// ShellTopologyDescriptor Fetch(string name); + + /// + /// Commit named configuration to reasonable persistent storage. + /// This storage is scoped to the current-server and current-webapp. + /// Loss of storage is expected. + /// void Store(string name, ShellTopologyDescriptor descriptor); } } diff --git a/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs b/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs index fec1724ce..0cd65117d 100644 --- a/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs +++ b/src/Orchard/Environment/Topology/ITopologyDescriptorProvider.cs @@ -1,7 +1,15 @@ using Orchard.Environment.Topology.Models; namespace Orchard.Environment.Topology { + /// + /// Service resolved out of the shell container. Primarily used by host. + /// public interface ITopologyDescriptorProvider { + /// + /// Uses shell-specific database or other resources to return + /// the current "correct" configuration. The host will use this information + /// to reinitialize the shell. + /// ShellTopologyDescriptor GetTopologyDescriptor(); } } diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 402ed275e..687e0ba4b 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -408,9 +408,6 @@ - - -