Commit Graph

127 Commits

Author SHA1 Message Date
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
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
Shannon
9241e1fcda WIP Getting the content controller a bit further, now need to pull apart the content binder 2018-07-31 17:50:24 +10:00
Stephan
b3696c29cc Refactor Variants at service level 2018-07-04 08:59:50 +02:00
Stephan
ecf9a928d7 Refactor variations 2018-07-03 13:05:21 +02:00
Stephan
7a615133ff Renormalize 2018-06-29 19:52:40 +02:00
Shannon
504b6cb079 Changes Content.Names to Content.CultureNames and Content.PublishNames to Content.PublishCultureNames 2018-06-01 16:15:46 +10:00
Shannon
b75cf3bc76 Changes EnumExtensions to ContentVariationExtensions and adds more helper methods to replace a lot of the duplicate checking in our code. Adds code to enforce unique naming for culture names, adds supporting tests. 2018-06-01 15:20:16 +10:00
Shannon
07a263b794 Fixes validation check for variant nodes that don't have names assigned 2018-05-17 10:28:38 +02:00
Shannon
f2b78c06ef FIxes issue where an invariant property type was being validated with a culture when that would always fail. Fixes issue when saving a content type to ensure that a property type is never both variant and invariant. Adds test. 2018-05-10 18:01:41 +10:00
Shannon
85c739aed4 Merge branch 'temp8-U4-11227' into temp8-U4-11282
# Conflicts:
#	src/Umbraco.Core/Models/ContentBase.cs
#	src/Umbraco.Core/Persistence/Repositories/Implement/EntityRepository.cs
#	src/Umbraco.Tests/Services/EntityServiceTests.cs
#	src/Umbraco.Web/PublishedCache/NuCache/ContentCache.cs
#	src/Umbraco.Web/PublishedContentExtensions.cs
#	src/Umbraco.Web/Trees/ContentTreeControllerBase.cs
2018-05-08 12:31:03 +10:00
Shannon
5a991c9424 Fixes Publishing/Unpublishing variants and it's nuances 2018-05-07 23:22:52 +10:00
Stephan
d13a6f5f58 Fixes 2018-05-07 08:26:10 +02:00