Commit Graph

93 Commits

Author SHA1 Message Date
Stephan
27eaa8d4af Inject filesystems into partial repositories 2016-11-16 15:19:15 +01:00
Stephan
28fe2f7d22 Merge remote-tracking branch 'origin/dev-v7' into dev-v7-deploy 2016-11-15 18:43:14 +01:00
Lars-Erik Aabech
bf50c25854 Only caching relation types
First hackathon task done. :)
2016-11-03 10:26:31 +01:00
Lars-Erik Aabech
f199b0a651 Added default cachehelper to the relation repositories 2016-10-18 22:35:46 +02:00
Stephan
3ab01a2164 Implement shadow filesystems, IFileSystem2.GetSize 2016-09-21 12:40:29 +02:00
Claus
b67855b7a3 xslt file repository and methods for getting xslt files in FileService. 2016-09-09 13:33:14 +02:00
Claus
7be76f10d6 accessing file streams for ScriptRepository and StylesheetRepository.
changed naming of existing file service methods to conform.
2016-09-09 09:26:29 +02:00
Stephan
79bbd6a70c U4-8361 - implement repository 2016-06-12 15:27:54 +02:00
Shannon
5ab61e7638 U4-7816 The IsolatedCache instance in the RepositoryFactory differs from the ApplicationContext singleton instance 2016-01-22 17:09:44 +01:00
Shannon
ce3028446b Moves all serialization logic, including the part for folders into the EntityXmlSerializer where it needs to be, updates the data type repo to ensure paths are udpated correctly when moving, removes folder logic from other packaging logic, it's purely the responsibility of the serializer. adds new methods to content type and data type services to return an entities total folder collection. 2016-01-14 19:33:53 +01:00
Sebastiaan Janssen
5a62713de4 Merge remote-tracking branch 'origin/dev-v7' into 7.4.0
# Conflicts:
#	src/Umbraco.Core/Umbraco.Core.csproj
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/integer/integer.html
2016-01-12 11:39:10 +01:00
Shannon
d7a142e724 Refactors DictionaryItem and DictionaryTranslation so that the attached ILanguage entity is not cached nor cloned. This will save on lots of memory and cloning cycles especially if there are quire a few dictioanry items. Unfortunatley to achieve this requires a not so pretty hack where we need to assign an internal callback to the model so it knows how to retrieve the language when it needs it. In v8, the ILanguage entity will not be attached at all. This also fixes a cache refresher issue for when a language is deleted -> all dictionary cache must be removed. This commit also changes a method name: ClearAllIsolatedCacheByRepositoryEntityType 2016-01-07 18:44:04 +01:00
Shannon
ff829d49a3 Updates all cache refreshers to reference the IsolatedRuntimeCache where required, refactors how IsolatedRuntimeCache is exposed on the CacheHelper, ensures that IsolatedRuntimeCache is used in all repositories instead of the global RuntimeCache, changes all obsolete usages of CacheHelper to the non obsolete equivalent, obsoletes many of the cache keys, obsoletes a couple cache refreshers that aren't used anymore in 7.3, simplifies CacheHelper with regards to it's 'disabled' cache state. 2016-01-06 18:08:14 +01:00
Shannon
4f40fff5ee Moves DeepCloneRuntimeCacheProvider to Cache namespace. Creates DeepCloneableList + tests. Updates RepositoryBase to use DeepCloneableList when GetAllCacheAsCollection is used (so that all entries that get cached are deep cloned into and out-of the cache). Adds test for DeepCloneRuntimeCacheProvider for dealing with this list type. 2016-01-06 14:17:51 +01:00
Shannon
b04d0fc886 Adds Isolated cache to the CacheHelper, adds cache option: GetAllCacheAsCollection, changes the default repository cache to be an isolated cache (instead of part of the single main dictionary cache), adds the logic for the cache option GetAllCacheAsCollection to RepositoryBase, updates Language and Domain repositories to use GetAllCacheAsCollection, updates RepositoryFactory to be the one responsible for injecting a DeepCloneRuntimeCacheProvider and to use a single _noCache instance. 2016-01-06 13:48:03 +01:00
Shannon
aa91b5c68d Merge remote-tracking branch 'origin/dev-v7' into 7.4.0 2015-12-16 11:06:37 +01:00
Lars-Erik Aabech
a14f0021bd Can't log into youtrack. Simple changes to repositoryfactory and umbraco.web.ui assemblyinfo. 2015-12-16 09:50:17 +01:00
Stephan
0f0b612de3 Refactor EntityContainer with (sort-of) proper repository 2015-11-20 18:37:00 +01:00
Stephan
42b689867e U4-6992,U4-7046 - more fixes & tests 2015-09-01 15:46:58 +02:00
Stephan
dbe2257b47 U4-7046 - fix DatabaseServerRegistrar issues 2015-09-01 13:16:58 +02:00
Shannon
16c9ca9e4b Refactors IDomain model, simplifies it so that it doesn't contain references, simplifies the domain repository to no longer require lookups of content and languages, updates all other code referencing IDomain and now if a language lookup is required it is made when appropriate. 2015-07-27 12:53:09 +02:00
Shannon
c917fc37ae Fixes: U4-6113 Cannot delete member with upload field 2015-07-02 17:20:27 +02:00
Shannon
a1d7f2d8b3 Created IMigrationEntryService and affiliated models, etc.... also updates the IServerRegistration stuff to be interfaced. 2015-06-19 12:03:02 +02:00
Shannon
8c51e8bad8 Implements IExternalLoginService and the db table, implements more logic to start enabling this to work in the back office, need to implement the rest of the userstore and then implement a way once logged in to the back office to allow users to link their accounts with external logins. Currently if an external login is detected during startup and it has not been linked we'll throw an exception. Very very close to making this all work nicely. 2015-04-01 13:41:26 +11:00
Shannon
47ec2572f5 IMplements RepositoryCacheOptions to be able to have a more granular approach to how the base repository caches entities. Allows for a zero count caching as well which by default currently will be false since that's how it's inadvertently been until now, however have enabled a zero count cache for public access since this is queried very heavily on GetAll. Going to look at what other repositories do the same - Templates definitely does. 2015-01-29 15:39:41 +11:00
Shannon
61fd3fc505 Implements IPublicAccessService and wraps legacy Access class to use the new service, updates the public access data to use int's since using GUIDs atm is a little too complex, that will need to wait. 2015-01-28 13:16:50 +11:00
Shannon
0f4185b6a5 Gets legacy tasks apis wrapping new apis, added more tests and got the new tasks apis up to speed with all required methods. 2015-01-22 19:19:21 +11:00
Shannon
ae92c8219d Gets legacy domain api wrapping new api, updates DomainService with required methods. 2015-01-21 18:35:08 +11:00
Shannon
d4b718d615 Creates common base class for services, this streamlines all ctors and exposes correct services. Gets the TaskRepository working with a test, now to get it fully implemented. 2015-01-19 18:37:48 +11:00
Shannon
280826f3e8 Fixes: U4-6110 Cleanup the Audit trail code - this should be a service, remove all internal statics 2015-01-19 15:12:34 +11:00
Shannon
23ea9e71fd Removes db support from the StylesheetRepository 2015-01-15 15:02:29 +11:00
Shannon
b3a93e369a WIP - bit of a refactor on the IFile stuff, moves all validation to the service level and obsoletes the IFile.IsValid methods. Adds v5 style CSS property parsing, but might integrate that with this zany css parser in the core for 'safer' parsing. 2015-01-14 12:09:30 +11:00
Shannon
10aad7e048 More decoupling from the SqlSyntaxContext singleton, repositories now all use an injected SqlSyntaxProvider, the respository factory, service context, etc... is now much more streamlined with classes created with a propery dependency chain. 2015-01-13 19:38:23 +11:00
Shannon
cc396c8b96 Removes more unecessary singletons and simplifies/refactors some internal parts like the ctors for the ServiceContext, DatabaseContext. No more RepositoryResolver or SqlSyntaxProvidersResolver these are entirely uncessary and complicate things. 2015-01-13 18:19:52 +11:00
Shannon
d5c8430cd2 Removes all IRepositoryCacheProvider's, we are just using a single cache construct to which is much easier to manage. 2015-01-13 13:33:39 +11:00
Shannon
e3acdbe85b Fixes up dictionary and language repositories to have underlying simple get repositories since they support getting by id, unique id and string variations but we want to have native repository enabled caching for these items so these get methods now use private repositories based on these keys. Adds more tests, removes N+1 queries for languages and dictionary items. Removes RuntimeCacheProvider, we only want one type of cache, this simplifies things a lot. 2015-01-13 13:25:36 +11:00
Shannon
31a1ee9145 Fixes: U4-6088 Publicize all partial view methods on IFileService & U4-6087 Fix Partial View macro repository usage so that when a macro is created from the FileService, the MacroService events are raised 2015-01-09 18:39:44 +11:00
Shannon
defc9d3bc2 Updated all repo's to have their correct ctor's with their correct dependencies. Updated them all to accept ILogger updated all other dependencies with the same without breaking anything since all is internal, or obsoleted other public methods. Updates lots of the tests with mock instances instead, now more tests have less singleton dependencies, easier to test, much clearer and more IoC driven. Updated unit tests to supply the ILogger for required objects, tests should run faster now since most things are just mocked. 2015-01-09 10:51:15 +11:00
Shannon
86e82c7674 Updates PartialView & PartialViewMacros models/services/repositories, streamlines their operations, fixes up other underlying problems with the FileRepository, fixes tree syncing for partial views, partial view macros and scripts, fixes scripts being created in folders, allows partial views and partial view macros to be managed and created in folders, fixes FileUnitOfWork to use a queue, publicizes some internal test classes, fixes tree syncing when dealing with invariant case, adds correct validation to the create dialogs of scripts and partial views (and partial view macros) 2014-10-22 16:44:45 +10:00
Shannon
5bc00e3e48 Fixes: U4-4989 Media with image cropper doesn’t get removed from disk after delete. 2014-09-10 15:07:20 +10:00
Shannon
202f582661 Renames TagsRepository to TagRepository, Fixes n+1 queries on entity repository, fixes n+1 queries on tag repository, updates umbraco member types to specify an entity type for IMember and IMemberType so the entity repository can use it. 2014-09-01 18:06:24 +10:00
Shannon
7d556a0318 Merge remote-tracking branch 'origin/6.2.0' into 7.1.2
Conflicts:
	src/Umbraco.Core/Cache/CacheProviderExtensions.cs
	src/Umbraco.Core/Cache/DictionaryCacheProviderBase.cs
	src/Umbraco.Core/Cache/ICacheProvider.cs
	src/Umbraco.Core/Cache/ObjectCacheRuntimeCacheProvider.cs
	src/Umbraco.Core/Models/Member.cs
	src/Umbraco.Core/Models/PreValue.cs
	src/Umbraco.Core/Models/PropertyType.cs
	src/Umbraco.Core/Services/DataTypeService.cs
	src/Umbraco.Tests/Models/Collections/PropertyCollectionTests.cs
	src/Umbraco.Tests/Umbraco.Tests.csproj
	src/Umbraco.Web/Models/PublishedProperty.cs
	src/Umbraco.Web/umbraco.presentation/umbraco/webservices/MediaUploader.ashx.cs
2014-04-17 18:10:42 +10:00
Shannon
1a13366cc9 Working on U4-4701 Fixup DataTypeService and repository with cache - the deletion logic all now happens in the transaction before it was done quite poorly for updating content types :( 2014-04-17 18:03:34 +10:00
Shannon
bf65bf5bab Got pre-values caching properly and data types using the runtime cache provider correctly + unit tests. 2014-04-17 14:23:37 +10:00
Shannon
0fc5af5e17 Merge remote-tracking branch 'origin/6.2.0' into 7.1.0
Conflicts:
	src/Umbraco.Core/Persistence/Factories/MemberTypeReadOnlyFactory.cs
	src/Umbraco.Core/Persistence/Repositories/ContentTypeBaseRepository.cs
	src/Umbraco.Core/Persistence/Repositories/Interfaces/IMemberRepository.cs
	src/Umbraco.Core/Persistence/Repositories/MemberTypeRepository.cs
	src/Umbraco.Core/Persistence/RepositoryFactory.cs
	src/Umbraco.Tests/packages.config
	src/Umbraco.Web.UI/packages.config
2014-02-20 23:06:13 +11:00
Shannon
a1067e676f publicizes some repository factory methods and interfaces 2014-02-20 21:56:58 +11:00
Shannon
643f05d949 fixes some more merge issues 2014-02-13 16:56:23 +11:00
Shannon
d36cd035e9 Fixes merge issues 2014-02-13 16:46:52 +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