Commit Graph

194 Commits

Author SHA1 Message Date
Shannon
5b21b9fe2c uses ext method 2021-07-09 14:48:53 -06:00
Shannon
c93dee667a Merge branch 'v9/task/package-as-xml' into v9/task/package-partial-views 2021-07-08 13:58:54 -06:00
Shannon
69060bbc15 fixes tests 2021-07-08 13:58:27 -06:00
Shannon
5a1a24556e Gets packaging scripts and partial views working and fixes packaging stylesheets and cleans things up a bit. 2021-07-08 13:11:39 -06:00
Shannon
f7d0e417d6 packages partial views associated with macros. 2021-07-07 16:16:14 -06:00
Shannon
2897ef9695 adds hash benchmark 2021-07-07 15:35:35 -06:00
Shannon
3eb54831cb Remove OriginalMediaPathScheme, changes how we extract the media file path and use that correctly instead of hacks. 2021-07-07 14:36:52 -06:00
Shannon
58a4e600db Pretty much gets zip package format working with media install 2021-07-07 09:41:11 -06:00
Shannon
f7123b355d init commit for changing packages back to xml format so we can more easily deal with media. 2021-07-06 15:09:56 -06:00
Bjarke Berg
f1b91ab35d post merge fixes 2021-06-30 06:59:47 +02:00
Shannon
7c6eb461ca fix build after merge 2021-06-18 13:32:04 -06:00
Shannon
b1c6b02dd7 Merge remote-tracking branch 'origin/v9/task/package-refactor' into v9/task/package-migrations-backoffice
# Conflicts:
#	src/Umbraco.Core/Extensions/XmlExtensions.cs
#	src/Umbraco.Core/Packaging/PackageMigrationPlan.cs
#	src/Umbraco.Infrastructure/Runtime/RuntimeState.cs
2021-06-18 12:48:44 -06:00
Shannon
8b7f7b9e13 Gets package options working. 2021-06-18 12:45:22 -06:00
Shannon
c503a16dae Updates back office to run pending migrations 2021-06-18 11:28:21 -06:00
Shannon Deminick
ca72fb01ec Fixes packager to ensure the GUIDs are used for all entities where possible (#10477)
* Clean up and changes to backoffice for the nuget only packages

* temp commit of package logic removal

* Lots of package code cleanup and removal

* Removes old package data from the test package xml

* Updates packaging code to take in XDocument instead of a file since we'll not be dealing with files, starts creating expressions for the package migrations scripting.

* fixing tests

* Fixes runtime state and boot failed middleware so that it actually runs. Separates out unattended install/upgrade into notification handlers.

* Gets unattended package migrations working and running

* Gets embedded package.xml resources able to install from package migration.

* Implements automatic package migrations for package that just declare an xml data manifest.

* fix build

* small cleanups

* fix build

* adds some tests

* Fix export test

* Fix newlines in test for linux

* Typo

* removes old todos and updates AutomaticPackgeMigrationPlan to use getter with backing field.

* Update dictionary package data to use GUID

* Ensures macros are packaged and used with their GUID

* Ensures the GUID for doc types and media types remains consistent for package installation based on what is in the xml.

* fix automatic migrations to not validate initial state, fixes packaging GUIDs for multiple entities.

* Added guids to embedded test packages (Some tests are still failing)

* Fix one more test

* Fixes up Key vs Id, moves tests to correct namespace, fix tests

* Fixes Dictionary packaging to ensure an xml hierarchy

* Fixes tests

* fixes package xml

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-06-17 08:15:38 +02:00
Shannon
ad84c1591e Starts implementing ability to manually run pending migrations from the back office 2021-06-16 15:34:20 -06:00
Shannon
9f02b14a5d Fixes Dictionary packaging to ensure an xml hierarchy 2021-06-16 13:14:28 -06:00
Shannon
52ce0c8f60 fix automatic migrations to not validate initial state, fixes packaging GUIDs for multiple entities. 2021-06-15 13:49:03 -06:00
Shannon Deminick
de2fb47b78 Implements unattended package migrations for both explicit and implicit migrations (#10418)
* Clean up and changes to backoffice for the nuget only packages

* temp commit of package logic removal

* Lots of package code cleanup and removal

* Removes old package data from the test package xml

* Updates packaging code to take in XDocument instead of a file since we'll not be dealing with files, starts creating expressions for the package migrations scripting.

* fixing tests

* Fixes runtime state and boot failed middleware so that it actually runs. Separates out unattended install/upgrade into notification handlers.

* Gets unattended package migrations working and running

* Gets embedded package.xml resources able to install from package migration.

* Implements automatic package migrations for package that just declare an xml data manifest.

* fix build

* small cleanups

* fix build

* adds some tests

* Fix export test

* Fix newlines in test for linux

* Typo

* removes old todos and updates AutomaticPackgeMigrationPlan to use getter with backing field.

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2021-06-15 07:05:57 +02:00
Shannon
1297254cc3 small cleanups 2021-06-11 12:47:35 -06:00
Shannon
daceca54a3 Implements automatic package migrations for package that just declare an xml data manifest. 2021-06-11 10:50:35 -06:00
Shannon
13583514ae Gets embedded package.xml resources able to install from package migration. 2021-06-10 13:06:38 -06:00
Shannon
144014dc73 Fixes runtime state and boot failed middleware so that it actually runs. Separates out unattended install/upgrade into notification handlers. 2021-06-10 08:06:17 -06:00
Shannon
7a0134fc74 Updates packaging code to take in XDocument instead of a file since we'll not be dealing with files, starts creating expressions for the package migrations scripting. 2021-06-09 16:56:42 -06:00
Shannon
14806bc293 Lots of package code cleanup and removal 2021-06-09 15:18:47 -06:00
Shannon
1737052eb3 Merge remote-tracking branch 'origin/v9/task/package-refactor-backoffice-updates' into v9/task/package-refactor-startup-checks-temp
# Conflicts:
#	src/Umbraco.Core/Migrations/MigrationPlan.cs
#	src/Umbraco.Core/Models/Packaging/CompiledPackage.cs
#	src/Umbraco.Core/Models/Packaging/IPackageInfo.cs
#	src/Umbraco.Core/Packaging/CompiledPackageXmlParser.cs
#	src/Umbraco.Core/Packaging/IPackageInstallation.cs
#	src/Umbraco.Core/Packaging/PackageDefinition.cs
#	src/Umbraco.Core/Packaging/PackageFileInstallation.cs
#	src/Umbraco.Core/Packaging/PackageMigrationPlan.cs
#	src/Umbraco.Core/Packaging/PackagesRepository.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/Upgrader.cs
#	src/Umbraco.Infrastructure/Packaging/PackageInstallation.cs
#	src/Umbraco.Infrastructure/RuntimeState.cs
2021-06-09 10:55:04 -06:00
Shannon
0f1e7bd647 temp commit of package logic removal 2021-06-09 10:43:57 -06:00
Bjarke Berg
c69d689a36 Clean up and changes to backoffice for the nuget only packages 2021-06-09 15:50:40 +02:00
Shannon Deminick
8eb0f45cf2 Refactor MigrationPlan to separate the executor from the plan itself. (#10417)
* Refactor MigrationPlan to separate the executor from the plan itself.

* cleanup
2021-06-09 08:18:15 +02:00
Shannon
26f989124d New package migration collection, updates runtime state to check for package migrations, adds tests for this. 2021-06-08 14:56:45 -06:00
Shannon
77017f25b3 Adds KeyValueService Find and tests 2021-06-08 10:58:17 -06:00
Shannon
4f6e491c5f Refactor MigrationPlan to separate the executor from the plan itself. 2021-06-08 10:07:57 -06:00
Shannon
72cd832d93 Removes package actions 2021-06-07 17:53:03 -06:00
Shannon
bb793422f2 Removes package actions 2021-06-07 17:49:20 -06:00
comstyle
8705b067c1 Update CompiledPackageXmlParser.cs (#10209)
Fix issue with hardcoded '\' as directory separator char. This caused all files in packages to be restored in the root folder with '\' in the filename on Linux.
2021-05-04 13:41:12 +02:00
Bjarke Berg
37ed84871a Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
# Conflicts:
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	build/NuSpecs/UmbracoCms.Web.nuspec
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Cache/CacheKeys.cs
#	src/Umbraco.Core/Composing/TypeFinder.cs
#	src/Umbraco.Core/Configuration/GlobalSettings.cs
#	src/Umbraco.Core/Configuration/GlobalSettingsExtensions.cs
#	src/Umbraco.Core/Configuration/IGlobalSettings.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentSectionExtensions.cs
#	src/Umbraco.Core/Constants-AppSettings.cs
#	src/Umbraco.Core/Editors/UserEditorAuthorizationHelper.cs
#	src/Umbraco.Core/Extensions/StringExtensions.cs
#	src/Umbraco.Core/Extensions/UriExtensions.cs
#	src/Umbraco.Core/IO/IOHelper.cs
#	src/Umbraco.Core/IO/PhysicalFileSystem.cs
#	src/Umbraco.Core/Media/Exif/MathEx.cs
#	src/Umbraco.Core/Media/UploadAutoFillProperties.cs
#	src/Umbraco.Core/Models/Mapping/UserMapDefinition.cs
#	src/Umbraco.Core/Models/Membership/User.cs
#	src/Umbraco.Core/Models/UserExtensions.cs
#	src/Umbraco.Core/Packaging/PackageDefinitionXmlParser.cs
#	src/Umbraco.Core/PropertyEditors/ListViewConfiguration.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/MediaPickerValueConverter.cs
#	src/Umbraco.Core/PropertyEditors/ValueConverters/MultiNodeTreePickerValueConverter.cs
#	src/Umbraco.Core/Routing/AliasUrlProvider.cs
#	src/Umbraco.Core/Routing/DefaultUrlProvider.cs
#	src/Umbraco.Core/Routing/UriUtility.cs
#	src/Umbraco.Core/Routing/UrlProviderExtensions.cs
#	src/Umbraco.Core/Runtime/CoreRuntime.cs
#	src/Umbraco.Core/RuntimeOptions.cs
#	src/Umbraco.Core/RuntimeState.cs
#	src/Umbraco.Core/Security/BackOfficeUserStore.cs
#	src/Umbraco.Core/Security/ContentPermissions.cs
#	src/Umbraco.Core/Sync/ApplicationUrlHelper.cs
#	src/Umbraco.Core/Trees/TreeNode.cs
#	src/Umbraco.Core/Udi.cs
#	src/Umbraco.Examine.Lucene/BackOfficeExamineSearcher.cs
#	src/Umbraco.Examine/Umbraco.Examine.csproj
#	src/Umbraco.Infrastructure/Examine/ContentValueSetValidator.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
#	src/Umbraco.Infrastructure/Packaging/PackageDataInstallation.cs
#	src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs
#	src/Umbraco.Infrastructure/Scoping/Scope.cs
#	src/Umbraco.Infrastructure/Search/ExamineComponent.cs
#	src/Umbraco.Infrastructure/Security/IdentityMapDefinition.cs
#	src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
#	src/Umbraco.Infrastructure/Services/Implement/MediaService.cs
#	src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs
#	src/Umbraco.Persistence.SqlCe/SqlCeSyntaxProvider.cs
#	src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/LocksTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Models/UserExtensionsTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Editors/UserEditorAuthorizationHelperTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Examine/UmbracoContentValueSetValidatorTests.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs
#	src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config
#	src/Umbraco.Tests/TestHelpers/SettingsForTests.cs
#	src/Umbraco.Tests/Testing/TestDatabase.cs
#	src/Umbraco.Tests/Web/Controllers/ContentControllerUnitTests.cs
#	src/Umbraco.Tests/Web/Controllers/FilterAllowedOutgoingContentAttributeTests.cs
#	src/Umbraco.Tests/Web/Controllers/MediaControllerUnitTests.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.BackOffice/Controllers/CodeFileController.cs
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
#	src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MacrosController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	src/Umbraco.Web.BackOffice/Controllers/PackageInstallController.cs
#	src/Umbraco.Web.BackOffice/Controllers/TourController.cs
#	src/Umbraco.Web.BackOffice/Controllers/UserGroupEditorAuthorizationHelper.cs
#	src/Umbraco.Web.BackOffice/Filters/FilterAllowedOutgoingContentAttribute.cs
#	src/Umbraco.Web.BackOffice/Filters/FilterAllowedOutgoingMediaAttribute.cs
#	src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
#	src/Umbraco.Web.BackOffice/Services/IconService.cs
#	src/Umbraco.Web.BackOffice/Trees/ContentTreeController.cs
#	src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs
#	src/Umbraco.Web.BackOffice/Trees/FileSystemTreeController.cs
#	src/Umbraco.Web.BackOffice/Trees/MediaTreeController.cs
#	src/Umbraco.Web.Common/Extensions/FormCollectionExtensions.cs
#	src/Umbraco.Web.UI.Client/src/common/resources/content.resource.js
#	src/Umbraco.Web.UI.Client/src/views/content/overlays/publish.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/editors/media.controller.js
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/config/umbracoSettings.Release.config
#	src/Umbraco.Web/Cache/MemberCacheRefresher.cs
#	src/Umbraco.Web/Composing/ModuleInjector.cs
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/Binders/ContentModelBinderHelper.cs
#	src/Umbraco.Web/Editors/ContentTypeController.cs
#	src/Umbraco.Web/Editors/Filters/ContentSaveValidationAttribute.cs
#	src/Umbraco.Web/Editors/Filters/MediaItemSaveValidationAttribute.cs
#	src/Umbraco.Web/Editors/Filters/UserGroupAuthorizationAttribute.cs
#	src/Umbraco.Web/Editors/TinyMceController.cs
#	src/Umbraco.Web/Editors/UserGroupsController.cs
#	src/Umbraco.Web/Editors/UsersController.cs
#	src/Umbraco.Web/ImageCropperTemplateExtensions.cs
#	src/Umbraco.Web/Logging/WebProfiler.cs
#	src/Umbraco.Web/Logging/WebProfilerProvider.cs
#	src/Umbraco.Web/Macros/PublishedContentHashtableConverter.cs
#	src/Umbraco.Web/Mvc/EnsurePublishedContentRequestAttribute.cs
#	src/Umbraco.Web/Mvc/JsonNetResult.cs
#	src/Umbraco.Web/Mvc/MemberAuthorizeAttribute.cs
#	src/Umbraco.Web/Mvc/RenderRouteHandler.cs
#	src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
#	src/Umbraco.Web/PropertyEditors/MultiNodeTreePickerPropertyEditor.cs
#	src/Umbraco.Web/PublishedCache/NuCache/DataSource/DatabaseDataSource.cs
#	src/Umbraco.Web/RoutableDocumentFilter.cs
#	src/Umbraco.Web/Routing/ContentFinderByUrlAlias.cs
#	src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
#	src/Umbraco.Web/Routing/PublishedRouter.cs
#	src/Umbraco.Web/Runtime/WebInitialComposer.cs
#	src/Umbraco.Web/Scheduling/KeepAlive.cs
#	src/Umbraco.Web/Security/AppBuilderExtensions.cs
#	src/Umbraco.Web/Security/BackOfficeClaimsIdentityFactory.cs
#	src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
#	src/Umbraco.Web/Trees/DictionaryTreeController.cs
#	src/Umbraco.Web/Trees/LanguageTreeController.cs
#	src/Umbraco.Web/Trees/LogViewerTreeController.cs
#	src/Umbraco.Web/Trees/PackagesTreeController.cs
#	src/Umbraco.Web/UmbracoApplication.cs
#	src/Umbraco.Web/UmbracoApplicationBase.cs
#	src/Umbraco.Web/UmbracoInjectedModule.cs
#	src/Umbraco.Web/WebApi/Filters/AdminUsersAuthorizeAttribute.cs
#	src/Umbraco.Web/WebApi/Filters/CheckIfUserTicketDataIsStaleAttribute.cs
#	src/Umbraco.Web/WebApi/Filters/EnsureUserPermissionForContentAttribute.cs
#	src/Umbraco.Web/WebApi/Filters/EnsureUserPermissionForMediaAttribute.cs
#	src/Umbraco.Web/WebApi/MemberAuthorizeAttribute.cs
2021-03-05 15:36:27 +01:00
BeardinaSuit
f064c074d1 Fix for Issue #135 - Variation < null >, < null> is not supported by the property type (#9524)
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
2021-02-20 14:37:11 +01:00
Kenn Jacobsen
764014fd63 Rename UmbracoVersion.Current to UmbracoVersion.Version 2021-02-19 14:26:55 +01:00
Mole
bf41c2eeaa Netcore: Align namespaces (#9801)
* Rename Umbraco.Core namespace to Umbraco.Cms.Core

* Move extension methods in core project to Umbraco.Extensions

* Move extension methods in core project to Umbraco.Extensions

* Rename Umbraco.Examine namespace to Umbraco.Cms.Examine

* Move examine extensions to Umbraco.Extensions namespace

* Reflect changed namespaces in Builder and fix unit tests

* Adjust namespace in Umbraco.ModelsBuilder.Embedded

* Adjust namespace in Umbraco.Persistence.SqlCe

* Adjust namespace in Umbraco.PublishedCache.NuCache

* Align namespaces in Umbraco.Web.BackOffice

* Align namespaces in Umbraco.Web.Common

* Ensure that SqlCeSupport is still enabled after changing the namespace

* Align namespaces in Umbraco.Web.Website

* Align namespaces in Umbraco.Web.UI.NetCore

* Align namespaces in Umbraco.Tests.Common

* Align namespaces in Umbraco.Tests.UnitTests

* Align namespaces in Umbraco.Tests.Integration

* Fix errors caused by changed namespaces

* Fix integration tests

* Undo the Umbraco.Examine.Lucene namespace change

This breaks integration tests on linux, since the namespace wont exists there because it's only used on windows.

* Fix merge

* Fix Merge
2021-02-18 11:06:02 +01:00
Chad
0bd4dced0b Improve performance and reduce memory use and reduce array allocations by reusing char[] (#9166)
* Reduce array allocations by reusing char[]

* don't hide .Equals()

* Reduce memory use by reducing array allocations

* Revert "Reduce memory use by reducing array allocations"

This reverts commit faf6b60234167f5443435243eb52187ab07d514c.

* reuse char[] for string.split() to avoid params [] allocation
2021-01-22 12:02:25 +10:00
Bjarke Berg
0151c435f1 Netcore: Package support for media + media types (#9547)
* Add support for media when installing a package

* clean up

* Fix tests

* Add support for media when installing a package

* clean up

* Fix tests

* moved tests + test data

* Migrated package tests + resources

* Fix issue with media picker on package page, was empty after save.

* Added missing files

* Fix casing issue of resources

* Added test for media

* Fix tests for linux

* Fix test

* Fix issue with move media..

* Fix issue with adding files to packages

* Add MediaType permissions.

* Fix test

* Fix test

* Retry flaky tests, and added TODOs to fix those

* new attempt to fix test

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2020-12-16 22:26:47 +01:00
Warren Buckley
eeae4afe0b Merge remote-tracking branch 'origin/v8/dev' into v8/feature/property-label-on-top
# Conflicts:
#	src/Umbraco.Core/Migrations/Upgrade/UmbracoPlan.cs
2020-11-27 15:34:53 +00:00
Benjamin Carleski
7583c1fb06 Start cleanup of IOHelper.MapPath calls 2020-11-18 07:25:11 -08:00
Sebastiaan Janssen
094897704c Need null checks for Keys in case packages had been created without keys before 2020-10-22 10:56:49 +02:00
Warren Buckley
f1724a68b2 When exporting package.xml it will now use the UDI/Key so we can reimport with the same key
(cherry picked from commit 28954afcad)
2020-10-21 21:04:16 +02:00
Warren Buckley
7e34dda131 Trying more things & prep for dealing with package XML for Label On Top 2020-10-02 15:08:24 +01:00
Mole
ab3ac5ad91 Remove a bunch of references to the old logger 2020-09-21 11:19:46 +02:00
Mole
30d4233565 Use MS Ilogger in LocalizedTextService 2020-09-21 08:19:26 +02:00
Mole
d61b9f54fa Merge options 2020-09-18 12:53:06 +02:00
Nikolaj
488093add3 Remove LogWarning<T> from LoggerExtensions 2020-09-16 10:08:18 +02:00