Shannon
58857c5d83
Moves publishing strategies into CacheRefresherEventHandler where the event handlers are supposed to exist.
2015-03-30 17:36:54 +11:00
Shannon
0d8ffc0e67
Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
...
Conflicts:
src/Umbraco.Core/Persistence/Repositories/RecycleBinRepository.cs
src/Umbraco.Core/Services/ContentService.cs
src/Umbraco.Core/Services/ServiceContext.cs
src/Umbraco.Tests/MockTests.cs
src/Umbraco.Web/Cache/DistributedCacheExtensions.cs
src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
2014-04-23 20:45:02 +10:00
Shannon
7ac7bb9714
Fixes: U4-4746 Examine does not index updated paths/levels for moved/trashed media, U4-4744 Examine events do not listen for recycle bin emptying
2014-04-23 20:28:09 +10:00
Shannon
021cac9ca5
Fixes: U4-4746 Examine does not index updated paths/levels for moved/trashed media, U4-4744 Examine events do not listen for recycle bin emptying
2014-04-23 20:19:36 +10:00
Shannon
c309e18f13
Fixes: U4-459 Public Access permissions not set on distributed servers
2014-03-27 16:11:34 +11:00
Shannon
eee09ec45b
Completes: U4-459 Public Access permissions not set on distributed servers
2014-03-27 14:43:07 +11:00
Shannon
b4daab2856
started fixing: U4-459 Public Access permissions not set on distributed servers but have commented that code out for now because it will cause problem in some LB scenarios.
2014-03-27 14:28:45 +11:00
Shannon
9a9237e78e
Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
...
Conflicts:
src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
src/Umbraco.Core/Services/IMembershipUserService.cs
src/Umbraco.Tests/PublishedContent/PublishedContentTestElements.cs
src/Umbraco.Web.UI/config/trees.config
src/Umbraco.Web.UI/config/umbracoSettings.config
src/Umbraco.Web.UI/umbraco/controls/ContentTypeControlNew.ascx
src/Umbraco.Web.UI/umbraco/developer/DataTypes/editDatatype.aspx
src/Umbraco.Web.UI/umbraco/plugins/uGoLive/Dashboard.ascx
src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs
src/Umbraco.Web/Search/ExamineEvents.cs
src/Umbraco.Web/Umbraco.Web.csproj
src/Umbraco.Web/umbraco.presentation/content.cs
src/Umbraco.Web/umbraco.presentation/umbraco/cache/LegacyClasses.cs
2014-03-06 20:22:32 +11:00
Shannon
72c5853fb1
Completes: U4-3937 Ensure media is indexed across all servers in LB environment with Distributed Cache calls
...
for members
2014-03-06 18:25:38 +11:00
Shannon
d0cc93d6a2
Fixes: U4-3937 Ensure media is indexed across all servers in LB environment with Distributed Cache calls
...
This fix is for media indexes to be distributed properly and for unpublished content to be distributed properly, now to get members to do the same.
2014-03-06 17:50:08 +11:00
Shannon
b73c39b4e9
Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
...
Conflicts:
src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
src/Umbraco.Core/Persistence/Repositories/Interfaces/IUserRepository.cs
src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
src/Umbraco.Core/Services/UserService.cs
src/Umbraco.Tests/Services/PerformanceTests.cs
src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
2014-02-17 17:48:16 +11:00
Shannon
feefb052fd
Updates the BulkInsertRecords method to optionally close the trans - shouldn't by default. Updates how permissions are handled in the new services and exposes another method, ensures it's all wrapped in trans and ensures that cache is cleared properly. Fixes: U4-4213 "Replace child node permissions" does not work if all permissions cleared
2014-02-17 17:45:59 +11:00
Shannon
c4acbf0dbc
Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
...
Conflicts:
src/Umbraco.Core/Configuration/ClientDependencyConfiguration.cs
src/Umbraco.Core/Constants-Conventions.cs
src/Umbraco.Core/Models/Member.cs
src/Umbraco.Core/Models/Membership/IUser.cs
src/Umbraco.Core/Models/Template.cs
src/Umbraco.Core/Persistence/Factories/MemberReadOnlyFactory.cs
src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs
src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
src/Umbraco.Core/Persistence/Repositories/Interfaces/IUserRepository.cs
src/Umbraco.Core/Persistence/Repositories/MemberGroupRepository.cs
src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
src/Umbraco.Core/Persistence/Repositories/PermissionRepository.cs
src/Umbraco.Core/Persistence/RepositoryFactory.cs
src/Umbraco.Core/Services/ContentService.cs
src/Umbraco.Core/Services/IMemberTypeService.cs
src/Umbraco.Core/Services/IMembershipUserService.cs
src/Umbraco.Core/Services/IUserService.cs
src/Umbraco.Core/Services/MemberService.cs
src/Umbraco.Core/Services/MemberTypeService.cs
src/Umbraco.Core/Services/ServiceContext.cs
src/Umbraco.Core/Services/UserService.cs
src/Umbraco.Core/Umbraco.Core.csproj
src/Umbraco.Tests/MockTests.cs
src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs
src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs
src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
src/Umbraco.Tests/Persistence/Repositories/UserRepositoryTest.cs
src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/EditProfile.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Login.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/LoginStatus.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Breadcrumb.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/EditProfile.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListAncestorsFromCurrentPage.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesFromCurrentPage.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesOrderedByDate.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesOrderedByName.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListChildPagesWithDoctype.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/ListDescendantsFromCurrentPage.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Login.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/LoginStatus.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/MultinodeTree-picker.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/Navigation.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/RegisterMember.cshtml
src/Umbraco.Web.UI/Umbraco/PartialViews/Templates/SiteMap.cshtml
src/Umbraco.Web.UI/Umbraco/create/PartialView.ascx.cs
src/Umbraco.Web.UI/config/umbracoSettings.config
src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
src/Umbraco.Web/Controllers/UmbLoginController.cs
src/Umbraco.Web/Controllers/UmbLoginStatusController.cs
src/Umbraco.Web/Controllers/UmbProfileController.cs
src/Umbraco.Web/Controllers/UmbRegisterController.cs
src/Umbraco.Web/Models/LoginModel.cs
src/Umbraco.Web/Models/LoginStatusModel.cs
src/Umbraco.Web/Models/ProfileModel.cs
src/Umbraco.Web/Models/RegisterModel.cs
src/Umbraco.Web/Models/UmbracoProperty.cs
src/Umbraco.Web/Mvc/UmbracoViewPageOfTModel.cs
src/Umbraco.Web/PublishedCache/XmlPublishedCache/PublishedMediaCache.cs
src/Umbraco.Web/Security/WebSecurity.cs
src/Umbraco.Web/Umbraco.Web.csproj
src/Umbraco.Web/UmbracoModule.cs
src/Umbraco.Web/WebApi/UmbracoApiController.cs
src/Umbraco.Web/umbraco.presentation/library.cs
src/Umbraco.Web/umbraco.presentation/umbraco/controls/ContentTypeControlNew.ascx.cs
src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewMacrosTasks.cs
src/Umbraco.Web/umbraco.presentation/umbraco/create/PartialViewTasks.cs
src/Umbraco.Web/umbraco.presentation/umbraco/editContent.aspx.cs
src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs
src/Umbraco.Web/umbraco.presentation/umbraco/members/EditMember.aspx.cs
src/Umbraco.Web/umbraco.presentation/umbraco/users/EditUser.aspx.cs
src/Umbraco.Web/umbraco.presentation/umbracobase/baseLibrary.cs
src/Umbraco.Web/umbraco.presentation/umbracobase/restExtension.cs
src/umbraco.businesslogic/User.cs
src/umbraco.providers/UsersMembershipProvider.cs
src/umbraco.providers/members/UmbracoMembershipProvider.cs
2014-02-13 16:22:51 +11:00
Shannon
92235128f1
Got new MemberGroupService done, completed the MemberService for role based stuff, created a member group cache refresher since we are caching member groups by name (probably should cache others too). Public access stuff changes if a name of a member group is changed which is now done with an event instead of coded into the biz logic.
2014-02-12 17:14:16 +11:00
Shannon
15d7443c61
Streamlines the content type cache refreshing, leaving some of the legacy cache clearing but that shouldn't really have an effect, with these new changes it should be guaranteed that the distributed cache is executed always for Doc, media and member types.
2014-01-28 12:13:27 +11:00
Shannon
6719d70cc0
Updates UserTypeCacheRefresher to clear the runtime cache accordingly.
2014-01-28 09:22:01 +11:00
Shannon
4735f27a66
Fixes more naming conventions with CreateMemberWithIdentity, fixes memberTasks to ensure the name is set, fixes new membership providers which had the name/email call reversed. Updates the cache refresher event handler to listen to MemberService events instead of the old legacy API events.
2014-01-23 14:55:41 +11:00
Shannon
6377b9aa50
Fixes some underlying type conversions, fixes more of the member type wrapping, updates contenttypecontrolnew to work with member types properly, ensures the property type cache is cleared when member types change.
2014-01-23 13:33:58 +11:00
Shannon
90c62bddd9
Fixes security check on content controller for the correct publish letter. Adds cache listeners to the MacroService. Ensures the status message is cleared when a form is reset.
2013-10-31 17:22:10 +11:00
Shannon
6fd05ab6be
Listens to new member events for cache refreshing
2013-10-18 16:23:33 +11:00
Shannon
e962e86c3c
Merge remote-tracking branch 'origin/6.2.0' into 7.0.0
...
Conflicts:
src/Umbraco.Core/Models/Rdbms/MemberReadOnlyDto.cs
src/Umbraco.Core/Models/Rdbms/PropertyDataReadOnlyDto.cs
src/Umbraco.Core/Persistence/Querying/BaseExpressionHelper.cs
src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs
src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
src/Umbraco.Core/StringExtensions.cs
src/Umbraco.Core/Umbraco.Core.csproj
src/Umbraco.Tests/Persistence/Repositories/MemberRepositoryTest.cs
src/Umbraco.Tests/Umbraco.Tests.csproj
src/Umbraco.Web.UI/umbraco/dialogs/ChangeDocType.aspx.cs
src/Umbraco.Web/Umbraco.Web.csproj
2013-09-10 11:49:05 +10:00
Morten Christensen
757283a3ff
Making explicit references to the legacy member class to avoid ambiguous references to the new member classes
2013-08-31 19:09:29 +02:00
Shannon
deceec3fa2
Merge remote-tracking branch 'origin/6.1.3' into 7.0.0
...
Conflicts:
src/Umbraco.Core/Models/Membership/IUser.cs
src/Umbraco.Web/Cache/CacheRefresherEventHandler.cs
src/Umbraco.Web/Umbraco.Web.csproj
src/Umbraco.Web/packages.config
src/umbraco.businesslogic/packages.config
src/umbraco.cms/Actions/ActionNew.cs
2013-07-12 11:03:49 +10:00
Shannon
868edee5e6
Fixes: #U4-2161 - permissions inheritance. Fixes up how user permissions cache is invalidated and looked up (it is now lazy and not forced). User permissions are also cached as a low priority for now and only for 20 mins based on #U4-2474.
2013-07-09 11:47:46 +10:00
Shannon
3779e79367
Changes over SectionCollection to SectionService, ApplicationTreeCollection to ApplicationTreeService. Starts implementing UserSectionRepository for use with SectionService. Streamlines BaseMapper implementations.
2013-07-02 17:47:20 +10:00
Shannon
388f55d7fd
Moved application logic into Core which are now 'Sections'. Have proxied all calls from the legacy application to sections. Streamlined how automapper configs are registered (much better now). Updated some unit tests to use the new classes instead of the legacy ones. Created the sections controller to return the sections from the back office. Changed the TypeFinder to search all types not just public ones, changed the boot managers to not have to explicitly modify the resolvers with internal types because now internal types are automatically found.
2013-07-01 14:23:56 +10:00
Shannon
24111c52f2
Obsoleted umbraco.businesslogic.ApplicationTree, have moved logic and new classes to core and proxied calls from it to the new ones. The new ApplicationTreeCollection will be the runtime colleciton of trees which can also read/write/save to the xml.
2013-06-20 10:05:51 +10:00
david.pendray
773500332b
Fix U4-2320 - Error on saving User Permissions
...
Nodes can be null but NodeIds property always returns a collection and this will return Ids from Nodes if _nodeIds are null and Nodes is not.
2013-06-13 02:50:25 +01:00
Shannon Deminick
0cda994538
Fixes DataTypeCacheRefresher to be a Json cache refresher since it needs to refresh both by GUID and by Int Ids
2013-05-07 19:37:57 -10:00
Shannon Deminick
425fcf36eb
un-reverted changes to UserType cache refresher
2013-04-04 23:36:31 +06:00
Shannon Deminick
31fd05ebca
Merge
2013-04-04 23:30:36 +06:00
Shannon Deminick
87c904cc96
Fixes: #U4-2044, #U4-2048
2013-04-04 21:57:41 +06:00
Sebastiaan Janssen
9edcc0c903
Revert UserType caching changes until Shannon can commit UserTypeCacheRefresher
2013-04-04 09:46:20 -02:00
Shannon Deminick
b56f8c8fb3
Fixes: #U4-2043 - User Type cache is not invalidated in LB scenarios
2013-04-04 03:43:05 +06:00
Shannon Deminick
c5e88ef69f
Fixes: #U4-2041, #U4-2040 - user cache is not invalidated when permissions change across LB environments, also streamlined how caching is handled in
...
these classes which now use the standardized events way to do things. Fixes a performance issue and ensures that the cache is not invalidated for 'micro'
operations during permission changes.
2013-04-04 00:30:28 +06:00
Shannon Deminick
e97a01c75c
Fixes: #U4-1992 - Creates DictionaryCacheRefresher to ensure that all cache associated with the dictionary is updated amongst all
...
servers when it is changed/removed. Removes RemoveByJson as we only actually require RefreshByJson since we can put any sort of parameters
in a custom json string including whether it is a remove operation (if required)
2013-03-23 01:59:25 +06:00
Shannon Deminick
1b5139889c
Changed event handler to AfterDelete for DataTypeDefinition, fixes merge issue with Entity and changes WasCancelled to be tracked.
2013-03-22 22:10:24 +06:00
Shannon Deminick
e8dd56786b
Fixes: #U4-1986 - data type cache is not refreshed in load balanced environments.
2013-03-22 05:04:32 +06:00
Shannon Deminick
ee2f2dfda0
Fixes: #U4-1981 - ensures template cache is properly refreshed amonsgst all servers
2013-03-22 02:08:55 +06:00
Shannon Deminick
9d6b38a1c1
Fixes: #U4-1980 - stylesheet and stylesheet property cache is not refreshed in load balanced environments.
2013-03-22 01:49:34 +06:00
Shannon Deminick
f6490a897a
Fixes: #U4-1978 - Creates DomainCacheRefresher - domain cache is now refreshed across all servers
2013-03-22 00:49:07 +06:00
Shannon Deminick
ce8f5c167c
Fixes: #U4-1933 - Adds LanguageCacheRefresher, removes the invalidate cache calls from within the legacy language object.
2013-03-22 00:35:15 +06:00
Shannon Deminick
52f05612ad
Adds another method of distributed cache syncing using a custom json payload. this is necessary for things like ContentType cache
...
updates especially when deleting one since we require all sorts of Ids from the object but the object will be deleted by the time
the request reaches other servers so instead we create a json payload to send to other servers which contains all information necessary
to refresh/clear the cache on the other servers. This will probably be the preferred way going forward to handle cache refreshing.
With this in place, when removing a conent type cache is removed based on events.
This also adds a 'class' generic argument constraint to the repository base classes to guarantee we can do null checks and then we also
fix a null check on RepositoryBase. Updates the Entity class to properly support tracking properties - this now allows us to determine if
an entity was new, which is now used to ensure we don't re-update all of the content cache when a new content type is created.
Have also changed the deletion and creation of document types to use the new API, this allows for a lot less processing and streamlining how
all cache is invalidated. Fixes the construction of a new Template and Content Type in the v6 api and ensures that default values are set - #U4-1972, #U4-1971
2013-03-21 08:38:18 +06:00
Shannon Deminick
c5a0da6aa5
Updated ContentTypeCacheRefresher to ensure that content xml cache is only refreshed for doc types not
...
media types, also ensures that the route cache is cleared (#U4-1969). Changes the deletion of media and
doc types to use the new Api - this ensures that cache is refreshed properly.
2013-03-21 01:04:27 +06:00
Shannon Deminick
aa7fd7bb2b
Removed cache refreshing code from inside of the ascx control as it is now all handled via business logic.
2013-03-20 22:03:35 +06:00
Shannon Deminick
603b6c73f7
Adds some notes.
2013-03-19 23:49:20 +06:00
Shannon Deminick
23bb0e3ac3
Fixes: #U4-1930, #U4-1928, #U4-1929 - addes ContentTypeCacheRefresher to ensure that content type cache is cleared
...
in load balanced scenarios. Cleans up a bit of code too.
2013-03-16 08:47:55 +06:00
Shannon Deminick
2dea4a1d70
updates more cache handling, fixes syntax error in examineindex.release.config, fixes the DefaultServerMessenger ctor
...
to be lazy since the db context isn't initialized yet (will speed up start a bit too), ensures that the macro/xslt caching
clearing is only done on the single server instead or re-posing another distributed call.
2013-03-16 01:37:05 +06:00
Shannon Deminick
860c8c1002
Fixes: #U4-482, #U4-549. Macro cache streamlining - ensures it is cleared based on event handling instead of inline everywhere
...
in code. Unit tests for CacheHelper, unit tests for umbraco.macro, updates to
ObjectExtensions.TryConvertTo + unit tests, enhanced disposable method of ApplicationContext.
2013-03-12 22:58:21 +04:00
Shannon Deminick
ec46d65bb4
Streamlines how macro cache is handled
2013-03-12 03:00:42 +04:00