Commit Graph

4699 Commits

Author SHA1 Message Date
Shannon Deminick
5f242aa3f6 Converts the media cache refresher to be a json cache refresher since it was impossible before to have media cache
cleared when media was deleted. Created base classes for cache refreshers, we now have a new event - CacheUpdated
which can now be used by code to execute on each individual server when any cache refresher is updated. Listening to events
normally only fire on the individual server so if people are wanting to refresh their own cache there was previously no way
to do that.
2013-03-21 22:53:58 +06:00
Shannon Deminick
ab8b0f4ebb Merge with 6.0.3 2013-03-21 20:39:33 +06:00
Shannon Deminick
a57d3f7eba Merge 2013-03-21 20:31:23 +06:00
Shannon Deminick
f5a1e41569 missing checkin file 2013-03-21 20:30:32 +06:00
Morten Christensen
3e25b71d9e Updating test for adding PropertyType outside a group to use the proper method for doing so. 2013-03-21 12:58:55 -01:00
Morten Christensen
63de9e6691 Refactoring package installer to use the new PackagingService.
Refactoring ImportDocumentType dialog to import through the PackagingService.
Making a few corrections to the ProppertyGroup and PropertyType classes to support bulk saving.
2013-03-21 12:34:10 -01:00
Stephan
8c79977a23 Web - move GetByAlias out of PublishedCache 2013-03-21 08:54:25 -01: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
Morten Christensen
b9ea85d29d Updating Template to have a lazy master template id.
Adding a few new methods to the DataTypeService, which were needed for the import of DataTypes.
Adding bulk saving of templates.
Adding TopologicalSorter for sorting dependencies.
Implementing import of DataTypes and Templates.
Renaming the import test fixture for consistency after having creating the PackagingService.
2013-03-20 20:31:44 -01: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
266aa3423b Merge 2013-03-21 00:06:50 +06:00
Shannon Deminick
7ea87638f7 Updates all Entity models to use SetPropertyValueAndDetectChanges for setting all simple properties so that
tracking changes works the way it is supposed to. Creates a TracksChangesEntityBase class for any other entity
that wants to implement IRememberBeingDirty (now Entity inherits from this). Upgraded a bunch of other entities that
were not tracking changes properly.
2013-03-21 00:05:56 +06:00
Shannon Deminick
b96b372400 Ensure ResetDirtyProperties(false); is set where appropriate (any PerformGet and the base Get)
relates to : #U4-1946
2013-03-20 23:13:55 +06:00
Stephan
fcb8f0d417 Web.Routing - RoutesCache goes with PublishedCache 2013-03-20 16:01:49 -01:00
Stephan
6e3c4854b9 Web - add extension methods to ContextualContentCache 2013-03-20 16:01:48 -01:00
Stephan
ba24deffc9 Core.Configuration - fix version 2013-03-20 16:01:48 -01: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
e7a6a29e59 Merge 2013-03-20 21:18:24 +06:00
Shannon Deminick
c43efbbfc4 Changed the remaining/relavent properties on ContentTypeBase to use the SetPropertyValueAndDetectChanges
to set property values.
2013-03-20 21:03:48 +06:00
Shannon Deminick
adedc9b64b Ensures mocked test entities don't have dirty properties on initialization. Ensures content xml structure
is rebuilt when a content type's alias is changed or a property type is removed from it. Adds ability  to rebuild
content xml structures for specified content types, not for all content. Adds ContentTypeExtensions and
more unit tests for ContentTypeTests. Changes RuntimeCacheProvider to use new ConcurrentHashSet instead of a dictionary
with the same key/value. Adds overload to IRepositoryCacheProvider to clear cache by type. Clears the IContent cache when
a Content type is saved.
All relates to fixing #U4-1943
2013-03-20 20:53:12 +06:00
Morten Christensen
d0787e92fe Implementing PackagingService and moving Import Export methods to this service to have it specialized and centralized around packaging operations. 2013-03-20 13:51:46 -01:00
Morten Christensen
ffe9953c43 Merge 2013-03-19 20:08:40 -01:00
Morten Christensen
99a9f1ab87 Adding note to mediaService regarding issue U4-1937 2013-03-19 20:06:33 -01:00
Morten Christensen
7def26a489 Implementing import methods in the Content- and ContentType services.
Adding tests to verify import is correct.
2013-03-19 20:05:55 -01:00
Stephan
73d77083ae Web.PublishedCache - bugfix & fix tests 2013-03-19 17:54:41 -01:00
Stephan
b2a1f67fb4 Web.PublishedCache - move XML away from UmbracoContext 2013-03-19 17:54:41 -01:00
Stephan
3a0d617b14 Web - cleanup UmbracoHelper XPath methods 2013-03-19 17:54:37 -01:00
Stephan
ce0c72d9f8 Web.PublishedCache - introduce contextual caches 2013-03-19 17:51:55 -01:00
Stephan
cb966ac70b Web.Routing - use UmbracoContext.ContentCache 2013-03-19 17:50:38 -01:00
Shannon Deminick
6c40f32c2a Fixes merge issues. 2013-03-20 00:50:37 +06:00
Stephan
cce32f406f Web.PublishedCache - move caches to UmbracoContext 2013-03-19 17:50:36 -01:00
Shannon Deminick
610ff91a9d Merge with 6.0.3 2013-03-20 00:23:24 +06:00
Shannon Deminick
a76ffe8daf Backported changes from 6.1 to fix how RePublishAll behaves in the content service to ensure its the same as what was done with
Document.RePublishAll
2013-03-20 00:19:36 +06:00
Shannon Deminick
45f39158ba Merge 2013-03-19 23:55:29 +06:00
Shannon Deminick
d7b5d73e62 updated merge 2013-03-19 23:54:56 +06:00
Shannon Deminick
780a9632f0 Merge 2013-03-19 23:49:51 +06:00
Shannon Deminick
603b6c73f7 Adds some notes. 2013-03-19 23:49:20 +06:00
Shannon Deminick
1b66c42c9b Fixes RePublishAll method to ensure it performs the same function as the legacy Document.RePublishAll - it just
re-generates the XML in the cmsContentXml table. Updates the Sql providers to support truncate table. Updates the RepublishAll
unit test. Adds a TruncateTable extension to PetaPoco. Adds locking to certain service methods that perform more than once function.
2013-03-19 23:46:13 +06:00
Morten Christensen
5175fb5188 Updating the EntityService implementation 2013-03-19 09:34:36 -01:00
Shannon Deminick
b260769799 Fixes: #U4-1946 - when entities are constructed via the factories (i.e. from the database), ensure that
properties are not tracked as dirty already.
2013-03-19 07:37:33 +06:00
Shannon Deminick
4495fd05c4 Creates IRememberBeingDirty interface to track the properties that we're changed before the last commit for a given entity.
Adds internal property and tracks it's dirty changes to the ContentTypeBase - HasPropertyBeenRemoved.
Fixes: #U4-1942 - ensures content xml cache is refreshed even across servers when a property is removed or when the alias is changed.
2013-03-19 06:38:15 +06:00
Morten Christensen
923653f2b5 Merge 2013-03-18 20:19:09 -01:00
Morten Christensen
083320002b Continueing with the implementation of the EntityRepository 2013-03-18 20:18:12 -01:00
Shannon Deminick
3052c7311f Converts dictionary cache in ContentType to use concurrent dictionary. Changes ContentTypeControlNew to
not call the propertytype.delete() method if it is a DocumentType or MediaType (should only be called for
legacy code like members). Updates ContentTypeCacheRefresher to ensure that all of the content type cache is
cleared properly in the ICacheRefresher.
2013-03-19 02:02:11 +06:00
leekelleher
3af7958940 Updated references for alias conventions constants across the solution. 2013-03-18 17:55:02 +00:00
leekelleher
c7498cec03 Added constants for regular conventions within the Umbraco core.
e.g. popular property-type aliases.
2013-03-18 17:51:57 +00:00
Stephan
abe4ec6524 Core.Configuration - simplify 2013-03-18 15:49:43 -01:00
Shannon Deminick
e3a8b4ac78 Moves some legacy classes into LegacyClasses.cs and un-seals some refreshers with comments to support legacy classes. 2013-03-18 21:18:22 +06:00
Morten Christensen
365dffe2db Merge 2013-03-18 14:15:30 -01:00
Morten Christensen
381157ac5d Initial implementation of the EntityRepository and Service, which will be used to retrieve a basic object with a minimum set of propreties for the models that have their base in the umbracoNode table.
The intention is to use this for loading trees in the backoffice for faster loading.
2013-03-17 16:25:21 -01:00