Chad
0561d4b5a1
Async support for content finders. Improve log performance. ( #12340 )
2022-05-03 21:29:15 +02:00
Nikolaj Geisle
7994f5c326
Add nullability to Web.Website, Sqlite & SqlServer
2022-04-04 14:47:54 +02:00
Nikolaj Geisle
05a08bef63
Add nullability to nucache & lucene projects
2022-03-30 13:34:56 +02:00
Nikolaj Geisle
915e68e72e
Fix last build errors
2022-02-28 13:14:02 +01:00
Nikolaj Geisle
6be2cd45db
Use nullability on the rest of core
2022-02-16 16:03:53 +01:00
Nikolaj Geisle
b75eae01f3
Add nullability to core project
2022-02-09 13:24:35 +01:00
Bjarke Berg
7ba221be98
Merge remote-tracking branch 'origin/v9/dev' into v10/dev
2021-10-18 06:44:48 +02:00
Bjarke Berg
2922871a73
https://github.com/umbraco/Umbraco-CMS/issues/11227
...
Set culture from domain when internal redirecting due to public access
2021-10-04 13:42:06 +02:00
Nikolaj Geisle
10c2561d0a
Updated Classes to use IOptionsMonitor or IOptionsSnapshot instead of IOptions
2021-09-23 15:31:46 +02:00
Zeegaan
61f952bd70
Changed the UmbracoContextAccessor checks with extension methods to lessen duplicate code
2021-08-16 12:36:50 +02:00
Zeegaan
919b091e67
Fixed 11 classes with the new TryGetUmbracoContext
2021-08-11 11:33:46 +02:00
Mole
2bf86acf38
V9: Place notifications in the same namespace ( #10231 )
...
* Gather all notifications in Umbraco.Cms.Core.Notifications
* Rename notifications to match convention
* Move and rename missed notifications
* Move the three remaining public notification into Umbraco.Cms.Core.Notifications
2021-05-11 14:33:49 +02:00
Shannon Deminick
a1624d26a3
Implements Public Access in netcore ( #10137 )
...
* Getting new netcore PublicAccessChecker in place
* Adds full test coverage for PublicAccessChecker
* remove PublicAccessComposer
* adjust namespaces, ensure RoleManager works, separate public access controller, reduce content controller
* Implements the required methods on IMemberManager, removes old migrated code
* Updates routing to be able to re-route, Fixes middleware ordering ensuring endpoints are last, refactors pipeline options, adds public access middleware, ensures public access follows all hops
* adds note
* adds note
* Cleans up ext methods, ensures that members identity is added on both front-end and back ends. updates how UmbracoApplicationBuilder works in that it explicitly starts endpoints at the time of calling.
* Changes name to IUmbracoEndpointBuilder
* adds note
* Fixing tests, fixing error describers so there's 2x one for back office, one for members, fixes TryConvertTo, fixes login redirect
* fixing build
* Fixes keepalive, fixes PublicAccessMiddleware to not throw, updates startup code to be more clear and removes magic that registers middleware.
* adds note
* removes unused filter, fixes build
* fixes WebPath and tests
* Looks up entities in one query
* remove usings
* Fix test, remove stylesheet
* Set status code before we write to response to avoid error
* Ensures that users and members are validated when logging in. Shares more code between users and members.
* Fixes RepositoryCacheKeys to ensure the keys are normalized
* oops didn't mean to commit this
* Fix casing issues with caching, stop boxing value types for all cache operations, stop re-creating string keys in DefaultRepositoryCachePolicy
* bah, far out this keeps getting recommitted. sorry
Co-authored-by: Bjarke Berg <mail@bergmania.dk >
2021-04-20 07:11:45 +02:00
Shannon
52182ebbf5
Fixes logging for PublishedRouter
2021-03-10 12:08:20 +11: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
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
Shannon
c2c42ada3b
Fixes review notes
2021-01-11 13:55:44 +11:00
Shannon
bd4006c577
Fixes the custom RequestCultureProvider to dynamically add cultures to the supported cultures list, changes the request/builder to not reference a ICultureInfo and instead just a string to avoid allocations and confusion since the handlers will end up as a string anyways. Removes the unnecessary cultureinfo concurrentdictionary because CultureInfo.GetCultureInfo does the same thing.
2021-01-11 13:39:09 +11:00
Shannon
c15b416e88
Ensures the culture is set for requests for both front-end and back office
2021-01-08 11:29:07 +11:00
Shannon
b4922d2685
re-enables the weird IgnorePublishedContentCollisions, simplifies IPublishedRouter interface (more flexible with request options),
2021-01-08 10:42:57 +11:00
Shannon
b017ed0b1b
Gets the UpdateRequestToNotFound thing working
2021-01-08 02:36:55 +11:00
Shannon
bc6768101e
Splits up UmbracoRouteValueTransformer and trying to figure out this hijacked route conundrum with no template :(
2021-01-08 02:10:13 +11:00
Shannon
504837054e
puts back in events but uses event aggregator, changes IPublishedRouter to async
2021-01-08 00:25:09 +11:00
Shannon
dec0ab87da
Gets IsInternalRedirect working and documented, adds unit tests for the builder
2021-01-07 23:14:26 +11:00
Shannon
5b5fe626bb
cleanup, notes
2021-01-07 22:05:23 +11:00
Shannon
8373e98eff
Fix tests
2021-01-07 20:37:36 +11:00
Shannon
333479666c
removes ResponseStatusDescription and others that aren't used, ports the not found handler, ports redirects, headers, etc...
2021-01-06 20:03:49 +11:00
Shannon
f5bd53b223
removes the weird IsInitialPublishedContent
2021-01-06 17:31:46 +11:00
Shannon
295ab504cd
Splits PublishedRequest into a builder and a immutable object
2021-01-06 17:04:35 +11:00
Shannon
e3be4009c0
Getting front end routing poc going
2020-12-08 16:33:50 +11:00
Bjarke Berg
85c01d9905
Merge remote-tracking branch 'origin/netcore/dev' into netcore/netcore
...
# Conflicts:
# src/Umbraco.Configuration/Legacy/GlobalSettings.cs
# src/Umbraco.Core/Configuration/IGlobalSettings.cs
# src/Umbraco.Core/Models/ContentBaseExtensions.cs
# src/Umbraco.Core/Routing/ContentFinderByRedirectUrl.cs
# src/Umbraco.Core/Routing/DefaultUrlProvider.cs
# src/Umbraco.Core/Runtime/MainDom.cs
# src/Umbraco.Core/Services/IRuntimeState.cs
# src/Umbraco.Infrastructure/Compose/NotificationsComponent.cs
# src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/ImageCropperValueConverter.cs
# src/Umbraco.Infrastructure/RuntimeState.cs
# src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
# src/Umbraco.Tests/Runtimes/StandaloneTests.cs
# src/Umbraco.Tests/TestHelpers/TestObjects.cs
# src/Umbraco.Web.BackOffice/Controllers/LogViewerController.cs
# src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
# src/Umbraco.Web.BackOffice/Mapping/ContentMapDefinition.cs
# src/Umbraco.Web.BackOffice/PropertyEditors/RteEmbedController.cs
# src/Umbraco.Web.BackOffice/Trees/DictionaryTreeController.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.UI/Umbraco/config/lang/cs.xml
# src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml
# src/Umbraco.Web/Controllers/UmbLoginController.cs
# src/Umbraco.Web/Install/Controllers/InstallController.cs
# src/Umbraco.Web/PublishedElementExtensions.cs
# src/Umbraco.Web/Runtime/WebInitialComposer.cs
# src/Umbraco.Web/UmbracoHelper.cs
# src/Umbraco.Web/UmbracoInjectedModule.cs
# src/Umbraco.Web/UrlHelperExtensions.cs
# src/Umbraco.Web/UrlHelperRenderExtensions.cs
# src/Umbraco.Web/WebApi/UmbracoApiControllerBase.cs
2020-12-01 11:34:13 +01:00
Bjarke Berg
c88c842d47
Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
...
# Conflicts:
# .github/workflows/codeql-analysis.yml
# src/Umbraco.Core/CompositionExtensions.cs
# src/Umbraco.Core/Constants-AppSettings.cs
# src/Umbraco.Core/GuidUdi.cs
# src/Umbraco.Core/Models/PublishedContent/IPublishedContent.cs
# src/Umbraco.Core/PublishedContentExtensions.cs
# src/Umbraco.Core/Routing/DefaultUrlProvider.cs
# src/Umbraco.Core/Routing/UrlProvider.cs
# src/Umbraco.Core/Routing/UrlProviderExtensions.cs
# src/Umbraco.Core/Runtime/MainDom.cs
# src/Umbraco.Core/Services/IRuntimeState.cs
# src/Umbraco.Core/StringExtensions.cs
# src/Umbraco.Core/Sync/ApplicationUrlHelper.cs
# src/Umbraco.Core/Sync/DatabaseServerRegistrar.cs
# src/Umbraco.Core/Sync/IServerRegistrar.cs
# src/Umbraco.Infrastructure/Media/EmbedProviders/Instagram.cs
# src/Umbraco.Infrastructure/Models/ContentBaseExtensions.cs
# src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs
# src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/ImageCropperValue.cs
# src/Umbraco.Tests/Misc/ApplicationUrlHelperTests.cs
# src/Umbraco.Tests/Routing/UrlProviderTests.cs
# src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
# src/Umbraco.Tests/TestHelpers/TestObjects.cs
# src/Umbraco.Web.UI/Umbraco/Views/Default.cshtml
# src/Umbraco.Web.UI/Views/Partials/Grid/Editors/Rte.cshtml
# src/Umbraco.Web/CompositionExtensions.cs
# src/Umbraco.Web/HtmlHelperBackOfficeExtensions.cs
# src/Umbraco.Web/ImageCropperTemplateExtensions.cs
# src/Umbraco.Web/Models/Mapping/ContentMapDefinition.cs
# src/Umbraco.Web/PropertyEditors/MultiUrlPickerPropertyEditor.cs
# src/Umbraco.Web/PublishedContentExtensions.cs
# src/Umbraco.Web/Runtime/WebInitialComponent.cs
# src/Umbraco.Web/Runtime/WebInitialComposer.cs
# src/Umbraco.Web/Templates/TemplateUtilities.cs
# src/Umbraco.Web/UmbracoContext.cs
# src/Umbraco.Web/UmbracoHelper.cs
# src/Umbraco.Web/UmbracoInjectedModule.cs
2020-11-30 11:24:24 +01:00
Mole
b5aedde616
Do some ILogger cleaning
2020-09-28 08:48:49 +02:00
Mole
894abdd183
Remove a bunch of references to the old logger
2020-09-21 09:41:18 +02:00
Mole
d61b9f54fa
Merge options
2020-09-18 12:53:06 +02:00
Nikolaj
554d2f6f64
Fix TypeLoader and PublishedRouter
2020-09-15 09:00:14 +02:00
Nikolaj
a1ecc4a5c9
Change Warn to LogWarning
2020-09-14 10:17:32 +02:00
Andy Butland
64f8752587
Removed introduced second constructors for IOptions based depenedencies and used Options.Create instead.
2020-08-26 11:58:44 +02:00
Andy Butland
2cd91a5a54
Converted to IOptions over IOptionsSnapshot due to the latter only working in scoped services.
...
Further amends to return to booting application.
2020-08-23 23:36:48 +02:00
Andy Butland
510bd92e78
Amended injection of further settings to use IOptionsSnapshot.
2020-08-21 14:52:47 +01:00
Shannon
f19e18e160
Removes new namespaces: Umbraco.Core.Cookie, Umbraco.Core.Session, Umbraco.Core.Request, these are web things and should be part of one namespace
2020-04-08 15:56:19 +10:00
Bjarke Berg
e2dfc68718
Cleaned up config for WebRouting settings
2020-03-12 09:52:34 +01:00
Bjarke Berg
a4003ad799
Clean up
2020-03-03 12:09:15 +01:00
Bjarke Berg
7daee53c64
Isolated more web usages - Membership and Request stuff
...
- Moved a few more files
2020-02-28 11:15:25 +01:00