Commit Graph

226 Commits

Author SHA1 Message Date
Sebastiaan Jansssen
a288fc62eb Workaround: keep the cache we used to have but clear all cache for membergroups when a member group changes 2018-01-24 17:26:21 +01:00
Sebastiaan Jansssen
8877100bf0 Merge branch 'dev-v7' into temp-u4-10846 2018-01-24 15:50:08 +01:00
Stephan
c022397d86 U4-10846 - fix member group cache 2018-01-23 20:54:47 +01:00
leekelleher
87f09b2ee6 U4-10845 MultiNodeTreePickerPropertyConverter - trashed content causes database lookups
If the first ID in the MNTP value is a trashed content node, then the `ConvertSourceToObject` method would
check if the ID is a media or member node, both of these incur a database call.

This can cause a detrimental performance impact on the website.

This patch uses the `startNode.type` prevalue to detect the node type, (e.g. Content, Media or Member).
The prevalue is cached in a private `ConcurrentDictionary` and refreshed using the `DataTypeCacheRefresher` event.
> _Following the same caching-pattern as the Slider, Tags and MediaPicker value-converters._

<http://issues.umbraco.org/issue/U4-10845>
2018-01-18 10:49:18 +00:00
Stephan
b664fc5e94 U4-10774 - leak in CacheRefresherEventHandler 2017-12-19 10:04:33 +01:00
Shannon
ab3407a1aa Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI.Client/src/less/components/umb-packages.less
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-09-08 11:31:04 +10:00
Stephan
d6f8b878d2 perfs - cleanup 2017-09-07 13:45:56 +02:00
Stephan
dbda6689b6 perfs - suspendable 2017-09-06 18:50:54 +02:00
Shannon
a608577a4f Merge branch 'dev-v7' into dev-v7.7
# Conflicts:
#	src/Umbraco.Core/Constants-Security.cs
#	src/Umbraco.Core/Security/BackOfficeUserStore.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Tests/App.config
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
2017-09-04 16:51:20 +10:00
Shannon
93cd03da28 minor code cleanup 2017-08-24 18:38:40 +10:00
Stephan
90e6815164 Blueprint fixes 2017-08-02 16:11:54 +02:00
Shannon
0008afb455 Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
2017-07-18 13:31:04 +10:00
Shannon
6f74fcf24a Merge remote-tracking branch 'origin/dev-v7' into dev-v7.7
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-07-18 13:27:03 +10:00
Sebastiaan Janssen
5a4dbba21b Merge pull request #1998 from Jeavon/temp-U4-10013
U4-10013 Umbraco.MediaPicker value converter does not understand ints
2017-07-17 20:40:24 +02:00
Stephan
2bff1bfbb6 U4-10121 - properly dispose context 2017-07-13 14:20:29 +02:00
Stephan
ab1dade468 U4-10121 - properly dispose context 2017-07-13 13:11:46 +02:00
Shannon
1643eec62c Fixes cache refreshing for user groups since user cache need to be cleared for that too. Updates cache refreshers to use json.net for serializing which is way faster. adds better support for querying multiple user groups and entity ids for permissions, updates tests 2017-07-13 18:47:10 +10:00
Shannon
c472463f37 Removes all user permissions cache refreshing and events and obsoletes assocated clsses 2017-07-13 11:02:34 +10:00
Shannon
044120ffd2 Gets inherited permissions working, adds lots of unit tests, few more tests to write now. 2017-07-13 00:07:51 +10:00
Shannon
e4edd8f692 U4-10053 Review anywhere else in the codebase that may reference User Type
This also removes some totally unused and ancient code
2017-06-30 18:14:44 +10:00
Stephan
4cdb30fed0 Merge branch dev-v7 into dev-v7.7 2017-06-20 14:27:25 +02:00
Shannon
cec829774e Merge remote-tracking branch 'origin/dev-v7' into user-group-permissions
# Conflicts:
#	src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
#	src/Umbraco.Web/Cache/DataTypeCacheRefresher.cs
2017-06-20 17:09:52 +10:00
Stephan
1a435148d8 U4-10026 - inject idkmap 2017-06-20 08:55:08 +02:00
Stephan
464711d3c8 U4-10026 - use id-key map for getting by guid 2017-06-16 14:09:20 +02:00
Jeavon
047eb893eb Switches Umbraco.MediaPicker (double legacy) to being converted by MultipleMediaPickerPropertyConverter so that it actually works
Renames MultipleMediaPickerPropertyConverter to LegacyMediaPickerPropertyConverter (delete for v8)
2017-06-13 12:28:59 +01:00
Shannon
121036ebb9 Merge branch 'dev-v7.7' into user-group-permissions
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Web.UI.Client/src/less/belle.less
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-06-05 10:35:23 +02:00
Stephan
832ee47564 Fix nested content prevalue cache of all things 2017-06-05 09:28:52 +02:00
Stephan
63d8ef7560 U4-9936 - fix xml cache refresh in lb 2017-05-23 11:21:18 +02:00
Shannon
9bb880f195 Starts getting the user service/repo to do paging filtering nicely 2017-05-17 19:47:16 +10:00
Shannon
9b50d6d251 Gets a few tests fixed 2017-05-11 20:51:31 +10:00
Shannon
512f3237f0 larger refactor so we don't need to worry about 'loading' a users groups, it will all just be done, updated queries to fetch a user, it's groups and it's sections all at once, it might be a little heavy but we'll see. Adds/removes a few other methods that didn't seem right and uses group aliases for most things, adds Datbase unique indexes for group aliases and names (need to fix tests though) 2017-05-10 21:00:30 +10:00
Shannon
8f69efe331 It builds! 2017-05-04 19:16:52 +10:00
Shannon
24e2547656 Merge branch 'u4-8632b' of https://github.com/AndyButland/Umbraco-CMS into AndyButland-u4-8632b
# Conflicts:
#	src/Umbraco.Core/Models/Rdbms/UserGroup2NodePermissionDto.cs
#	src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaCreation.cs
#	src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserRepository.cs
#	src/Umbraco.Core/Persistence/Repositories/UserTypeRepository.cs
#	src/Umbraco.Core/Persistence/RepositoryFactory.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/SectionService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/NotificationsRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
#	src/Umbraco.Tests/Persistence/Repositories/UserTypeRepositoryTest.cs
#	src/Umbraco.Tests/Services/ContentServiceTests.cs
#	src/Umbraco.Tests/Umbraco.Tests.csproj
#	src/Umbraco.Web.UI/config/trees.config
#	src/Umbraco.Web.UI/umbraco/users/PermissionEditor.aspx
#	src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
#	src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
2017-05-04 18:29:43 +10:00
Shannon
d5124e9739 Ensures that an UmbracoContext exist before emitting the cache handler events 2017-05-01 21:10:22 +10:00
Shannon Deminick
f9d79871b4 Merge pull request #1837 from Jeavon/U4-9684
U4-9684 UDI Media Picker Value Converter should cache prevalues
2017-04-19 14:35:29 +10:00
Shannon
cb539e82d0 Merge remote-tracking branch 'origin/dev-v7' into dev-v7.6
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Persistence/Repositories/DataTypeDefinitionRepository.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
#	src/Umbraco.Web/Models/Mapping/MediaModelMapper.cs
#	src/UmbracoExamine/UmbracoMemberIndexer.cs
2017-03-29 18:11:51 +11:00
Jeavon
00a32c4479 U4-9684 UDI Media Picker Value Converter should cache prevalues 2017-03-28 12:46:31 +01:00
Stephan
c8fe9030c7 U4-9323 - fix DataTypeDefinitionRepository prevalues cache 2017-03-23 10:39:28 +01:00
Stephan
77981f889f U4-9582 - perfs, cache converter prevalues 2017-03-21 11:10:52 +01:00
Stephan
496e6c1711 U4-9462 - missed one safeXml.AcceptChanges 2017-03-15 14:50:42 +01:00
Stephan
08c8b84a10 U4-9462 - cleanup units of work, code, fixmes 2017-02-21 13:19:58 +01:00
Stephan
f889b5206c Scope - handle publishing events 2017-02-14 11:11:40 +01:00
Shannon
fb02a5b06d Fixes issue of removing content types in bulk (like when removing a package) and having the trashed event being raised for what will end up being a deleted node, Fixes a bug with the (very silly) extension methods for content types, removes singleton accessors from these (very silly) extension methods - which actually never worked for media types! 2017-02-08 21:59:16 +11:00
Shannon
4647ed2551 Merge branch 'refs/heads/dev-v7.6' into temp-u4-9322
# Conflicts:
#	src/Umbraco.Core/DatabaseContext.cs
#	src/Umbraco.Core/UmbracoApplicationBase.cs
2017-02-07 13:44:17 +11:00
Shannon
a71ec8dd81 Merge remote-tracking branch 'refs/remotes/origin/dev-v7' into dev-v7.6 2017-02-07 12:50:44 +11:00
Shannon
f6a7b25e87 Updates CacheRefresherEventHandler to have consistent events, adds logic to find the event based on definitions, adds tests to test them all 2017-02-06 17:26:06 +11:00
Shannon
411bbcc192 Merge branch 'refs/heads/dev-v7.6' into temp-u4-9322
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Core/Services/ContentTypeService.cs
#	src/Umbraco.Core/Services/DataTypeService.cs
#	src/Umbraco.Core/Services/MacroService.cs
#	src/Umbraco.Core/Services/MediaService.cs
#	src/Umbraco.Core/Services/MemberService.cs
#	src/Umbraco.Core/Services/MemberTypeService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Web/Umbraco.Web.csproj
2017-02-03 12:14:38 +11:00
Shannon
ce69497a68 Update code to have zero breaking changes for old public APIs 2017-02-02 14:16:39 +11:00
Stephan
e3308e86f0 U4-9322 - begin implementing scoped xml cache 2017-01-23 18:03:08 +01:00
Shannon
44732e5f52 Merge remote-tracking branch 'refs/remotes/origin/dev-v7' into dev-v7.6
# Conflicts:
#	build/UmbracoVersion.txt
#	src/SolutionInfo.cs
#	src/Umbraco.Core/Configuration/UmbracoVersion.cs
#	src/Umbraco.Core/DatabaseContext.cs
#	src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
2017-01-17 18:21:45 +11:00