U4-11227 - default variations and fallback (wip)

This commit is contained in:
Stephan
2018-04-18 19:46:47 +02:00
parent 8873fa9dd4
commit 908589277a
52 changed files with 590 additions and 228 deletions

View File

@@ -18,7 +18,7 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
// fixme - use SqlTemplate for these queries else it's going to be horribly slow!
// provides efficient database access for NuCache
internal class Database
internal class DatabaseDataSource : IDataSource
{
// we want arrays, we want them all loaded, not an enumerable
@@ -186,7 +186,7 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
{
if (Debugger.IsAttached)
throw new Exception("Missing cmsContentNu edited content for node " + dto.Id + ", consider rebuilding.");
Current.Logger.Warn<Database>("Missing cmsContentNu edited content for node " + dto.Id + ", consider rebuilding.");
Current.Logger.Warn<DatabaseDataSource>("Missing cmsContentNu edited content for node " + dto.Id + ", consider rebuilding.");
}
else
{
@@ -211,7 +211,7 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
{
if (Debugger.IsAttached)
throw new Exception("Missing cmsContentNu published content for node " + dto.Id + ", consider rebuilding.");
Current.Logger.Warn<Database>("Missing cmsContentNu published content for node " + dto.Id + ", consider rebuilding.");
Current.Logger.Warn<DatabaseDataSource>("Missing cmsContentNu published content for node " + dto.Id + ", consider rebuilding.");
}
else
{

View File

@@ -0,0 +1,21 @@
using System.Collections.Generic;
using Umbraco.Core.Scoping;
namespace Umbraco.Web.PublishedCache.NuCache.DataSource
{
/// <summary>
/// Defines a data source for NuCache.
/// </summary>
internal interface IDataSource
{
ContentNodeKit GetContentSource(IScope scope, int id);
IEnumerable<ContentNodeKit> GetAllContentSources(IScope scope);
IEnumerable<ContentNodeKit> GetBranchContentSources(IScope scope, int id);
IEnumerable<ContentNodeKit> GetTypeContentSources(IScope scope, IEnumerable<int> ids);
ContentNodeKit GetMediaSource(IScope scope, int id);
IEnumerable<ContentNodeKit> GetAllMediaSources(IScope scope);
IEnumerable<ContentNodeKit> GetBranchMediaSources(IScope scope, int id);
IEnumerable<ContentNodeKit> GetTypeMediaSources(IScope scope, IEnumerable<int> ids);
}
}