Commit Graph

235 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
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
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
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
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
Shannon Deminick
45f39158ba Merge 2013-03-19 23:55:29 +06: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
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
leekelleher
37860b4015 Replaced all hard-coded GUID references to use the new Constants. 2013-03-14 22:00:37 +00:00
Shannon Deminick
75d218d2e3 Updated how mappers for persistence work with the MapperFor attribute and have made BaseMapper public but have
kept all properties, etc.. internal just so that they can be found so we don't have to register them.
Updates unit test to ensure the plugin manager is init'd properly with the 'false' override. Ensures that the base
db test also initializes the plugin manager properly.
2013-03-13 01:09:29 +04:00
Shannon Deminick
da331b7408 Changed how model mappers work for persistence objects so we don't have to statically associate the mapper. 2013-03-07 22:27:47 +06:00
Shannon Deminick
0230bedeb6 Reinstated server registration repositories and db table 2013-03-07 21:40:00 +06:00
Shannon Deminick
bd6aa51397 Merge with 6.0.3 2013-03-07 21:27:54 +06:00
Morten Christensen
4ad96b49e7 Fixes U4-1862 2013-03-07 13:35:17 -01:00
Shannon Deminick
2c05eda899 Merge with 6.0.3 2013-03-07 04:01:04 +06:00
Morten Christensen
de55cb8392 Correcting fix for U4-1835 2013-03-06 08:32:05 -01:00
Morten Christensen
df164ee618 Fixes U4-1835 by checking if the value is null before running the regex validation against the value. 2013-03-06 08:02:09 -01:00
Shannon Deminick
36108df4d0 Merge with 6.0.2 2013-03-02 02:49:24 +06:00
Shannon Deminick
010893a73a Fixes: #U4-1822, #U4-1797 - Is helpers and indexes on result collections using IPublishedContent or DynamicPublishedContent were incorrect,
added unit tests to support issues and fixes.
2013-03-02 01:02:38 +06:00
Shannon Deminick
a17a11d50b Fixed: #U4-1810, pretty much finished the examine management dashboard. 2013-03-01 03:04:29 +06:00
Morten Christensen
c38c18fed8 Adding migration for updating PropertyGroups and PropertyTypes 2013-02-28 14:54:42 -01:00
Morten Christensen
836a99128f Fixes moving PropertyTypes between Tabs/PropertyGroups from inherited doc types.
Adds method to move a PropertyType to another PropertyGroup.
2013-02-28 09:07:15 -01:00
Shannon Deminick
f9b7e1b7fa Merge with 6.0.1 2013-02-27 23:20:34 +06:00
Morten Christensen
250e627b1d Fixes saving of RegEx in DocTypes.
Fixes loading and saving of properties on inherited tabs.
Adjusts logic around the creation of tabs/property groups
2013-02-27 14:39:11 -01:00
Shannon Deminick
45b8daa18c Merge with 6.0.1 2013-02-27 21:38:45 +06:00
Morten Christensen
d078ef8f5e Minor adjustment to property tracking 2013-02-27 10:28:40 -01:00
Morten Christensen
289b9743c5 Fixes regression issue with installing document types using legacy api. 2013-02-27 10:23:48 -01:00
Shannon Deminick
5b15218174 Merge with 6.0.1 2013-02-26 01:05:36 +06:00
Morten Christensen
48ee59b94e Adding check related to U4-1757 2013-02-25 14:57:43 -01:00
Morten Christensen
b5d79ebb74 Fixes U4-1690 with a proper implementation for removing ContentTypes from a composition. 2013-02-25 11:15:56 -01:00
Morten Christensen
7e5087ae7d Fixing issues related to DocTypes 2013-02-25 10:31:38 -01:00
Shannon Deminick
dd0d4e872f Merge with 6.0.1 2013-02-23 00:24:38 +06:00
Morten Christensen
00e10deecb Merge 2013-02-22 16:42:17 -01:00
Morten Christensen
520a7f238d Refactoring ContentTypeControlNew and ContentControl 2013-02-22 16:25:45 -01:00
Shannon Deminick
a3f7ef7002 Merge with 6.0.1 2013-02-22 20:04:57 +06:00
Sebastiaan Janssen
596c4ac329 Fixes: U4-1721 V6: Publish of a page ends in YSOD when using legacy schema 2013-02-22 12:36:24 -01:00
Morten Christensen
ce7aa43aa7 Refactoring ContentTypeControlNew to better work with the new api.
Adding a few helper methods to ContentTypeBase, which should make it easier to work with PropertyTypes and Groups.
2013-02-21 16:48:19 -01:00
Morten Christensen
ec4b1c8f70 Fixes U4-1689 and U4-1719.
Refactoring UmbracoImageMediaFactory so it uses the extension method for uploading/setting images, so its a bit more DRY.
2013-02-19 11:06:00 -01:00
Morten Christensen
81021f5821 Part of the fix for U4-1689
Adds an alternative to the naming of the media subfolders instead of using the PropertyId.
2013-02-18 15:46:18 -01:00
Stephan
a995c9557c Core.Strings - new IUrlSegmentProvider 2013-02-18 08:31:00 -01:00
Morten Christensen
b101e25e7a Correcting a check related to U4-1690.
Fixes a typo in an internal class and private method.
2013-02-13 08:05:04 -01:00
Shannon Deminick
7509724e35 Comments out Server registration and db classes for now, we'll revisit this again soon for automatic
distributed cache without the need for xml. This code is nearly there to work in most classic implementations
of a load balanced site where each node has an internal DNS/Hostname entry. Needs some fine tuning but we'll release
this in a later version.
2013-02-20 21:55:02 +06:00
Shannon Deminick
1733e876c4 Merge with 6.0.1 2013-02-19 20:19:43 +06:00
Shannon Deminick
d104ea1b57 Merge with 6.0.1 2013-02-14 02:37:23 +06:00
Shannon Deminick
6423914f01 Creates ServerRegistrationService 2013-02-13 04:22:46 +06:00