From 78ebc1912105e15c6082357583e522cde2750051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Kottal?= Date: Wed, 2 Oct 2019 22:27:51 +0200 Subject: [PATCH 01/14] Port to v8 --- README.md | 4 +- appveyor.yml | 2 +- build/package.proj | 4 +- src/Our.Umbraco.UnVersion.sln | 16 +- src/Our.Umbraco.UnVersion/Bootstrap.cs | 33 +-- .../Our.Umbraco.UnVersion.csproj | 226 ++++++++++++++++-- .../Services/UnVersionService.cs | 176 +++----------- .../UnVersionComponent.cs | 40 ++++ src/Our.Umbraco.UnVersion/UnVersionConfig.cs | 15 +- src/Our.Umbraco.UnVersion/UnVersionContext.cs | 23 -- .../Web/UI/Config/unVersion.config | 2 +- src/Our.Umbraco.UnVersion/packages.config | 68 ++++-- 12 files changed, 360 insertions(+), 249 deletions(-) create mode 100644 src/Our.Umbraco.UnVersion/UnVersionComponent.cs delete mode 100644 src/Our.Umbraco.UnVersion/UnVersionContext.cs diff --git a/README.md b/README.md index d66740b..09f883c 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ This package automaticaly removes any previous versions for those times when a v ### Installation -> *Note:* UnVersion has been developed against **Umbraco v7.1.4** and will support that version and above. +> *Note:* UnVersion has been developed against **Umbraco v8.2.? (Pending PR)** and will support that version and above. UnVersion can be installed from either Our Umbraco or NuGet package repositories, or build manually from the source-code: @@ -34,7 +34,7 @@ We also have a [MyGet package repository](https://www.myget.org/gallery/umbraco- If you prefer, you can compile UnVersion yourself, you'll need: -* Visual Studio 2012 (or above) +* Visual Studio 2017 (or above) To clone it locally click the "Clone in Windows" button above or run the following git commands. diff --git a/appveyor.yml b/appveyor.yml index 1819f67..64097f1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,5 +1,5 @@ # version format -version: 2.2.0.{build} +version: 3.0.0.{build} # UMBRACO_PACKAGE_PRERELEASE_SUFFIX if a rtm release build this should be blank, otherwise if empty will default to alpha # example UMBRACO_PACKAGE_PRERELEASE_SUFFIX=beta diff --git a/build/package.proj b/build/package.proj index f9855ac..024e138 100644 --- a/build/package.proj +++ b/build/package.proj @@ -18,8 +18,8 @@ Our.Umbraco.UnVersion UnVersion - 7.1.4 - A content un-versioning package for Umbraco 7.1+ + 8.2.1 + A content un-versioning package for Umbraco 8.2+ Matt Brailsford, Lee Kelleher https://github.com/umco/umbraco-unversion/graphs/contributors MIT license diff --git a/src/Our.Umbraco.UnVersion.sln b/src/Our.Umbraco.UnVersion.sln index f84d868..d6bf3a8 100644 --- a/src/Our.Umbraco.UnVersion.sln +++ b/src/Our.Umbraco.UnVersion.sln @@ -1,6 +1,7 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28729.10 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Our.Umbraco.UnVersion", "Our.Umbraco.UnVersion\Our.Umbraco.UnVersion.csproj", "{A3E6B76A-35AC-415A-BCED-971223D63BAC}" EndProject @@ -21,6 +22,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ..\README.md = ..\README.md EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Docs", "Docs", "{BA0FC6AB-55AD-4AFF-A5EB-AF4A654C7341}" + ProjectSection(SolutionItems) = preProject + ..\docs\developers-guide.md = ..\docs\developers-guide.md + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -37,5 +43,9 @@ Global EndGlobalSection GlobalSection(NestedProjects) = preSolution {AE05CC62-1E54-4E24-AA99-B7EED3CFFA3C} = {E155CD07-7718-4EE8-B51E-FECABE034A33} + {BA0FC6AB-55AD-4AFF-A5EB-AF4A654C7341} = {E155CD07-7718-4EE8-B51E-FECABE034A33} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {AAE25AE6-314C-45E6-BD87-04A97F90EE16} EndGlobalSection EndGlobal diff --git a/src/Our.Umbraco.UnVersion/Bootstrap.cs b/src/Our.Umbraco.UnVersion/Bootstrap.cs index 8edf8c9..0728d83 100644 --- a/src/Our.Umbraco.UnVersion/Bootstrap.cs +++ b/src/Our.Umbraco.UnVersion/Bootstrap.cs @@ -1,40 +1,19 @@ using System.IO; using System.Web; using Our.Umbraco.UnVersion.Services; -using Umbraco.Core; using Umbraco.Core.Events; -using Umbraco.Core.Models; -using Umbraco.Core.Publishing; using Umbraco.Core.Services; +using Umbraco.Core; +using Umbraco.Core.Composing; namespace Our.Umbraco.UnVersion { - public class Bootstrap : ApplicationEventHandler + public class Bootstrap : IUserComposer { - protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, - ApplicationContext applicationContext) - { - // Init config - var appPath = umbracoApplication.Server.MapPath("~/"); - var configFilePath = Path.Combine(appPath, @"config\unVersion.config"); - var config = new UnVersionConfig(configFilePath); - - // Init context - UnVersionContext.Instance.UnVersionService = new UnVersionService(config, true); - - // Hookup event listener - ContentService.Published += ContentServicePublished; - } - - void ContentServicePublished(IPublishingStrategy sender, PublishEventArgs e) + public void Compose(Composition composition) { - if (HttpContext.Current == null) - return; - - foreach (var entity in e.PublishedEntities) - { - UnVersionContext.Instance.UnVersionService.UnVersion(entity); - } + composition.Register(Lifetime.Singleton); + composition.Register(Lifetime.Singleton); } } } \ No newline at end of file diff --git a/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj b/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj index 9a3c94a..905d42a 100644 --- a/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj +++ b/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj @@ -1,5 +1,5 @@  - + Debug @@ -13,7 +13,7 @@ Properties Our.Umbraco.UnVersion Our.Umbraco.UnVersion - v4.5 + v4.7.2 @@ -28,6 +28,9 @@ ..\..\ true + + + true @@ -49,34 +52,199 @@ false - - ..\packages\UmbracoCms.Core.7.1.4\lib\interfaces.dll - False + + ..\packages\ClientDependency.1.9.7\lib\net45\ClientDependency.Core.dll - - ..\packages\UmbracoCms.Core.7.1.4\lib\log4net.dll - False + + ..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll - - ..\packages\Newtonsoft.Json.6.0.2\lib\net45\Newtonsoft.Json.dll - False + + ..\packages\CSharpTest.Net.Collections.14.906.1403.1082\lib\net40\CSharpTest.Net.Collections.dll - - False - ..\packages\UmbracoCms.Core.7.1.4\lib\System.Data.SqlServerCe.dll + + ..\packages\Examine.1.0.0\lib\net452\Examine.dll + + ..\packages\HtmlAgilityPack.1.8.14\lib\Net45\HtmlAgilityPack.dll + + + ..\packages\ImageProcessor.2.7.0.100\lib\net452\ImageProcessor.dll + + + ..\packages\LightInject.5.4.0\lib\net46\LightInject.dll + + + ..\packages\LightInject.Annotation.1.1.0\lib\net46\LightInject.Annotation.dll + + + ..\packages\LightInject.Mvc.2.0.0\lib\net46\LightInject.Mvc.dll + + + ..\packages\LightInject.Web.2.0.0\lib\net46\LightInject.Web.dll + + + ..\packages\LightInject.WebApi.2.0.0\lib\net46\LightInject.WebApi.dll + + + ..\packages\Lucene.Net.3.0.3\lib\NET40\Lucene.Net.dll + + + ..\packages\Markdown.2.2.1\lib\net451\Markdown.dll + + + ..\packages\Microsoft.AspNet.Identity.Core.2.2.2\lib\net45\Microsoft.AspNet.Identity.Core.dll + + + ..\packages\Microsoft.AspNet.Identity.Owin.2.2.2\lib\net45\Microsoft.AspNet.Identity.Owin.dll + + + ..\packages\Microsoft.AspNet.SignalR.Core.2.4.0\lib\net45\Microsoft.AspNet.SignalR.Core.dll + + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.0.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Owin.4.0.1\lib\net45\Microsoft.Owin.dll + + + ..\packages\Microsoft.Owin.Host.SystemWeb.4.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll + + + ..\packages\Microsoft.Owin.Security.4.0.1\lib\net45\Microsoft.Owin.Security.dll + + + ..\packages\Microsoft.Owin.Security.Cookies.4.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll + + + ..\packages\Microsoft.Owin.Security.OAuth.4.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll + + + ..\packages\MiniProfiler.4.0.138\lib\net461\MiniProfiler.dll + + + ..\packages\MiniProfiler.Shared.4.0.138\lib\net461\MiniProfiler.Shared.dll + + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NPoco.3.9.4\lib\net45\NPoco.dll + + + ..\packages\Owin.1.0\lib\net40\Owin.dll + + + ..\packages\Semver.2.0.4\lib\net452\Semver.dll + + + ..\packages\Serilog.2.8.0\lib\net46\Serilog.dll + + + ..\packages\Serilog.Enrichers.Process.2.0.1\lib\net45\Serilog.Enrichers.Process.dll + + + ..\packages\Serilog.Enrichers.Thread.3.0.0\lib\net45\Serilog.Enrichers.Thread.dll + + + ..\packages\Serilog.Filters.Expressions.2.0.0\lib\net45\Serilog.Filters.Expressions.dll + + + ..\packages\Serilog.Formatting.Compact.1.0.0\lib\net45\Serilog.Formatting.Compact.dll + + + ..\packages\Serilog.Formatting.Compact.Reader.1.0.3\lib\net45\Serilog.Formatting.Compact.Reader.dll + + + ..\packages\Serilog.Settings.AppSettings.2.2.2\lib\net45\Serilog.Settings.AppSettings.dll + + + ..\packages\Serilog.Sinks.Async.1.3.0\lib\net45\Serilog.Sinks.Async.dll + + + ..\packages\Serilog.Sinks.File.4.0.0\lib\net45\Serilog.Sinks.File.dll + + + ..\packages\Serilog.Sinks.Map.1.0.0\lib\netstandard2.0\Serilog.Sinks.Map.dll + + + ..\packages\Superpower.2.0.0\lib\net45\Superpower.dll + + + + + + ..\packages\Umbraco.SqlServerCE.4.0.0.1\lib\net472\System.Data.SqlServerCe.dll + + + ..\packages\Umbraco.SqlServerCE.4.0.0.1\lib\net472\System.Data.SqlServerCe.Entity.dll + + + ..\packages\System.Diagnostics.DiagnosticSource.4.4.1\lib\net46\System.Diagnostics.DiagnosticSource.dll + + + + + + ..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll + + + + + + + + ..\packages\System.Threading.Tasks.Dataflow.4.9.0\lib\netstandard2.0\System.Threading.Tasks.Dataflow.dll + + + + ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll + + + + + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll + + + ..\packages\Microsoft.AspNet.WebApi.Core.5.2.7\lib\net45\System.Web.Http.dll + + + ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.7\lib\net45\System.Web.Http.WebHost.dll + + + ..\packages\Microsoft.AspNet.Mvc.5.2.7\lib\net45\System.Web.Mvc.dll + + + ..\packages\Microsoft.AspNet.Razor.3.2.7\lib\net45\System.Web.Razor.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Deployment.dll + + + ..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll + - - ..\packages\UmbracoCms.Core.7.1.4\lib\umbraco.dll - False + + + ..\packages\UmbracoCms.Core.8.1.0\lib\net472\Umbraco.Core.dll + + + ..\packages\UmbracoCms.Web.8.1.0\lib\net472\Umbraco.Examine.dll + + + ..\packages\UmbracoCms.Web.8.1.0\lib\net472\Umbraco.Web.dll - - ..\packages\UmbracoCms.Core.7.1.4\lib\Umbraco.Core.dll - False + + ..\packages\UmbracoCms.Web.8.1.0\lib\net472\Umbraco.Web.UI.dll @@ -85,8 +253,8 @@ + - @@ -94,6 +262,15 @@ + + + + web.config + + + web.config + + - - - - - - - - False - True - 50320 - / - - - False - False - - - False - - - - + @@ -114,11 +253,4 @@ - \ No newline at end of file diff --git a/src/Our.Umbraco.UnVersion/app.config b/src/Our.Umbraco.UnVersion/app.config new file mode 100644 index 0000000..430296e --- /dev/null +++ b/src/Our.Umbraco.UnVersion/app.config @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Our.Umbraco.UnVersion/packages.config b/src/Our.Umbraco.UnVersion/packages.config index 43fba45..e4a9699 100644 --- a/src/Our.Umbraco.UnVersion/packages.config +++ b/src/Our.Umbraco.UnVersion/packages.config @@ -1,6 +1,5 @@  - @@ -55,5 +54,4 @@ - \ No newline at end of file From 020cb1b6a1d5466a2cd37865c32352df6d85f5d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Kottal?= Date: Mon, 2 Mar 2020 16:16:39 +0100 Subject: [PATCH 14/14] dont import sqlserverce --- src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj b/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj index 68c3ad5..c8e334c 100644 --- a/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj +++ b/src/Our.Umbraco.UnVersion/Our.Umbraco.UnVersion.csproj @@ -246,7 +246,6 @@ - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.