From 134cc176fffbe0007a0200992da3112111e1b5df Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 30 Jan 2019 17:50:13 +1100 Subject: [PATCH] Moves the Xml published cache to the tests project since that is the only place it is used, removes the xml data integrity check since it's not needed, removes the xml published cache benchmark since it's not needed. Now we don't include the old xml published cache at all in the shipped product. --- .../Umbraco.Tests.Benchmarks.csproj | 1 - .../XmlPublishedContentInitBenchmarks.cs | 311 ------------------ .../PublishedContentCacheTests.cs | 4 +- .../PublishedMediaCacheTests.cs | 2 +- .../DictionaryPublishedContent.cs | 4 +- .../LegacyXmlPublishedCache}/DomainCache.cs | 5 +- .../PreviewContent.cs | 2 +- .../PublishedContentCache.cs | 10 +- .../PublishedMediaCache.cs | 10 +- .../PublishedMemberCache.cs | 4 +- .../PublishedSnapshot.cs | 3 +- .../PublishedSnapshotService.cs | 5 +- .../LegacyXmlPublishedCache}/RoutesCache.cs | 7 +- .../SafeXmlReaderWriter.cs | 2 +- .../UmbracoContextCache.cs | 9 +- .../XmlPublishedContent.cs | 4 +- .../XmlPublishedProperty.cs | 2 +- .../LegacyXmlPublishedCache}/XmlStore.cs | 5 +- .../XmlStoreFilePersister.cs | 3 +- .../PublishedContent/PublishedMediaTests.cs | 2 +- src/Umbraco.Tests/Routing/RoutesCacheTests.cs | 2 +- src/Umbraco.Tests/Routing/UrlProviderTests.cs | 2 +- src/Umbraco.Tests/Routing/UrlRoutesTests.cs | 2 +- .../Routing/UrlsProviderWithDomainsTests.cs | 2 +- .../Routing/UrlsWithNestedDomains.cs | 2 +- src/Umbraco.Tests/Scoping/ScopedXmlTests.cs | 2 +- .../TestHelpers/TestWithDatabaseBase.cs | 2 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 15 + .../Web/Mvc/UmbracoViewPageTests.cs | 2 +- .../xmldataintegrityreport.controller.js | 62 ---- .../settings/xmldataintegrityreport.html | 29 -- .../Editors/BackOfficeServerVariables.cs | 4 - .../Editors/PublishedStatusController.cs | 3 - .../Editors/XmlDataIntegrityController.cs | 61 ---- src/Umbraco.Web/Umbraco.Web.csproj | 16 - 35 files changed, 66 insertions(+), 535 deletions(-) delete mode 100644 src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/DictionaryPublishedContent.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/DomainCache.cs (94%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PreviewContent.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PublishedContentCache.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PublishedMediaCache.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PublishedMemberCache.cs (98%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PublishedSnapshot.cs (95%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/PublishedSnapshotService.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/RoutesCache.cs (95%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/SafeXmlReaderWriter.cs (98%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/UmbracoContextCache.cs (81%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/XmlPublishedContent.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/XmlPublishedProperty.cs (98%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/XmlStore.cs (99%) rename src/{Umbraco.Web/PublishedCache/XmlPublishedCache => Umbraco.Tests/LegacyXmlPublishedCache}/XmlStoreFilePersister.cs (98%) delete mode 100644 src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js delete mode 100644 src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html delete mode 100644 src/Umbraco.Web/Editors/XmlDataIntegrityController.cs diff --git a/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj b/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj index 233da0d14b..48d69cf757 100644 --- a/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj +++ b/src/Umbraco.Tests.Benchmarks/Umbraco.Tests.Benchmarks.csproj @@ -61,7 +61,6 @@ - diff --git a/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs b/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs deleted file mode 100644 index bc18b97d47..0000000000 --- a/src/Umbraco.Tests.Benchmarks/XmlPublishedContentInitBenchmarks.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Xml; -using BenchmarkDotNet.Attributes; -using Moq; -using Umbraco.Core; -using Umbraco.Core.Logging; -using Umbraco.Core.Models; -using Umbraco.Core.Models.PublishedContent; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.Services; -using Umbraco.Tests.Benchmarks.Config; -using Umbraco.Web.PublishedCache.XmlPublishedCache; - -namespace Umbraco.Tests.Benchmarks -{ - [QuickRunWithMemoryDiagnoserConfig] - public class XmlPublishedContentInitBenchmarks - { - public XmlPublishedContentInitBenchmarks() - { - _xml10 = Build(10); - _xml100 = Build(100); - _xml1000 = Build(1000); - _xml10000 = Build(10000); - } - - private readonly string[] _intAttributes = { "id", "parentID", "nodeType", "level", "writerID", "creatorID", "template", "sortOrder", "isDoc", "isDraft" }; - private readonly string[] _strAttributes = { "nodeName", "urlName", "writerName", "creatorName", "path" }; - private readonly string[] _dateAttributes = { "createDate", "updateDate" }; - private readonly string[] _guidAttributes = { "key", "version" }; - - private XmlDocument Build(int children) - { - var xml = new XmlDocument(); - var root = Build(xml, "Home", 10); - for (int i = 0; i < children; i++) - { - var child = Build(xml, "child" + i, 10); - root.AppendChild(child); - } - xml.AppendChild(root); - return xml; - } - - private XmlElement Build(XmlDocument xml, string name, int propertyCount) - { - var random = new Random(); - var content = xml.CreateElement(name); - foreach (var p in _intAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = random.Next(1, 9).ToInvariantString(); - content.Attributes.Append(a); - } - foreach (var p in _strAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = Guid.NewGuid().ToString(); - content.Attributes.Append(a); - } - foreach (var p in _guidAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = Guid.NewGuid().ToString(); - content.Attributes.Append(a); - } - foreach (var p in _dateAttributes) - { - var a = xml.CreateAttribute(p); - a.Value = DateTime.Now.ToString("o"); - content.Attributes.Append(a); - } - - for (int i = 0; i < propertyCount; i++) - { - var prop = xml.CreateElement("prop" + i); - var cdata = xml.CreateCDataSection(string.Join("", Enumerable.Range(0, 10).Select(x => Guid.NewGuid().ToString()))); - prop.AppendChild(cdata); - content.AppendChild(prop); - } - - return content; - } - - private readonly XmlDocument _xml10; - private readonly XmlDocument _xml100; - private readonly XmlDocument _xml1000; - private readonly XmlDocument _xml10000; - - //out props - int id, nodeType, level, writerId, creatorId, template, sortOrder; - Guid key, version; - string name, urlName, writerName, creatorName, docTypeAlias, path; - bool isDraft; - bool isPublished; - DateTime createDate, updateDate; - PublishedContentType publishedContentType; - Dictionary properties; - - [Benchmark(Baseline = true, OperationsPerInvoke = 10)] - public void Original_10_Children() - { - OriginalInitializeNode(_xml10.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_100_Children() - { - OriginalInitializeNode(_xml100.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_1000_Children() - { - OriginalInitializeNode(_xml1000.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Original_10000_Children() - { - OriginalInitializeNode(_xml10000.DocumentElement, false, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out version, out createDate, out updateDate, out level, out isDraft, out isPublished, out publishedContentType, - out properties); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_10_Children() - { - XmlPublishedContent.InitializeNode(null, _xml10.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft, out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_100_Children() - { - XmlPublishedContent.InitializeNode(null, _xml100.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft, out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_1000_Children() - { - XmlPublishedContent.InitializeNode(null, _xml1000.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft,out publishedContentType, - out properties, GetPublishedContentType); - } - - [Benchmark(OperationsPerInvoke = 10)] - public void Enhanced_10000_Children() - { - XmlPublishedContent.InitializeNode(null, _xml10000.DocumentElement, false, - out id, out key, out template, out sortOrder, out name, out writerName, out urlName, - out creatorName, out creatorId, out writerId, out docTypeAlias, out nodeType, out path, - out createDate, out updateDate, out level, out isDraft,out publishedContentType, - out properties, GetPublishedContentType); - } - - - internal static void OriginalInitializeNode(XmlNode xmlNode, bool legacy, bool isPreviewing, - out int id, out Guid key, out int template, out int sortOrder, out string name, out string writerName, out string urlName, - out string creatorName, out int creatorId, out int writerId, out string docTypeAlias, out int docTypeId, out string path, - out Guid version, out DateTime createDate, out DateTime updateDate, out int level, out bool isDraft, out bool isPublished, - out PublishedContentType contentType, out Dictionary properties) - { - //initialize the out params with defaults: - writerName = null; - docTypeAlias = null; - id = template = sortOrder = template = creatorId = writerId = docTypeId = level = default(int); - key = version = default(Guid); - name = writerName = urlName = creatorName = docTypeAlias = path = null; - createDate = updateDate = default(DateTime); - isDraft = false; - isPublished = true; - contentType = null; - properties = null; - - //return if this is null - if (xmlNode == null) - { - return; - } - - if (xmlNode.Attributes != null) - { - id = int.Parse(xmlNode.Attributes.GetNamedItem("id").Value); - if (xmlNode.Attributes.GetNamedItem("key") != null) // because, migration - key = Guid.Parse(xmlNode.Attributes.GetNamedItem("key").Value); - if (xmlNode.Attributes.GetNamedItem("template") != null) - template = int.Parse(xmlNode.Attributes.GetNamedItem("template").Value); - if (xmlNode.Attributes.GetNamedItem("sortOrder") != null) - sortOrder = int.Parse(xmlNode.Attributes.GetNamedItem("sortOrder").Value); - if (xmlNode.Attributes.GetNamedItem("nodeName") != null) - name = xmlNode.Attributes.GetNamedItem("nodeName").Value; - if (xmlNode.Attributes.GetNamedItem("writerName") != null) - writerName = xmlNode.Attributes.GetNamedItem("writerName").Value; - if (xmlNode.Attributes.GetNamedItem("urlName") != null) - urlName = xmlNode.Attributes.GetNamedItem("urlName").Value; - // Creatorname is new in 2.1, so published xml might not have it! - try - { - creatorName = xmlNode.Attributes.GetNamedItem("creatorName").Value; - } - catch - { - creatorName = writerName; - } - - //Added the actual userID, as a user cannot be looked up via full name only... - if (xmlNode.Attributes.GetNamedItem("creatorID") != null) - creatorId = int.Parse(xmlNode.Attributes.GetNamedItem("creatorID").Value); - if (xmlNode.Attributes.GetNamedItem("writerID") != null) - writerId = int.Parse(xmlNode.Attributes.GetNamedItem("writerID").Value); - - if (legacy) - { - if (xmlNode.Attributes.GetNamedItem("nodeTypeAlias") != null) - docTypeAlias = xmlNode.Attributes.GetNamedItem("nodeTypeAlias").Value; - } - else - { - docTypeAlias = xmlNode.Name; - } - - if (xmlNode.Attributes.GetNamedItem("nodeType") != null) - docTypeId = int.Parse(xmlNode.Attributes.GetNamedItem("nodeType").Value); - if (xmlNode.Attributes.GetNamedItem("path") != null) - path = xmlNode.Attributes.GetNamedItem("path").Value; - if (xmlNode.Attributes.GetNamedItem("version") != null) - version = new Guid(xmlNode.Attributes.GetNamedItem("version").Value); - if (xmlNode.Attributes.GetNamedItem("createDate") != null) - createDate = DateTime.Parse(xmlNode.Attributes.GetNamedItem("createDate").Value); - if (xmlNode.Attributes.GetNamedItem("updateDate") != null) - updateDate = DateTime.Parse(xmlNode.Attributes.GetNamedItem("updateDate").Value); - if (xmlNode.Attributes.GetNamedItem("level") != null) - level = int.Parse(xmlNode.Attributes.GetNamedItem("level").Value); - - isDraft = (xmlNode.Attributes.GetNamedItem("isDraft") != null); - } - - // load data - - var dataXPath = legacy ? "data" : "* [not(@isDoc)]"; - var nodes = xmlNode.SelectNodes(dataXPath); - - contentType = GetPublishedContentType(PublishedItemType.Content, docTypeAlias); - - var propertyNodes = new Dictionary(); - if (nodes != null) - foreach (XmlNode n in nodes) - { - var attrs = n.Attributes; - if (attrs == null) continue; - var alias = legacy - ? attrs.GetNamedItem("alias").Value - : n.Name; - propertyNodes[alias.ToLowerInvariant()] = n; - } - properties = contentType.PropertyTypes.Select(p => - { - XmlNode n; - return propertyNodes.TryGetValue(p.Alias.ToLowerInvariant(), out n) - ? new XmlPublishedProperty(p, null, isPreviewing, n) - : new XmlPublishedProperty(p, null, isPreviewing); - }).Cast().ToDictionary( - x => x.Alias, - x => x, - StringComparer.OrdinalIgnoreCase); - } - - private static PublishedContentType GetPublishedContentType(PublishedItemType type, string alias) - { - var dataType = new DataType(new VoidEditor(Mock.Of())) { Id = 1 }; - - var dataTypeService = Mock.Of(); - Mock.Get(dataTypeService) - .Setup(x => x.GetDataType(It.IsAny())) - .Returns(id => id == 1 ? dataType : null); - Mock.Get(dataTypeService) - .Setup(x => x.GetAll()) - .Returns(new[] { dataType }); - - var factory = new PublishedContentTypeFactory(Mock.Of(), new PropertyValueConverterCollection(Array.Empty()), dataTypeService); - return factory.CreateContentType(0, alias, new string[] {}, - new List(Enumerable.Range(0, 10).Select(x => factory.CreatePropertyType("prop" + x, 1)))); - } - } -} diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs index e868e32b07..87ec4215ac 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedContentCacheTests.cs @@ -7,12 +7,12 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Tests.Testing.Objects.Accessors; using Umbraco.Web; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Web.Security; @@ -66,7 +66,7 @@ namespace Umbraco.Tests.Cache.PublishedCache var xmlStore = new XmlStore(() => _xml, null, null, null); var appCache = new DictionaryAppCache(); var domainCache = new DomainCache(ServiceContext.DomainService, DefaultCultureAccessor); - var publishedShapshot = new Umbraco.Web.PublishedCache.XmlPublishedCache.PublishedSnapshot( + var publishedShapshot = new PublishedSnapshot( new PublishedContentCache(xmlStore, domainCache, appCache, globalSettings, new SiteDomainHelper(), umbracoContextAccessor, ContentTypesCache, null, null), new PublishedMediaCache(xmlStore, ServiceContext.MediaService, ServiceContext.UserService, appCache, ContentTypesCache, Factory.GetInstance(), umbracoContextAccessor), new PublishedMemberCache(null, appCache, Current.Services.MemberService, ContentTypesCache, umbracoContextAccessor), diff --git a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs index 07a6a6ee82..08eeb8ef4d 100644 --- a/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs +++ b/src/Umbraco.Tests/Cache/PublishedCache/PublishedMediaCacheTests.cs @@ -10,12 +10,12 @@ using Umbraco.Core.Composing; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Strings; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Tests.Testing; using Current = Umbraco.Web.Composing.Current; using Umbraco.Core.Models; using Umbraco.Core.Models.Membership; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.PublishedContent; using Umbraco.Web; diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs index 74043a9519..d3cbf1f183 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DictionaryPublishedContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs @@ -8,10 +8,12 @@ using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Web; using Umbraco.Web.Composing; using Umbraco.Web.Models; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// An IPublishedContent that is represented all by a dictionary. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs similarity index 94% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs index 4571e9d42b..cde2077551 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/DomainCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/DomainCache.cs @@ -1,11 +1,12 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -using Umbraco.Web.Routing; using Umbraco.Core; using Umbraco.Core.Services; +using Umbraco.Web.PublishedCache; +using Umbraco.Web.Routing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { internal class DomainCache : IDomainCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs index 515fb96679..84b6f2b91c 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PreviewContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs @@ -7,7 +7,7 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Web.Composing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { class PreviewContent { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs index 6fd9f1da2b..51c6668913 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedContentCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedContentCache.cs @@ -1,17 +1,19 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; using System.Xml; using System.Xml.XPath; -using Umbraco.Core.Configuration; using Umbraco.Core; +using Umbraco.Core.Cache; +using Umbraco.Core.Configuration; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Xml; +using Umbraco.Web; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Routing; -using System.Linq; -using Umbraco.Core.Cache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { internal class PublishedContentCache : PublishedCacheBase, IPublishedContentCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs index 7f9a21d24b..8cfc06c501 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs @@ -6,21 +6,21 @@ using System.Linq; using System.Threading; using System.Xml.XPath; using Examine; -using Examine.Providers; using Examine.Search; using Lucene.Net.Store; using Umbraco.Core; +using Umbraco.Core.Cache; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Core.Services; using Umbraco.Core.Xml; using Umbraco.Examine; -using Umbraco.Core.Cache; -using Umbraco.Core.Services; -using Umbraco.Core.Services.Implement; +using Umbraco.Web; using Umbraco.Web.Composing; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// An IPublishedMediaStore that first checks for the media in Examine, and then reverts to the database diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs index db6d85fb2d..c882488f20 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMemberCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMemberCache.cs @@ -6,9 +6,11 @@ using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Security; using Umbraco.Core.Services; +using Umbraco.Web; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Security; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { class PublishedMemberCache : IPublishedMemberCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs similarity index 95% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs index b9243309a2..bfef187371 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshot.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshot.cs @@ -1,8 +1,9 @@ using System; using Umbraco.Core; using Umbraco.Core.Cache; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Implements a published snapshot. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs index d96bfd8a0a..4a201ae44c 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedSnapshotService.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedSnapshotService.cs @@ -11,11 +11,12 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Scoping; using Umbraco.Core.Services; -using Umbraco.Core.Strings; +using Umbraco.Web; using Umbraco.Web.Cache; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Routing; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Implements a published snapshot service. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs similarity index 95% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs index fb227fe65f..71f2f421ff 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/RoutesCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/RoutesCache.cs @@ -1,10 +1,7 @@ -using System; -using System.Collections.Concurrent; +using System.Collections.Concurrent; using System.Collections.Generic; -using System.Linq; -using System.Text; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { // Note: RoutesCache closely follows the caching strategy dating from v4, which // is obviously broken in many ways (eg it's a global cache but relying to some diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs index 37a6b666d4..c0b9383b57 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/SafeXmlReaderWriter.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/SafeXmlReaderWriter.cs @@ -3,7 +3,7 @@ using System.Xml; using Umbraco.Core; using Umbraco.Core.Scoping; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { // TODO: should be a ScopeContextualBase internal class SafeXmlReaderWriter : IDisposable diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs similarity index 81% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs index 6b82a7ee3d..fc6dbe3f30 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/UmbracoContextCache.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/UmbracoContextCache.cs @@ -1,11 +1,8 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Collections.Concurrent; using System.Runtime.CompilerServices; +using Umbraco.Web; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { static class UmbracoContextCache { diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs index 9a4c1f239c..e1819bf0be 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedContent.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedContent.cs @@ -7,10 +7,12 @@ using System.Xml.XPath; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Web; using Umbraco.Web.Composing; using Umbraco.Web.Models; +using Umbraco.Web.PublishedCache; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs index 805f7d9325..0c90c8d1ff 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlPublishedProperty.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlPublishedProperty.cs @@ -5,7 +5,7 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Xml; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs similarity index 99% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs index 36a8334782..3fb3d40e5b 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStore.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs @@ -12,7 +12,6 @@ using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Persistence; -using Umbraco.Core.Persistence.DatabaseModelDefinitions; using Umbraco.Core.Persistence.Dtos; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.Repositories.Implement; @@ -20,15 +19,15 @@ using Umbraco.Core.Scoping; using Umbraco.Core.Services; using Umbraco.Core.Services.Changes; using Umbraco.Core.Services.Implement; -using Umbraco.Core.Strings; using Umbraco.Core.Xml; using Umbraco.Web.Cache; using Umbraco.Web.Composing; +using Umbraco.Web.PublishedCache; using Umbraco.Web.Scheduling; using File = System.IO.File; using Task = System.Threading.Tasks.Task; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// Represents the Xml storage for the Xml published cache. diff --git a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs similarity index 98% rename from src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs rename to src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs index 83d25d3e49..145a19872a 100644 --- a/src/Umbraco.Web/PublishedCache/XmlPublishedCache/XmlStoreFilePersister.cs +++ b/src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs @@ -1,11 +1,10 @@ using System; using System.Threading; -using System.Threading.Tasks; using Umbraco.Core; using Umbraco.Core.Logging; using Umbraco.Web.Scheduling; -namespace Umbraco.Web.PublishedCache.XmlPublishedCache +namespace Umbraco.Tests.LegacyXmlPublishedCache { /// /// This is the background task runner that persists the xml file to the file system diff --git a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs index bc1d8c2b70..a9022554c9 100644 --- a/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs +++ b/src/Umbraco.Tests/PublishedContent/PublishedMediaTests.cs @@ -8,7 +8,6 @@ using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Umbraco.Tests.UmbracoExamine; using Umbraco.Web; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using System.Linq; using System.Threading; using System.Xml; @@ -23,6 +22,7 @@ using Umbraco.Core.Composing; using Umbraco.Core.Models.Membership; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; namespace Umbraco.Tests.PublishedContent { diff --git a/src/Umbraco.Tests/Routing/RoutesCacheTests.cs b/src/Umbraco.Tests/Routing/RoutesCacheTests.cs index 76c2a45ab2..46af27c56e 100644 --- a/src/Umbraco.Tests/Routing/RoutesCacheTests.cs +++ b/src/Umbraco.Tests/Routing/RoutesCacheTests.cs @@ -4,9 +4,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using NUnit.Framework; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Routing/UrlProviderTests.cs b/src/Umbraco.Tests/Routing/UrlProviderTests.cs index f223f2fbea..34a038cffe 100644 --- a/src/Umbraco.Tests/Routing/UrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/UrlProviderTests.cs @@ -9,11 +9,11 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Tests.Testing; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; namespace Umbraco.Tests.Routing diff --git a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs index 4928cd01dc..a794e226f1 100644 --- a/src/Umbraco.Tests/Routing/UrlRoutesTests.cs +++ b/src/Umbraco.Tests/Routing/UrlRoutesTests.cs @@ -4,9 +4,9 @@ using NUnit.Framework; using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs index dc9a52835b..be654b4a09 100644 --- a/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs +++ b/src/Umbraco.Tests/Routing/UrlsProviderWithDomainsTests.cs @@ -8,8 +8,8 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; namespace Umbraco.Tests.Routing diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs index bb06ff894b..3d3533697c 100644 --- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs +++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs @@ -6,9 +6,9 @@ using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Models; using Umbraco.Tests.TestHelpers; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Core.Services; +using Umbraco.Tests.LegacyXmlPublishedCache; namespace Umbraco.Tests.Routing { diff --git a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs index 11479ea3eb..f1fd0c592b 100644 --- a/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopedXmlTests.cs @@ -12,11 +12,11 @@ using Umbraco.Core.Models; using Umbraco.Core.Services; using Umbraco.Core.Services.Implement; using Umbraco.Core.Sync; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Web.Cache; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; namespace Umbraco.Tests.Scoping { diff --git a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs index 76b163a2df..2bfc1b6dc8 100644 --- a/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs +++ b/src/Umbraco.Tests/TestHelpers/TestWithDatabaseBase.cs @@ -19,7 +19,6 @@ using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Web; using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Security; using Umbraco.Web.Routing; using File = System.IO.File; @@ -30,6 +29,7 @@ using Umbraco.Tests.Testing; using Umbraco.Core.Migrations.Install; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Persistence.Repositories; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.Testing.Objects.Accessors; namespace Umbraco.Tests.TestHelpers diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 03d0d4f8cb..8c86873e0a 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -493,6 +493,21 @@ + + + + + + + + + + + + + + + diff --git a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs index fee18cb382..c5c8b5c77d 100644 --- a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs +++ b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs @@ -12,13 +12,13 @@ using Umbraco.Core.Logging; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.Services; using Umbraco.Core.Strings; +using Umbraco.Tests.LegacyXmlPublishedCache; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.Testing; using Umbraco.Tests.Testing.Objects.Accessors; using Umbraco.Web; using Umbraco.Web.Models; using Umbraco.Web.Mvc; -using Umbraco.Web.PublishedCache.XmlPublishedCache; using Umbraco.Web.Routing; using Umbraco.Web.Security; diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js deleted file mode 100644 index bb8696aca0..0000000000 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.controller.js +++ /dev/null @@ -1,62 +0,0 @@ -function XmlDataIntegrityReportController($scope, umbRequestHelper, $log, $http) { - - function check(item) { - var action = item.check; - umbRequestHelper.resourcePromise( - $http.get(umbRequestHelper.getApiUrl("xmlDataIntegrityBaseUrl", action)), - 'Failed to retrieve data integrity status') - .then(function(result) { - item.checking = false; - item.invalid = result === "false"; - }); - } - - $scope.fix = function(item) { - var action = item.fix; - if (item.fix) { - if (confirm("This will cause all xml structures for this type to be rebuilt. " + - "Depending on how much content there is in your site this could take a while. " + - "It is not recommended to rebuild xml structures if they are not out of sync, during times of high website traffic " + - "or when editors are editing content.")) { - item.fixing = true; - umbRequestHelper.resourcePromise( - $http.post(umbRequestHelper.getApiUrl("xmlDataIntegrityBaseUrl", action)), - 'Failed to retrieve data integrity status') - .then(function(result) { - item.fixing = false; - item.invalid = result === "false"; - }); - } - } - } - - $scope.items = { - "contentXml": { - label: "Content in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixContentXmlTable", - check: "CheckContentXmlTable" - }, - "mediaXml": { - label: "Media in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixMediaXmlTable", - check: "CheckMediaXmlTable" - }, - "memberXml": { - label: "Members in the cmsContentXml table", - checking: true, - fixing: false, - fix: "FixMembersXmlTable", - check: "CheckMembersXmlTable" - } - }; - - for (var i in $scope.items) { - check($scope.items[i]); - } -} - -angular.module("umbraco").controller("Umbraco.Dashboard.XmlDataIntegrityReportController", XmlDataIntegrityReportController); \ No newline at end of file diff --git a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html b/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html deleted file mode 100644 index 11f1834ae4..0000000000 --- a/src/Umbraco.Web.UI.Client/src/views/dashboard/settings/xmldataintegrityreport.html +++ /dev/null @@ -1,29 +0,0 @@ -
- -

Xml Cache Data integrity

- -
- Loading... -
- -

- This checks the data integrity for the xml structures for content, media and members that are stored in the cmsContentXml table. - This does not check the data integrity of the xml cache file, only the xml structures stored in the database used to create the xml cache file. -

-
- {{value.label}} ... - Checking... - Ok - Error -
- -
-
-
-
-
- -
diff --git a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs index a0f8cd6062..83bb152e0a 100644 --- a/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs +++ b/src/Umbraco.Web/Editors/BackOfficeServerVariables.cs @@ -265,10 +265,6 @@ namespace Umbraco.Web.Editors "examineMgmtBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( controller => controller.GetIndexerDetails()) }, - { - "xmlDataIntegrityBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( - controller => controller.CheckContentXmlTable()) - }, { "healthCheckBaseUrl", _urlHelper.GetUmbracoApiServiceBaseUrl( controller => controller.GetAllHealthChecks()) diff --git a/src/Umbraco.Web/Editors/PublishedStatusController.cs b/src/Umbraco.Web/Editors/PublishedStatusController.cs index 937d3f3137..a6272108e9 100644 --- a/src/Umbraco.Web/Editors/PublishedStatusController.cs +++ b/src/Umbraco.Web/Editors/PublishedStatusController.cs @@ -17,9 +17,6 @@ namespace Umbraco.Web.Editors [HttpGet] public string GetPublishedStatusUrl() { - if (_publishedSnapshotService is PublishedCache.XmlPublishedCache.PublishedSnapshotService) - return "views/dashboard/settings/xmldataintegrityreport.html"; - //if (service is PublishedCache.PublishedNoCache.PublishedSnapshotService) // return "views/dashboard/developer/nocache.html"; diff --git a/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs b/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs deleted file mode 100644 index 4862b86f69..0000000000 --- a/src/Umbraco.Web/Editors/XmlDataIntegrityController.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Web.Http; -using Umbraco.Web.PublishedCache; -using Umbraco.Web.PublishedCache.XmlPublishedCache; -using Umbraco.Web.WebApi; -using Umbraco.Web.WebApi.Filters; - -namespace Umbraco.Web.Editors -{ - [ValidateAngularAntiForgeryToken] - public class XmlDataIntegrityController : UmbracoAuthorizedApiController - { - private readonly PublishedSnapshotService _publishedSnapshotService; - - public XmlDataIntegrityController(IPublishedSnapshotService publishedSnapshotService) - { - if (publishedSnapshotService == null) throw new ArgumentNullException(nameof(publishedSnapshotService)); - _publishedSnapshotService = publishedSnapshotService as PublishedSnapshotService; - if (_publishedSnapshotService == null) throw new NotSupportedException("Unsupported IPublishedSnapshotService, only the Xml one is supported."); - } - - [HttpPost] - public bool FixContentXmlTable() - { - _publishedSnapshotService.RebuildContentAndPreviewXml(); - return _publishedSnapshotService.VerifyContentAndPreviewXml(); - } - - [HttpPost] - public bool FixMediaXmlTable() - { - _publishedSnapshotService.RebuildMediaXml(); - return _publishedSnapshotService.VerifyMediaXml(); - } - - [HttpPost] - public bool FixMembersXmlTable() - { - _publishedSnapshotService.RebuildMemberXml(); - return _publishedSnapshotService.VerifyMemberXml(); - } - - [HttpGet] - public bool CheckContentXmlTable() - { - return _publishedSnapshotService.VerifyContentAndPreviewXml(); - } - - [HttpGet] - public bool CheckMediaXmlTable() - { - return _publishedSnapshotService.VerifyMediaXml(); - } - - [HttpGet] - public bool CheckMembersXmlTable() - { - return _publishedSnapshotService.VerifyMemberXml(); - } - } -} diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index 91ffbe68b5..93d26a7e0e 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -536,15 +536,6 @@ - - - - - - - - - @@ -1023,7 +1014,6 @@ - @@ -1031,8 +1021,6 @@ - - @@ -1139,10 +1127,7 @@ - - - @@ -1194,7 +1179,6 @@ Component -