V15: Remove Nucache (#17166)
* Remove nucache reference from Web.Common * Get tests building-ish * Move ReservedFieldNamesService to the right project * Remove IPublishedSnapshotStatus * Added functionality to the INavigationQueryService to get root keys * Fixed issue with navigation * Remove IPublishedSnapshot from UmbracoContext * Begin removing usage of IPublishedSnapshot from PublishedContentExtensions * Fix PublishedContentExtensions.cs * Don't use snapshots in delivery media api * Use IPublishedMediaCache in QueryMediaApiController * Remove more usages of IPublishedSnapshotAccessor * Comment out tests * Remove more usages of PublishedSnapshotAccessor * Remove PublishedSnapshot from property * Fixed test build * Fix errors * Fix some tests * Delete NuCache 🎉 * Implement DatabaseCacheRebuilder * Remove usage of IPublishedSnapshotService * Remove IPublishedSnapshotService * Remove TestPublishedSnapshotAccessor and make tests build * Don't test Snapshot cachelevel It's no longer supported * Fix BlockEditorConverter Element != Element document type * Remember to set cachemanager * Fix RichTextParserTests * Implement TryGetLevel on INavigationQueryService * Fake level and obsolete it in PublishedContent * Remove ChildrenForAllCultures * Hack Path property on PublishedContent * Remove usages of IPublishedSnapshot in tests * More ConvertersTests * Add hybrid cache to integration tests We can actually do this now because we no longer save files on disk * Rename IPublishedSnapshotRebuilder to ICacheRebuilder * Comment out tests * V15: Replacing the usages of Parent (navigation data) from IPublishedContent (#17125) * Fix .Parent references in PublishedContentExtensions * Add missing methods to FriendlyPublishedContentExtensions (ones that you were able to call on the content directly as they now require extra params) * Fix references from the extension methods * Fix dependencies in tests * Replace IPublishedSnapshotAccessor with the content cache in tests * Resolving more .Parent references * Fix unit tests * Obsolete and use extension methods * Remove private method and use extension instead * Moving code around * Fix tests * Fix more references * Cleanup * Fix more usages * Resolve merge conflict * Fix tests * Cleanup * Fix more tests * Fixed unit tests * Cleanup * Replace last usages --------- Co-authored-by: Bjarke Berg <mail@bergmania.dk> * Remove usage of IPublishedSnapshotAccessor from IRequestItemProvider * Post merge fixup * Remo IPublishedSnapshot * Add HasAny to IDocumentUrlService * Fix TextBuilder * Fix modelsbuilder tests * Use explicit types * Implement GetByContentType * Support element types in PublishedContentTypeCache * Run enlistments before publishing notifications * Fix elements cache refreshing * Implement GetByUdi * Implement GetAtRoot * Implement GetByRoute * Reimplement GetRouteById * Fix blocks unit tests * Initialize domain cache on boot * Only return routes with domains on non default lanauges * V15: Replacing the usages of `Children` (navigation data) from `IPublishedContent` (#17159) * Update params in PublishedContentExtensions to the general interfaces for the published cache and navigation service, so that we can use the extension methods on both documents and media * Introduce GetParent() which uses the right services * Fix obsolete message on .Parent * Obsolete .Children * Fix usages of Children for ApiMediaQueryService * Fix usage in internal * Fix usages in views * Fix indentation * Fix issue with delete language * Update nuget pacakges * Clear elements cache when content is deleted instead of trying to update it * Reset publishedModelFactory * Fixed publishing --------- Co-authored-by: Bjarke Berg <mail@bergmania.dk> Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com> Co-authored-by: kjac <kja@umbraco.dk>
This commit is contained in:
@@ -209,7 +209,7 @@ public static class ContentRepositoryExtensions
|
||||
{
|
||||
foreach (IPropertyValue pvalue in otherProperty.Values)
|
||||
{
|
||||
if (((otherProperty?.PropertyType.SupportsVariation(pvalue.Culture, pvalue.Segment, true) ?? false) &&
|
||||
if (((otherProperty?.PropertyType?.SupportsVariation(pvalue.Culture, pvalue.Segment, true) ?? false) &&
|
||||
(culture == "*" ||(pvalue.Culture?.InvariantEquals(culture) ?? false))) ||
|
||||
otherProperty?.PropertyType?.Variations == ContentVariation.Nothing)
|
||||
{
|
||||
|
||||
@@ -100,6 +100,7 @@ public interface IPublishedContent : IPublishedElement
|
||||
/// Gets the parent of the content item.
|
||||
/// </summary>
|
||||
/// <remarks>The parent of root content is <c>null</c>.</remarks>
|
||||
[Obsolete("Please use IDocumentNavigationQueryService.TryGetParentKey() instead. Scheduled for removal in V16.")]
|
||||
IPublishedContent? Parent { get; }
|
||||
|
||||
/// <summary>
|
||||
@@ -141,10 +142,6 @@ public interface IPublishedContent : IPublishedElement
|
||||
/// <summary>
|
||||
/// Gets the children of the content item that are available for the current culture.
|
||||
/// </summary>
|
||||
[Obsolete("Please use IDocumentNavigationQueryService.TryGetChildrenKeys() instead. Scheduled for removal in V16.")]
|
||||
IEnumerable<IPublishedContent> Children { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets all the children of the content item, regardless of whether they are available for the current culture.
|
||||
/// </summary>
|
||||
IEnumerable<IPublishedContent> ChildrenForAllCultures { get; }
|
||||
}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Umbraco.Cms.Core.DependencyInjection;
|
||||
using Umbraco.Cms.Core.PublishedCache;
|
||||
using Umbraco.Cms.Core.Services.Navigation;
|
||||
using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
@@ -33,9 +37,11 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
public abstract int SortOrder { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
[Obsolete("Not supported for members, scheduled for removal in v17")]
|
||||
public abstract int Level { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
[Obsolete("Not supported for members, scheduled for removal in v17")]
|
||||
public abstract string Path { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -66,18 +72,41 @@ namespace Umbraco.Cms.Core.Models.PublishedContent
|
||||
public abstract bool IsPublished(string? culture = null);
|
||||
|
||||
/// <inheritdoc />
|
||||
[Obsolete("Please use TryGetParentKey() on IDocumentNavigationQueryService or IMediaNavigationQueryService instead. Scheduled for removal in V16.")]
|
||||
public abstract IPublishedContent? Parent { get; }
|
||||
|
||||
// FIXME
|
||||
/// <inheritdoc />
|
||||
public virtual IEnumerable<IPublishedContent> Children => this.Children(_variationContextAccessor);
|
||||
[Obsolete("Please use TryGetChildrenKeys() on IDocumentNavigationQueryService or IMediaNavigationQueryService instead. Scheduled for removal in V16.")]
|
||||
public virtual IEnumerable<IPublishedContent> Children => GetChildren();
|
||||
|
||||
/// <inheritdoc />
|
||||
public abstract IEnumerable<IPublishedContent> ChildrenForAllCultures { get; }
|
||||
|
||||
/// <inheritdoc cref="IPublishedElement.Properties"/>
|
||||
public abstract IEnumerable<IPublishedProperty> Properties { get; }
|
||||
|
||||
/// <inheritdoc cref="IPublishedElement.GetProperty(string)"/>
|
||||
public abstract IPublishedProperty? GetProperty(string alias);
|
||||
|
||||
private IEnumerable<IPublishedContent> GetChildren()
|
||||
{
|
||||
INavigationQueryService? navigationQueryService;
|
||||
IPublishedCache? publishedCache;
|
||||
|
||||
switch (ContentType.ItemType)
|
||||
{
|
||||
case PublishedItemType.Content:
|
||||
publishedCache = StaticServiceProvider.Instance.GetRequiredService<IPublishedContentCache>();
|
||||
navigationQueryService = StaticServiceProvider.Instance.GetRequiredService<IDocumentNavigationQueryService>();
|
||||
break;
|
||||
case PublishedItemType.Media:
|
||||
publishedCache = StaticServiceProvider.Instance.GetRequiredService<IPublishedMediaCache>();
|
||||
navigationQueryService = StaticServiceProvider.Instance.GetRequiredService<IMediaNavigationQueryService>();
|
||||
break;
|
||||
default:
|
||||
throw new NotImplementedException("Level is not implemented for " + ContentType.ItemType);
|
||||
}
|
||||
|
||||
return this.Children(_variationContextAccessor, publishedCache, navigationQueryService);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Umbraco.Cms.Core.DependencyInjection;
|
||||
using Umbraco.Cms.Core.PublishedCache;
|
||||
using Umbraco.Cms.Core.Services.Navigation;
|
||||
using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Core.Models.PublishedContent;
|
||||
|
||||
@@ -90,6 +95,7 @@ public abstract class PublishedContentWrapped : IPublishedContent
|
||||
public virtual PublishedItemType ItemType => _content.ItemType;
|
||||
|
||||
/// <inheritdoc />
|
||||
[Obsolete("Please use TryGetParentKey() on IDocumentNavigationQueryService or IMediaNavigationQueryService instead. Scheduled for removal in V16.")]
|
||||
public virtual IPublishedContent? Parent => _content.Parent;
|
||||
|
||||
/// <inheritdoc />
|
||||
@@ -99,11 +105,9 @@ public abstract class PublishedContentWrapped : IPublishedContent
|
||||
public virtual bool IsPublished(string? culture = null) => _content.IsPublished(culture);
|
||||
|
||||
/// <inheritdoc />
|
||||
[Obsolete("Please use TryGetChildrenKeys() on IDocumentNavigationQueryService or IMediaNavigationQueryService instead. Scheduled for removal in V16.")]
|
||||
public virtual IEnumerable<IPublishedContent> Children => _content.Children;
|
||||
|
||||
/// <inheritdoc />
|
||||
public virtual IEnumerable<IPublishedContent> ChildrenForAllCultures => _content.ChildrenForAllCultures;
|
||||
|
||||
/// <inheritdoc cref="IPublishedElement.Properties" />
|
||||
public virtual IEnumerable<IPublishedProperty> Properties => _content.Properties;
|
||||
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Umbraco.Cms.Core.DependencyInjection;
|
||||
using Umbraco.Cms.Core.PublishedCache;
|
||||
using Umbraco.Cms.Core.Services;
|
||||
using Umbraco.Cms.Core.Services.Navigation;
|
||||
using Umbraco.Extensions;
|
||||
|
||||
namespace Umbraco.Cms.Core.Models.PublishedContent;
|
||||
@@ -184,7 +188,7 @@ public class PublishedValueFallback : IPublishedValueFallback
|
||||
IPublishedProperty? property; // if we are here, content's property has no value
|
||||
do
|
||||
{
|
||||
content = content?.Parent;
|
||||
content = content?.Parent<IPublishedContent>(StaticServiceProvider.Instance.GetRequiredService<IPublishedContentCache>(), StaticServiceProvider.Instance.GetRequiredService<IDocumentNavigationQueryService>());
|
||||
|
||||
IPublishedPropertyType? propertyType = content?.ContentType.GetPropertyType(alias);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user