Nikolaj Geisle
f23b57db65
V10: fix more nullable references ( #12321 )
...
* Add Nullable and WarningsAsErrors to Build.props
* Remove Nullable from cs proj, add ImplicitUsings to build.props
* Fix errors in core
* Fix in JsonSchema
* Fix infrastructure
* Add non-ambiguous using
* Fix Web/Lucene
* Fix backoffice
* Fix up new build errors from merge
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk >
2022-04-29 15:02:36 +02:00
Andy Butland
b187c89113
Updates to null reference types ( #12317 )
...
* Amended IFileSystem OpenFile to return Stream.Null rather than a nullable stream.
* Updated IUmbracoMapper to map enumerables without null elements given non-null inputs.
* Amended EntityRepositoryBase to not return null collections.
* Made IPublishedElement.Properties a non-nullable collection.
2022-04-29 08:19:34 +02:00
Nikolaj Geisle
b6402c4cc8
Fix build errors after merge
2022-04-05 09:46:47 +02:00
Nikolaj Geisle
a6128bfe8e
Merge branch 'v10/dev' into v10/feature/nullable-reference-types-in-Umbraco.Web.Backoffice
...
# Conflicts:
# src/Umbraco.Core/Cache/MacroCacheRefresher.cs
# src/Umbraco.Core/Services/MacroService.cs
# src/Umbraco.Core/StaticApplicationLogging.cs
# src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MacroRepository.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TrackedReferencesRepository.cs
# src/Umbraco.Infrastructure/PropertyEditors/GridPropertyEditor.cs
# src/Umbraco.Infrastructure/Security/UmbracoPasswordHasher.cs
# src/Umbraco.Web.BackOffice/Controllers/ImagesController.cs
2022-04-05 08:51:08 +02:00
Nikolaj Geisle
b52c4e50cf
Add nullability to web.common
2022-03-29 13:44:21 +02:00
Nikolaj Geisle
0f3aa320be
Fix caching & contentPicker in parameter
2022-03-18 12:54:19 +01:00
Elitsa Marinovska
2aa79c7494
Adding repository caching of macro definition by alias
2022-03-10 16:26:16 +01:00
Nikolaj Geisle
915e68e72e
Fix last build errors
2022-02-28 13:14:02 +01:00
Nikolaj Geisle
d1cf640f2a
more build errors in Core
2022-02-27 21:20:50 +01:00
Nikolaj Geisle
3bf2778803
More work on nullable reference types
2022-02-24 10:22:20 +01:00
Nikolaj Geisle
ed13237177
Fixing more errors with nullable reference types
2022-02-24 09:24:56 +01:00
Nikolaj Geisle
b442a60403
Start work on nullable-reference types in Infrastructure project
2022-02-18 14:32:51 +01:00
Nikolaj Geisle
b75eae01f3
Add nullability to core project
2022-02-09 13:24:35 +01:00
Nikolaj Geisle
936dd38c55
Make lots of models nullable
2022-01-21 11:43:58 +01:00
Nikolaj Geisle
b6d5465b49
Fix up to Macros in Core project
2022-01-13 09:27:37 +01:00
Bjarke Berg
2ec92057c5
Started using nullable reference types..
2021-12-16 13:44:20 +01:00
Shannon Deminick
c77dc5dc00
Migrating tests that depend on Published Cache from the old test project ( #11242 )
...
* starts cleaning up old test project, removing ones we'll never convert, moves new test to where it should be.
* Makes ContentNodeKit immutable properties, moves first nucache tests over
* Gets the Nucache unit tests working and refactors a bit to use builder pattern for models.
* Migrates first xml based cache test to use nucache.
* Migrates a bunch more
* Migrates remaining tests for PublishedContentTests
* Moves PublishedRouterTests
* Moves PublishedContentExtensionTests
* Moves more tests.
* committing wip
* committing wip
* Gets PublishedContentLanguageVariantTests converted and working.
* Fixes DataTable ext method and moves PublishedContentDataTableTests
* Moves PublishedMediaTests
* wip - moving EntityXmlSerializerTests
* Moves more tests
* moves more tests
* moves more tests
* Move another test
* Moves more tests
* Fix test
* move another test
* Moves more tests
* Moves more tests
* Moves more tests
* wip before merge
* More tests
* More tests
* More tests
* More tests
* More tests
* More tests
* Cleanup and moving classes.
* Remove unused code
* Fixed failing tests, due to new null checks, that did not exist in v8
* Avoid breaking changes
* Unbreak more things, even that it the old solution was crazy..
* Fixed bug where ordering of stream readings was changed..
* cleanup
Co-authored-by: Bjarke Berg <mail@bergmania.dk >
2021-10-19 14:11:54 +02:00
Nikolaj
d448ddd7df
Make ValueEditorCacheRefresher a distributed cache refresher
2021-08-30 10:46:05 +02:00
Nikolaj
65b69dfa4a
Create separate refresher for ValueEditorCache
...
Notification handlers are scoped.
2021-08-24 11:02:37 +02:00
Nikolaj
6c21cb30d3
Add locks for the dictionary.
2021-08-24 10:38:38 +02:00
Nikolaj
c690d5f3ba
Add clarifying comment in ValueEditorCache
2021-08-23 15:06:47 +02:00
Nikolaj
306ed56027
Create a cache for value editors
2021-08-23 14:28:44 +02:00
Bjarke Berg
2baa1abfc4
Merge remote-tracking branch 'origin/v8/8.16' into v9/feature/merge_v8_11082021
...
# Conflicts:
# .github/CONTRIBUTING.md
# build/NuSpecs/UmbracoCms.Core.nuspec
# build/NuSpecs/UmbracoCms.Web.nuspec
# build/NuSpecs/UmbracoCms.nuspec
# src/SolutionInfo.cs
# src/Umbraco.Core/Cache/AppCaches.cs
# src/Umbraco.Core/Cache/AppPolicedCacheDictionary.cs
# src/Umbraco.Core/Cache/DeepCloneAppCache.cs
# src/Umbraco.Core/Cache/WebCachingAppCache.cs
# src/Umbraco.Core/CompositionExtensions.cs
# src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
# src/Umbraco.Core/Models/PropertyGroupCollection.cs
# src/Umbraco.Core/Models/PropertyTypeCollection.cs
# src/Umbraco.Core/Persistence/Repositories/Implement/ExternalLoginRepository.cs
# src/Umbraco.Core/ReadLock.cs
# src/Umbraco.Core/Routing/SiteDomainMapper.cs
# src/Umbraco.Core/UpgradeableReadLock.cs
# src/Umbraco.Core/WriteLock.cs
# src/Umbraco.Examine/ExamineExtensions.cs
# src/Umbraco.Infrastructure/Examine/UmbracoFieldDefinitionCollection.cs
# src/Umbraco.Infrastructure/Persistence/Dtos/ContentTypeDto.cs
# src/Umbraco.Infrastructure/Persistence/Dtos/DictionaryDto.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberGroupRepository.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/TemplateRepository.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs
# src/Umbraco.Infrastructure/Services/IdKeyMap.cs
# src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
# src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
# src/Umbraco.Tests/App.config
# src/Umbraco.Web.BackOffice/Controllers/EntityController.cs
# src/Umbraco.Web.UI.Client/package.json
# 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.Web.UI.csproj
# src/Umbraco.Web.UI/Umbraco/config/lang/cy.xml
# src/Umbraco.Web.UI/web.Template.config
# src/Umbraco.Web/CacheHelperExtensions.cs
# src/Umbraco.Web/Editors/RelationTypeController.cs
# src/Umbraco.Web/Logging/WebProfilerProvider.cs
# src/Umbraco.Web/Models/Mapping/MemberMapDefinition.cs
# src/Umbraco.Web/PublishedCache/NuCache/MemberCache.cs
# src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs
# src/Umbraco.Web/Routing/NotFoundHandlerHelper.cs
# src/Umbraco.Web/Security/BackOfficeUserManager.cs
# src/Umbraco.Web/Umbraco.Web.csproj
2021-08-11 19:11:35 +02:00
Shannon
3ce2cf0992
Merge remote-tracking branch 'origin/v8/contrib' into v8/bugfix/removing-unnecessary-readerwriterlock
2021-07-20 10:05:32 -06:00
Shannon
bc84ffe260
Changes all collections from collection builders to resolve the concrete instances lazily.
...
This means we don't have to inject Lazy<T> all over the place when dealing with
colleciton builders and circular references since this will automatically just work OOTB.
This in theory should also allocate less instances during startup.
2021-07-12 15:28:46 -06:00
Bjarke Berg
8a0a6e62bf
Merge remote-tracking branch 'origin/v8/dev' into v9/dev
...
# Conflicts:
# src/SolutionInfo.cs
# src/Umbraco.Core/Cache/DataTypeCacheRefresher.cs
# src/Umbraco.Core/Extensions/PublishedContentExtensions.cs
# src/Umbraco.Core/Extensions/PublishedPropertyExtension.cs
# src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
# src/Umbraco.Tests/TestHelpers/Entities/MockedContentTypes.cs
# src/Umbraco.Web.UI.NetCore/umbraco/config/lang/da.xml
# src/Umbraco.Web/PropertyEditors/MediaPickerPropertyEditor.cs
2021-05-31 15:10:49 +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
Mole
d8d4be9e8e
Backport cache key fix and optimizations ( #10199 )
...
* Add GetKey<T, TId>
* Update Usages of GetKey and remove GetKey<T>(object)
We shouldn't have to retain this since RepositoryCacheKeys is internal.
* Apply changes to DefaultRepositoryCachePolicy
* Add check for default/less than -1 on UserRepository PerformGet
Co-authored-by: Nikolaj <nel@umbraco.dk >
2021-05-03 10:22:42 +02:00
Shannon Deminick
c991e83088
SiteDomainHelper cleanup ( #10166 )
...
* Fixes SiteDomainHelper = no more static weirdness and renames it.
* fix build
2021-04-22 12:25:25 +02:00
Bjarke Berg
b3a9730442
Merge remote-tracking branch 'origin/v8/dev' into netcore/dev
...
# Conflicts:
# build/NuSpecs/UmbracoCms.Web.nuspec
# src/SolutionInfo.cs
# src/Umbraco.Core/Cache/MediaCacheRefresher.cs
# src/Umbraco.Core/Composing/ComponentCollection.cs
# src/Umbraco.Core/Composing/Composers.cs
# src/Umbraco.Core/Composing/TypeFinder.cs
# src/Umbraco.Core/Composing/TypeLoader.cs
# src/Umbraco.Core/Configuration/Grid/GridEditorsConfig.cs
# src/Umbraco.Core/Constants-SvgSanitizer.cs
# src/Umbraco.Core/ContentApps/ContentAppFactoryCollection.cs
# src/Umbraco.Core/Extensions/PublishedContentExtensions.cs
# src/Umbraco.Core/Extensions/PublishedPropertyExtension.cs
# src/Umbraco.Core/Extensions/StringExtensions.cs
# src/Umbraco.Core/HealthChecks/Checks/Security/ExcessiveHeadersCheck.cs
# src/Umbraco.Core/HealthChecks/HealthCheckResults.cs
# src/Umbraco.Core/IO/FileSystems.cs
# src/Umbraco.Core/IO/IOHelper.cs
# src/Umbraco.Core/IO/MediaFileSystem.cs
# src/Umbraco.Core/IO/PhysicalFileSystem.cs
# src/Umbraco.Core/Logging/DebugDiagnosticsLogger.cs
# src/Umbraco.Core/Logging/DisposableTimer.cs
# src/Umbraco.Core/Logging/ILogger.cs
# src/Umbraco.Core/Logging/LogProfiler.cs
# src/Umbraco.Core/Logging/OwinLogger.cs
# src/Umbraco.Core/Manifest/ManifestWatcher.cs
# src/Umbraco.Core/Mapping/UmbracoMapper.cs
# src/Umbraco.Core/Media/UploadAutoFillProperties.cs
# src/Umbraco.Core/Migrations/Install/DatabaseDataCreator.cs
# src/Umbraco.Core/Migrations/Upgrade/V_8_0_0/DataTypes/PreValueMigratorCollection.cs
# src/Umbraco.Core/Models/Mapping/ContentPropertyBasicMapper.cs
# src/Umbraco.Core/Models/Mapping/DataTypeMapDefinition.cs
# src/Umbraco.Core/Models/Mapping/MacroMapDefinition.cs
# src/Umbraco.Core/Models/Member.cs
# src/Umbraco.Core/Packaging/PackageActionRunner.cs
# src/Umbraco.Core/PropertyEditors/DataValueEditor.cs
# src/Umbraco.Core/PropertyEditors/Validators/EyeDropperColorPickerConfigurationEditor.cs
# src/Umbraco.Core/PropertyEditors/Validators/EyeDropperColorPickerPropertyEditor.cs
# src/Umbraco.Core/Routing/DefaultUrlProvider.cs
# src/Umbraco.Core/Runtime/CoreRuntime.cs
# src/Umbraco.Core/Runtime/MainDom.cs
# src/Umbraco.Core/RuntimeState.cs
# src/Umbraco.Core/Scoping/ScopeProvider.cs
# src/Umbraco.Core/Sync/DatabaseServerMessenger.cs
# src/Umbraco.Core/Templates/HtmlUrlParser.cs
# src/Umbraco.Core/UriExtensions.cs
# src/Umbraco.Examine.Lucene/UmbracoContentIndex.cs
# src/Umbraco.Examine.Lucene/UmbracoExamineIndex.cs
# src/Umbraco.Infrastructure/Examine/IndexRebuilder.cs
# src/Umbraco.Infrastructure/Manifest/DataEditorConverter.cs
# src/Umbraco.Infrastructure/Manifest/ManifestParser.cs
# src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
# src/Umbraco.Infrastructure/Migrations/Install/DatabaseSchemaCreator.cs
# src/Umbraco.Infrastructure/Migrations/MigrationPlan.cs
# src/Umbraco.Infrastructure/Migrations/Upgrade/V_8_0_0/DataTypeMigration.cs
# src/Umbraco.Infrastructure/Migrations/Upgrade/V_8_0_0/DropDownPropertyEditorsMigration.cs
# src/Umbraco.Infrastructure/Migrations/Upgrade/V_8_0_0/MergeDateAndDateTimePropertyEditor.cs
# src/Umbraco.Infrastructure/Migrations/Upgrade/V_8_0_0/RadioAndCheckboxPropertyEditorsMigration.cs
# src/Umbraco.Infrastructure/Packaging/PackageDataInstallation.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentRepositoryBase.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentTypeRepository.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentTypeRepositoryBase.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MediaRepository.cs
# src/Umbraco.Infrastructure/Persistence/UmbracoDatabase.cs
# src/Umbraco.Infrastructure/Persistence/UmbracoDatabaseFactory.cs
# src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyEditor.cs
# src/Umbraco.Infrastructure/PropertyEditors/ImageCropperPropertyEditor.cs
# src/Umbraco.Infrastructure/PropertyEditors/MultiUrlPickerValueEditor.cs
# src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs
# src/Umbraco.Infrastructure/PropertyEditors/RichTextEditorPastedImages.cs
# src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/GridValueConverter.cs
# src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/ImageCropperValueConverter.cs
# src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/JsonValueConverter.cs
# src/Umbraco.Infrastructure/PublishedCache/PublishedContentTypeCache.cs
# src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs
# src/Umbraco.Infrastructure/Scoping/Scope.cs
# src/Umbraco.Infrastructure/Search/ExamineNotificationHandler.cs
# src/Umbraco.Infrastructure/Services/Implement/ContentService.cs
# src/Umbraco.Infrastructure/Services/Implement/LocalizedTextService.cs
# src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs
# src/Umbraco.Infrastructure/Services/Implement/MediaService.cs
# src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs
# src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs
# src/Umbraco.ModelsBuilder.Embedded/Compose/ModelsBuilderComposer.cs
# src/Umbraco.ModelsBuilder.Embedded/LiveModelsProvider.cs
# src/Umbraco.PublishedCache.NuCache/ContentStore.cs
# src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/ContentEventsTests.cs
# src/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Mapping/MappingTests.cs
# src/Umbraco.Tests.UnitTests/Umbraco.ModelsBuilder.Embedded/BuilderTests.cs
# src/Umbraco.Tests/Composing/TypeLoaderTests.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/DictionaryPublishedContent.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/LegacyBackgroundTask/BackgroundTaskRunner.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/PreviewContent.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/PublishedMediaCache.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStore.cs
# src/Umbraco.Tests/LegacyXmlPublishedCache/XmlStoreFilePersister.cs
# src/Umbraco.Tests/Services/ContentServicePerformanceTest.cs
# src/Umbraco.Tests/Services/PerformanceTests.cs
# src/Umbraco.Tests/TestHelpers/ConsoleLogger.cs
# src/Umbraco.Tests/Testing/TestingTests/MockTests.cs
# src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
# src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
# src/Umbraco.Web.BackOffice/Controllers/DashboardController.cs
# src/Umbraco.Web.BackOffice/Controllers/ExamineManagementController.cs
# src/Umbraco.Web.BackOffice/HealthChecks/HealthCheckController.cs
# src/Umbraco.Web.BackOffice/PropertyEditors/RteEmbedController.cs
# src/Umbraco.Web.BackOffice/Services/IconService.cs
# src/Umbraco.Web.BackOffice/Trees/ContentTreeControllerBase.cs
# src/Umbraco.Web.Common/Extensions/FormCollectionExtensions.cs
# src/Umbraco.Web.Common/Install/InstallApiController.cs
# src/Umbraco.Web.Common/Macros/MacroRenderer.cs
# src/Umbraco.Web.Common/ModelsBuilder/PureLiveModelFactory.cs
# src/Umbraco.Web.UI.Client/package-lock.json
# src/Umbraco.Web.UI.Client/src/views/memberTypes/copy.controller.js
# src/Umbraco.Web.UI.Client/src/views/memberTypes/copy.html
# 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/config/splashes/noNodes.aspx
# src/Umbraco.Web/AspNet/AspNetHttpContextAccessor.cs
# src/Umbraco.Web/Cache/DistributedCacheBinder.cs
# src/Umbraco.Web/Cache/DistributedCacheBinder_Handlers.cs
# src/Umbraco.Web/Editors/AuthenticationController.cs
# src/Umbraco.Web/Editors/BackOfficeController.cs
# src/Umbraco.Web/Editors/Binders/ContentModelBinderHelper.cs
# src/Umbraco.Web/Editors/ContentControllerBase.cs
# src/Umbraco.Web/Editors/ContentTypeController.cs
# src/Umbraco.Web/Editors/DictionaryController.cs
# src/Umbraco.Web/Editors/MemberTypeController.cs
# src/Umbraco.Web/Editors/PasswordChanger.cs
# src/Umbraco.Web/Editors/RelationTypeController.cs
# src/Umbraco.Web/Editors/TinyMceController.cs
# src/Umbraco.Web/HealthCheck/Checks/Security/HttpsCheck.cs
# src/Umbraco.Web/HtmlHelperRenderExtensions.cs
# src/Umbraco.Web/HttpUrlHelperExtensions.cs
# src/Umbraco.Web/HybridEventMessagesAccessor.cs
# src/Umbraco.Web/ImageCropperTemplateExtensions.cs
# src/Umbraco.Web/JavaScript/ClientDependencyConfiguration.cs
# src/Umbraco.Web/Mvc/RenderMvcController.cs
# src/Umbraco.Web/PublishedCache/NuCache/DataSource/DatabaseDataSource.cs
# src/Umbraco.Web/PublishedCache/NuCache/PublishedSnapshotService.cs
# src/Umbraco.Web/Routing/ContentFinderByConfigured404.cs
# src/Umbraco.Web/Routing/ContentFinderByIdPath.cs
# src/Umbraco.Web/Routing/ContentFinderByRedirectUrl.cs
# src/Umbraco.Web/Routing/ContentFinderByUrl.cs
# src/Umbraco.Web/Routing/ContentFinderByUrlAlias.cs
# src/Umbraco.Web/Routing/ContentFinderByUrlAndTemplate.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/Scheduling/ScheduledPublishing.cs
# src/Umbraco.Web/Scheduling/TempFileCleanup.cs
# src/Umbraco.Web/Security/MembershipHelper.cs
# src/Umbraco.Web/Security/Providers/UmbracoMembershipProvider.cs
# src/Umbraco.Web/Trees/MemberTreeController.cs
# src/Umbraco.Web/Trees/MemberTypeAndGroupTreeControllerBase.cs
# src/Umbraco.Web/Trees/MemberTypeTreeController.cs
# src/Umbraco.Web/UmbracoApplicationBase.cs
# src/Umbraco.Web/UmbracoInjectedModule.cs
# src/Umbraco.Web/UmbracoModule.cs
# src/Umbraco.Web/WebApi/AngularJsonMediaTypeFormatter.cs
# src/Umbraco.Web/WebApi/Filters/FileUploadCleanupFilterAttribute.cs
# src/Umbraco.Web/WebApi/UnhandledExceptionLogger.cs
2021-04-20 19:34:18 +02:00
Mole
8123fee867
Netcore: Migrate RepositoryBase and ContentTypeServiceBase events ( #10141 )
...
* Remove ScopeEntityRemove from ContentRepositoryBase and rely on "ing" notifications
* Remove old event handler from ContentEventsTests
* Remove ScopedVersionRemove from ContentRepositoryBase and rely on service notifications instead
* Remove unused ScopedVersionEventArgs from ContentRepositoryBase
* Migrate ScopeEntityRefresh to notification pattern
Unfortunately it's still published from the repository base
* Add simple content type notifications
* Publish Notifications instead of events in ContentTypeServiceBase for simple events
* Switch OnChanged to use Notifications for ContentTypeServices
* Publish notifications instead of raising ScopedRefreshedEntity on ContentTypeServiceBase
* Hook up to the new ContentType notifications
* Remove DistributedCacheBinderTests
There are no longer any events to really test on.
* Remove ContentTypeChange EventArgs
* Remove ContentService_Copied from DistributedCacheBinder
It's no longer used
* Cleanup
* Cleanup
* Removed uncommented code
* Fixed issue with unattented installs
* Re-add ContentTreeChangeNotification to DistributedCache
* Add new notification for ScopedEntityRemove
Marked as obsolete/hidden in editor, since this should only be used for nucache for now, and should really be changed in the future
* Mark Refresh notifications as obsolete/hidden
These should not be used anywhere outside Nucache, and should be changed to tree change at some point.
* Raise ScopedEntityRemoveNotification on repos and use in nucache
Co-authored-by: Bjarke Berg <mail@bergmania.dk >
2021-04-20 12:17:11 +02:00
Shannon
dc08997040
Removes usages of UpgradeableReadLock
2021-04-20 18:02:23 +10:00
Shannon
b75a786551
Ensures the ReaderWriterLockSlim within our caches are disposed at the end of the app
2021-04-20 16:41:11 +10: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
Elitsa Marinovska
d2a26bf4da
Caching RecycleBinSmells
2021-03-25 11:49:38 +01:00
Shannon
db863b3250
missing namespace after file split.
2021-03-15 13:45:09 +11:00
Shannon
f03fc25b4c
Splits into files, adds ICacheRefresherNotificationFactory, removes Init method
2021-03-15 13:39:34 +11:00
Bjarke Berg
06a202e30e
Migrated CacheRefresher events to IEventAggregator pattern.
2021-03-12 21:49:42 +01:00
Bjarke Berg
d81874aee3
Merge remote-tracking branch 'origin/netcore/dev' into netcore/feature/merge-v8-05032021
...
# Conflicts:
# src/Umbraco.Infrastructure/Persistence/SqlSyntax/SqlServerSyntaxProvider.cs
# src/Umbraco.Infrastructure/Search/ExamineComponent.cs
2021-03-09 09:31:55 +01: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
Shannon
a70a739d62
security accessors should not be hybrid, ensures call context isn't flowed to child set/forget threads, renames TaskHelper and adds a test, removes GenericDictionaryRequestAppCache in favor of HttpContextRequestAppCache that relies on HttpContext and fixes http locks since there was a deadlock problem. Removes SafeCallContext, we just use ExecutionContext.SuppressFlow instead
2021-03-03 10:40:16 +11:00
Shannon
dfc202a6c8
init code cleanup
2021-03-03 09:56:34 +11:00
Kenn Jacobsen
2f737fbbcd
Remove legacy member cache refresher and unused typed cache refresher base class
2021-02-19 13:57:38 +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
3b3d55ca26
Fixes issue with broken caches used for user permissions
...
Calculating start nodes is expensive and this is supposed to be cached but the cache was not working.
2021-02-09 13:43:28 +11:00
Shannon
307ef4c1e0
Removes IBatchedDatabaseServerMessenger, renames methods of IServerMessenger
2020-12-24 14:44:42 +11:00
Shannon
e785ac28a3
Moves more services and registrations "up", removes AspNetCoreComposer logic and moves to AddWebComponents
2020-12-24 14:29:26 +11:00
Shannon
b20ce5a92e
A bunch of cleanup for DI namespaces, ext methods and dist cache classes
2020-12-24 09:50:05 +11:00
Paul Johnson
0241649f7f
Cleanup AddUmbraco & AddUmbracoCore
2020-11-21 15:22:24 +00: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