Commit Graph

138 Commits

Author SHA1 Message Date
Nikolaj Geisle
b442a60403 Start work on nullable-reference types in Infrastructure project 2022-02-18 14:32:51 +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
Nikolaj Geisle
936dd38c55 Make lots of models nullable 2022-01-21 11:43:58 +01:00
Bjarke Berg
2ec92057c5 Started using nullable reference types.. 2021-12-16 13:44:20 +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
Bjarke Berg
a54e10bc13 Merge remote-tracking branch 'origin/v8/dev' into netcore/feature/merge-v8-18-01-2021
# Conflicts:
#	.gitignore
#	build/NuSpecs/UmbracoCms.Core.nuspec
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/BackOfficeElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/ContentElement.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/IBackOfficeSection.cs
#	src/Umbraco.Core/Configuration/UmbracoSettings/IContentSection.cs
#	src/Umbraco.Core/IO/SystemFiles.cs
#	src/Umbraco.Core/Models/ContentBase.cs
#	src/Umbraco.Core/Models/Identity/BackOfficeIdentityUser.cs
#	src/Umbraco.Core/Persistence/UmbracoDatabaseExtensions.cs
#	src/Umbraco.Core/Runtime/CoreRuntime.cs
#	src/Umbraco.Core/RuntimeOptions.cs
#	src/Umbraco.Core/RuntimeState.cs
#	src/Umbraco.Core/Telemetry/TelemetryMarkerComponent.cs
#	src/Umbraco.Core/Telemetry/TelemetryMarkerComposer.cs
#	src/Umbraco.Examine/Umbraco.Examine.csproj
#	src/Umbraco.Infrastructure/HostedServices/ReportSiteTask.cs
#	src/Umbraco.Infrastructure/Install/InstallStepCollection.cs
#	src/Umbraco.Infrastructure/Install/InstallSteps/NewInstallStep.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseSchemaCreator.cs
#	src/Umbraco.Infrastructure/Runtime/SqlMainDomLock.cs
#	src/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/Repositories/ContentTypeRepositoryTest.cs
#	src/Umbraco.Tests/Runtimes/CoreRuntimeTests.cs
#	src/Umbraco.Tests/Runtimes/StandaloneTests.cs
#	src/Umbraco.Tests/Testing/TestDatabase.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.UI.Client/src/installer/steps/database.controller.js
#	src/Umbraco.Web.UI.NetCore/Views/Partials/Grid/Editors/TextString.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/config/umbracoSettings.Release.config
#	src/Umbraco.Web/Composing/CompositionExtensions/Installer.cs
#	src/Umbraco.Web/Editors/PreviewController.cs
#	src/Umbraco.Web/Editors/UsersController.cs
#	src/Umbraco.Web/JavaScript/PreviewInitialize.js
#	src/Umbraco.Web/Telemetry/TelemetryComponent.cs
#	src/Umbraco.Web/UmbracoApplication.cs
2021-01-18 16:06:23 +01:00
Shannon
4a3525ece3 Fixes a memory leak caused by deep cloning
There was a memory leak with PublicAccessEntry during even unassignment which was not clearing the correct handler.
This goes a step further and adds a new ClearCollectionChangedEvents method for all observable collections used in umbraco
which allows fully clearing ALL event handlers instead of having to track specific ones. This will ensure there are no
unintended memory leaks in case end-users have assigned event handlers to the collection changed event which would
not be unassigned during deep cloning.
2021-01-12 13:41:50 +11:00
Bjarke Berg
90c2381c86 Renamed Umbraco.Abstractions to Umbraco.Core 2020-02-24 08:21:53 +01:00
Bjarke Berg
97ade695a7 Move more code without lot of changes 2019-11-19 14:12:11 +01:00
Bjarke Berg
50e61e9227 More usage of IPropertyType, and moved more classes 2019-11-18 13:03:24 +01:00
Bjarke Berg
e5c3b1f8aa AB3649 - More refactor of Property to IProperty... 2019-11-08 15:10:05 +01:00
Ronald Barendse
ed90e71f76 Removed usage of obsoleted ArgumentNullOrEmptyException 2019-10-07 22:10:21 +02:00
Stephan
2092156db3 Cleanup 2019-02-07 12:27:19 +01:00
Stephan
a9adc4eee5 Merge branch 'temp8' into temp8-contentAndType 2019-02-07 10:10:55 +01:00
Stephan
8329097974 Review PR, adjustments 2019-02-07 08:53:49 +01:00
Shannon
3b12e0b72a Updates ContentBase to track the original PropertyType's which means we don't ever need to look them up again, adds notes about this too since it seems it is probably unnecessary to begin with. 2019-02-07 13:28:23 +11:00
Shannon
78849bb7ff removes unused methods and internalizes methods we can't expose yet 2019-02-07 11:42:16 +11:00
Shannon
c04da30547 Merge branch 'temp8' into temp8-contentAndType
# Conflicts:
#	src/Umbraco.Core/Models/Content.cs
#	src/Umbraco.Core/Models/ContentBase.cs
#	src/Umbraco.Tests/Models/ContentTests.cs
2019-02-07 11:41:06 +11:00
Shannon
34c65a94bf dont allocate an empty object if the collection is empty 2019-02-07 00:07:43 +11:00
Shannon
e2c86a96fe Ensures change collections are cleared on clone 2019-02-07 00:05:25 +11:00
Shannon
b95b02d0c0 ensure the culture is bumped if a property of that culture is modified, fixes up the AdjustDates method and tests 2019-02-06 23:51:12 +11:00
Stephan
b260c18056 Refactor IContent vs IContentType 2019-02-06 13:06:31 +01:00
Shannon
5b33416b7b adds fixme notes 2019-02-06 23:02:28 +11:00
Shannon
92606e7122 Fixes up dirty tracking of cultures and published cultures the same way we handle that with other entities which uses observable collection events. This simplifies the dirty tracking logic and means we dont require lookup the original object, but now we need to figure out the fixme stuff 2019-02-06 16:10:20 +11:00
Stephan
29f2f34f9b Refactor IContent vs IContentType 2019-02-05 14:06:48 +01:00
Shannon
b65dac946f Merge branch 'temp8-IContentService-SaveAndPublish-4324' into temp8-3640
# Conflicts:
#	src/Umbraco.Core/Models/Content.cs
#	src/Umbraco.Core/Models/ContentBase.cs
#	src/Umbraco.Core/Models/IContent.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
2019-02-05 16:14:46 +11:00
Shannon
f1b23ba0e9 Merge remote-tracking branch 'origin/temp8' into temp8-3640
# Conflicts:
#	src/Umbraco.Core/Models/Content.cs
2019-02-05 14:27:40 +11:00
Shannon
9f612465cf Cleans up IContent/IContentBase, no more internal methods or setters, moves manipulation used by the DocumentRepository to ext methods 2019-02-05 14:13:03 +11:00
Shannon
c20e597115 Merge remote-tracking branch 'origin/temp8' into temp8-IContentService-SaveAndPublish-4324 2019-02-05 01:13:43 +11:00
Stephan
3c3b9e3946 Fixes 2019-02-04 12:55:04 +01:00
Stephan
23159ce9a6 Merge branch 'temp8' into temp8-4229-validation-from-main-variant-does-not-prevent-publishing 2019-02-04 11:11:34 +01:00
Stephan
bc987a825a Cleanup 2019-02-04 10:09:32 +01:00
Shannon
80165c3c0f Fixes allocations of property selectors, with nameof we save a bunch of both memory and initial reflection lookups 2019-02-04 19:52:04 +11:00
Shannon
b51d3036e3 Adds overload of SaveAndPublish to accept multiple cultures, renames SavePublishing to CommitDocumentChanges, removes IContent.ChangeContentType 2019-02-04 16:55:35 +11:00
Stephan
3199aa6693 Support culture in content Saving and Publishing events 2019-01-31 15:06:24 +01:00
Bjarke Berg
fe2af90caa #4229 - If the property do not support variantions, we need to validate the default language 2019-01-30 13:56:50 +01:00
Chris Houston
a13a38a482 Updated all the TODO: comments in the Umbraco.Core project so they are all in the same format. ( // TODO: ) (#4220)
Also moved some of the comments so they are will work better / are not within Code Documentation comments
2019-01-26 15:42:14 +01:00
Chris Houston
78319bae9e Temp8 fix typos 2 (#4130) 2019-01-23 00:03:39 +01:00
Stephan
4a0b969777 Deal with fixme in Umbraco.Core 2019-01-21 16:01:37 +01:00
Stephan
eb37e03ebc Deal with fixme/review 2018-11-15 13:25:21 +01:00
Shannon
b515aea8dd Fixes issue with *, fixes some of the logic in tests, adds another test, adds fixme notes 2018-11-15 16:25:08 +11:00
Stephan
0cd8f3787c Clear fixmes 2018-11-13 16:42:31 +01:00
Shannon
42f0d2b356 Fixes dirty tracking with resetting properties 2018-10-25 15:47:25 +11:00
Stephan
9320c1a061 Cleanup variants dirty tracking 2018-10-23 15:38:47 +02:00
Shannon
abeb4e04e5 Enhance implementation of ObservableDictionary so we can re-use this in more places, changes CultureNameCollection to ObservableDictionary, fixes issue with dirty tracking changed property type collections ... this was working by pure fluke before! Fixes more tests. 2018-10-19 15:41:28 +11:00
Shannon
b30f55ea30 Fixes issue of observable collections, event binding and deep cloning 2018-10-19 08:26:17 +11:00
Shannon
ba186144a0 Updates models to allow dirty tracking on variants 2018-10-17 18:09:52 +11:00
Stephan
14bd8a0851 Cleanup some DTOs 2018-09-25 18:05:14 +02:00
Shannon
029eff1f8a Some refactoring to decouple web based assemblies from Umbraco.Core and move whatever we can to Umbraco.Web where web based assemblies are used. Decouples System.Drawing entirely from Umbraco.Core and removes the Active Directory dependency from Umbraco.core. 2018-08-29 01:15:46 +10:00