Commit Graph

11413 Commits

Author SHA1 Message Date
Paul Johnson
4ae329589a NetCore: MSDI refactor remove IFactory & IRegister (#9308)
* Replace IFactory with IServiceProvider

* Replace IRegister with IServiceCollection

* Fix Rte.cshtml so the view can service locate.

* Replace Composing Lifetime with MSDI ServiceLifetime

* Remove ServiceProvider AddMultipleUnique extension

* Remove Umbraco.Web.Composing.Current.Reset and any calls

* Remove LightInject from net framework projects

* Brought back a helper for setting MediaFileSystem underlying IFileSystem
2020-10-30 12:16:17 +01:00
Paul Johnson
ec66990e72 NetCore: MSDI refactor phase 2 (#9280)
* Moved adapters from Infra -> Core

* Allow Composition to accept a service collection instead of an IRegister

* Composition no longer takes IRegister as constructor arg

all tests passing

* Composition no longer implements IRegister

* Lose _uniques in Composition

* lose Composition OnCreatingFactory actions

* Clean up UmbracoCoreServiceCollectionExtensions & Composition

Less IFactory

* LightInject gone where TFW == netstandard2.0 || TFW == netcoreapp3.1

* Resolve dead code issues

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later.

* Rename IFactory methods to match IServiceProvider so they can be trivially swapped later (continued)

Thought the counts were low, it's mostly extension method usage
2020-10-27 11:53:01 +01:00
Andy Butland
507facbdaa NetCore: Further unit test migration (#9269)
* Migrated ContentExtensionsTests.

* Migrated PropertyCollectionTests.

* Migrated AbstractFileSystemTests and PhysicalFileSystem tests.

* Migrated SiteDomainHelper tests.

* Migrated DistributedCacheTests.

* Migrated AppCacheTests and derived test classes.
Amended HttpRequestApp underlying dictionary type to match that available in .NET Core HttpContext Items collection.

* Fixed namespace

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2020-10-26 14:26:49 +01:00
Paul Johnson
a99f625f6a Netcore: Alternate approach for MSDI refactor (#9247)
* Doesn't make much sense to have Concrete on IRegister, only on IFactory

* Handle FilesTreeController requires IFileSystem of type PhysicalFileSystem

* Handle registration of default MediaFileSystem without using RegisterUniqueFor

* Remove RegisterFor / RegisterUniqueFor from IRegister

* Switch over from LightInject to wrappers around MSDI

* Made mapper dependencies more explicit

* Remove registration for AngularJsonMediaTypeFormatter

It's dependencies aren't registered so container validation fails

* Resolve lifetime issue for EnsureValidSessionId by service locating

else resolve scoped in singleton

* Make registration more explicit for backoffice UserManager

* Make install step registrations more explicit

* Disable service provider validation so site can launch

Maybe this is a problem maybe not, we build about 8000 service providers so maybe everything is fine later...

* Further cleanup of IFactory interface

* Further cleanup of IRegister interface

* Revert "Make registration more explicit for backoffice UserManager"

This reverts commit 7215fe836103c597cd0873c66737a79b91ed4c49.

* Resolve issue where NewInstallStep would fail to reset password for "SuperUser"

Before MSDI, somehow BackOfficeIdentityOptions would be configured with token provider map from IdentityBuilder.AddDefaultTokenProviders.
After switchover those config actions are lost.

Subclass IdentityBuilder to ensure BackOfficeIdentityOptions doesn't miss config setup upstream.

* Initialize current.

* Add todo to turn container validation back on.

* Migrated ScopeFileSystemsTests to integration tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Resolve issue where MediaFileSystem was skipping ShadowFileSystem

* Attempt to fix ScopeFileSystemsTests on azure devops

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Be interesting to know what the actual full path is in pipeline.

* Clarify intent of CreateMediaTest

Doesn't help resolve weird UnauthorizedAccessException but it cuts so much cognitive overhead for the future.

* Use ILoggerfactory rather than mock for the manually constructed file PhysicalFileSystem

* Maybe resolve failing test on azure pipeline.

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2020-10-26 11:47:14 +01:00
Bjarke Berg
109ccb19b3 Merge pull request #9252 from umbraco/netcore/feature/AB8969-email-message-abstraction
NetCore: Email message abstraction
2020-10-23 14:20:10 +02:00
Elitsa Marinovska
d7eca3d0d5 Abstracting MailMessage 2020-10-22 15:08:07 +02:00
Bjarke Berg
6905e5e734 Cleanup of different stuff that can be deleted from Umbraco.Web
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-22 12:25:52 +02:00
Emma L Garland
7a570110d0 Netcore/feature/healthcheck replaceconfiglogic (#8934)
* Started moving to JSON instead of config.
Mild refactoring but overall keeping it the same, except for injecting IConfiguration and JSON parsing instead of XML
Tests currently unaffected, need to increase coverage

* Moved to constants for appsettings keys
Moved from IConfiguration to global settings - later to be replaced with IOptions
Updated translation messages
Installed IOptions ready for new PR
Updated to new interface, IConfigurationService

* Post-merge fix

* Namespace move from Umbraco.Web to Umbraco.Core where appropriate

* Renamed abstractsettings (from abstractconfig)
Moving out of configservice into the POCO config check

* Made the IIsCustomErrors healthcheck as obsolete, as no web.config setting). Investigate reintroducing this check in the .NET Core way (UseDevelopment).
Reducing use of abstractsettings as not needed - we don't need a config service to read the config settings anymore as they're all explicit POCOs.
Consolidated health-checks in project.

* Removed test views that weren't meant to be added

* Returned to use of abstractsettings with different use

* Moved more health checks into correct folder/namespace, and enum into their own file

* Correct namespace

* Git history/compare lost due to file move, temporarily moving back to original folder. Will do another PR to move after this

* Use existing GetStatus in abstract check for Debug mode

* Updating to return to previous logic and putting files back into line

* Macro errors returned to previous logic

* Reuse abstractsettings class

* Swapped order to assist with reviewing PR

* Updated to include itempath

* Not implemented comment to avoid confusion
Implemented NotificationEmailCheck

* Changed to IOptionsMonitor as per PR comments. Removed configurationservice as we need to rethink the fixing strategy. Updated logger.
Needs to show fix message instead of fixing. Temporary fix for IIS version

* Switched to IOptionsMonitor for all

* No longer attempts to actually fix header in config. Still need to show suggestions.

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2020-10-21 11:29:25 +02:00
Bjarke Berg
3d7942bb7c Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/clean-umbraco-web
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-19 08:08:56 +02:00
Bjarke Berg
31be4b7306 Cleanup + added missing file
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-18 19:53:59 +02:00
Bjarke Berg
b27732adc8 Migrated RenderMvcController and RenderIndexActionSelectorAttribute
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-15 11:42:16 +02:00
Mole
4a91ee74c3 Remove old FormDataCollectionExtensions 2020-10-15 11:20:41 +02:00
Mole
7bc3cdafcb Remove ConfiguredPasswordValidator 2020-10-15 10:34:49 +02:00
Mole
c9985f0043 Remove DisableBrowserCacheAttribute 2020-10-15 08:58:01 +02:00
Mole
9763d9f7e9 Removed more classes that has been migrated 2020-10-14 15:20:52 +02:00
Mole
f13f754bf0 Removed old JsonNetResult, MinifyJavaScriptResultAttribute, UmbracoViewPage 2020-10-14 14:19:18 +02:00
Mole
e2b1fb335e Remove old UmbracoAuthorizedJsonController 2020-10-14 13:46:08 +02:00
Mole
296217c917 Remove old BackOfficeServerVariables and LightInjectContainer 2020-10-14 13:40:10 +02:00
Mole
9e5fda6c42 Remove old UnhandedExceptionLoggerConfigurationAttribute and UnhandledExceptionLogger 2020-10-13 13:05:08 +02:00
Mole
50f4d7abde Migrate UmbracoUserTimeoutFilterAttribute 2020-10-12 13:32:25 +02:00
Bjarke Berg
c7cdfaa775 Update nuget packages
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-08 14:49:24 +02:00
Mole
17c68176e0 Merge pull request #9100 from umbraco/netcore/task/6964-legacy-password-format
Adds support for the super old password format so we can handle upgrades
2020-10-07 11:25:51 +02:00
Shannon
eaa295095d Gets password roll forward working 2020-10-07 16:56:48 +11:00
Shannon
e5c272b5d2 Adds support for the super old password format so we can handle upgrades 2020-10-07 15:20:43 +11:00
Bjarke Berg
3551d6e65e Clean up and fixed todos
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-06 21:23:15 +02:00
Bjarke Berg
a56e3615d1 Merge remote-tracking branch 'origin/netcore/feature/migrate-logging' into netcore/feature/migrate-logging 2020-10-06 11:41:52 +02:00
Mole
7a8a7104c7 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/migrate-logging
# Conflicts:
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Manifest/ManifestParserTests.cs
#	src/Umbraco.Tests/IO/ShadowFileSystemTests.cs
2020-10-06 08:13:29 +02:00
Bjarke Berg
b729c44505 Merge remote-tracking branch 'origin/netcore/dev' into netcore/netcore
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/IconController.cs
#	src/Umbraco.Web.UI.NetCore/umbraco/UmbracoBackOffice/Default.cshtml
#	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/Editors/BackOfficeModel.cs
#	src/Umbraco.Web/Editors/BackOfficePreviewModel.cs
2020-10-02 16:43:23 +02:00
Bjarke Berg
2b7980fcb9 Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
# Conflicts:
#	src/Umbraco.Core/Services/IIconService.cs
#	src/Umbraco.Web/Editors/BackOfficeModel.cs
#	src/Umbraco.Web/Editors/BackOfficePreviewModel.cs
#	src/Umbraco.Web/Editors/IconController.cs
#	src/Umbraco.Web/Services/IconService.cs
2020-10-02 16:38:12 +02:00
Bjarke Berg
74f8c6fb74 Clean up
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-01 08:15:34 +02:00
Bjarke Berg
3b1f7ad042 Clean up
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-01 07:41:23 +02:00
Bjarke Berg
3607dd14f1 Clean up + Removed old SignalR code
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-10-01 07:09:54 +02:00
Bjarke Berg
81e2ebda96 Cleanup
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-09-29 10:42:06 +02:00
Mole
d750d2c2c1 Use generic logger more places and clean up 2020-09-28 14:59:17 +02:00
Mole
b5aedde616 Do some ILogger cleaning 2020-09-28 08:48:49 +02:00
Shannon
e4c5010759 Fixes issue with exceptions in logs because we are trying to unbind from httpapplication events but you cannot do that.
(cherry picked from commit 5ed94065a7)
2020-09-24 11:43:34 +02:00
Bjarke Berg
35443f0e71 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/migrate-logging
Signed-off-by: Bjarke Berg <mail@bergmania.dk>

# Conflicts:
#	src/Umbraco.Infrastructure/Search/ExamineComponent.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
2020-09-24 08:24:35 +02:00
Sebastiaan Janssen
0531fce9e2 Move the IIconService and IconModel to the Umbraco.Core project
See issue #8919
2020-09-23 16:20:55 +02:00
Bjarke Berg
acc7065fa1 Fixed issue with models builder
Signed-off-by: Bjarke Berg <mail@bergmania.dk>
2020-09-23 14:22:53 +02:00
Mole
8258178c5a Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/migrate-logging
# Conflicts:
#	src/Umbraco.Infrastructure/Media/UploadAutoFillProperties.cs
#	src/Umbraco.Infrastructure/PropertyEditors/FileUploadPropertyEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ImageCropperPropertyEditor.cs
#	src/Umbraco.Tests/Models/MediaXmlTest.cs
#	src/Umbraco.Tests/Routing/MediaUrlProviderTests.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2020-09-23 13:32:49 +02:00
Bjarke Berg
0d731e7a40 Merge remote-tracking branch 'origin/netcore/dev' into netcore/netcore
Signed-off-by: Bjarke Berg <mail@bergmania.dk>

# Conflicts:
#	build/build-bootstrap.ps1
#	src/Umbraco.Infrastructure/Compose/NotificationsComponent.cs
#	src/Umbraco.Infrastructure/Compose/PublicAccessComponent.cs
#	src/Umbraco.Infrastructure/Search/ExamineComponent.cs
#	src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComponent.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Web/Compose/BackOfficeUserAuditEventsComponent.cs
#	src/Umbraco.Web/Logging/WebProfilerComponent.cs
2020-09-23 13:28:36 +02:00
Bjarke Berg
e3c8bd8ced Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
# Conflicts:
#	src/Umbraco.Core/Cache/MemberCacheRefresher.cs
#	src/Umbraco.Infrastructure/Compose/NotificationsComponent.cs
#	src/Umbraco.Infrastructure/Search/ExamineComponent.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Web/Security/MembershipHelper.cs
#	src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
2020-09-23 12:54:13 +02:00
Sebastiaan Janssen
d6275f34f7 Merge branch 'v8/8.6' into v8/dev
# Conflicts:
#	src/Umbraco.Web/Security/MembershipHelper.cs
2020-09-23 11:09:40 +02:00
Mole
75608919cd Merge pull request #8925 from umbraco/netcore/feature/use-serilog-to-log-all-messages
Netcore: Use serilog to log all messages and use appsettings as config
2020-09-23 09:37:43 +02:00
Bjarke Berg
f413f279eb Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/migrate-logging
Signed-off-by: Bjarke Berg <mail@bergmania.dk>

# Conflicts:
#	src/Umbraco.ModelsBuilder.Embedded/LiveModelsProvider.cs
#	src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
#	src/Umbraco.Tests.Integration/Implementations/TestHelper.cs
#	src/Umbraco.Tests.Integration/Persistence/Repositories/TemplateRepositoryTest.cs
#	src/Umbraco.Tests.Integration/RuntimeTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/ColorListValidatorTest.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/EnsureUniqueValuesValidatorTest.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/MultiValuePropertyEditorTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Published/NestedContentTests.cs
#	src/Umbraco.Tests.UnitTests/Umbraco.Core/Published/PropertyCacheLevelTests.cs
#	src/Umbraco.Tests/Components/ComponentTests.cs
#	src/Umbraco.Tests/IO/ShadowFileSystemTests.cs
#	src/Umbraco.Tests/Models/VariationTests.cs
#	src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs
#	src/Umbraco.Tests/Persistence/DatabaseContextTests.cs
#	src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/PublicAccessRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/TagRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs
#	src/Umbraco.Tests/Published/ConvertersTests.cs
#	src/Umbraco.Tests/PublishedContent/SolidPublishedSnapshot.cs
#	src/Umbraco.Tests/Routing/ContentFinderByIdTests.cs
#	src/Umbraco.Tests/Routing/ContentFinderByUrlAndTemplateTests.cs
#	src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
#	src/Umbraco.Tests/Routing/UmbracoModuleTests.cs
#	src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs
#	src/Umbraco.Tests/Scoping/ScopedNuCacheTests.cs
#	src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs
#	src/Umbraco.Tests/Services/ContentTypeServiceVariantsTests.cs
2020-09-23 07:59:10 +02:00
Bjarke Berg
2b8d5b7edd Merge remote-tracking branch 'origin/netcore/netcore' into feature/8651-move-image-file-types-from-config
# Conflicts:
#	src/Umbraco.Core/Configuration/Models/ContentImagingSettings.cs
#	src/Umbraco.Infrastructure/Media/UploadAutoFillProperties.cs
2020-09-22 21:10:19 +02:00
Bjarke Berg
0ea251945b Netcore: migrate more unittests (#8939)
* Migrated unit tests

* Migrated CoreThings tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Migrated Property Editor unit tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Migrated CoreXml tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Moved more tests

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* revert some IsSZArray test code

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* Renamed bad named test

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

* removed unnecessary file mentions in csproj file

Signed-off-by: Bjarke Berg <mail@bergmania.dk>

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2020-09-22 15:59:37 +02:00
Mole
4b5fbf83e1 Merge remote-tracking branch 'origin/netcore/netcore' into netcore/feature/migrate-logging
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/CurrentUserController.cs
#	src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
2020-09-22 15:24:01 +02:00
Mole
438515fa66 Merge Netcore: Use serilog to log all messages and use appsettings as config into Netcore/feature/migrate logging 2020-09-22 15:09:16 +02:00
Andy Butland
f42e8856db Removed supported image file types from configuration and set up as a property on IImageUrlGenerator, so different providers can indicate support for different sets of images. 2020-09-22 15:06:22 +02:00