From 3c9b7692f1c349adafbecdbf737ed6121ab4a09f Mon Sep 17 00:00:00 2001 From: Kevin Giszewski Date: Mon, 16 Jun 2014 11:54:49 -0400 Subject: [PATCH 1/7] Bump the version number --- config/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/meta.json b/config/meta.json index e963137..c43ae34 100644 --- a/config/meta.json +++ b/config/meta.json @@ -1,6 +1,6 @@ { "name": "Archetype", - "version": "1.0-beta", + "version": "1.2-beta", "url": "http://github.com/imulus/archetype/", "author": "Imulus", "authorUrl": "http://imulus.com/", From 9aaa490eb0de5c0aef47f3803317cb161979d038 Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 17 Jun 2014 16:59:38 +0100 Subject: [PATCH 2/7] Added the `customViewPath` property to the POCO model --- app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs index 08dd923..98b6d39 100644 --- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs +++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValue.cs @@ -44,6 +44,9 @@ namespace Archetype.Models [JsonProperty("customJsPath")] public string CustomJsPath { get; set; } + [JsonProperty("customViewPath")] + public string CustomViewPath { get; set; } + [JsonProperty("developerMode")] public bool DeveloperMode { get; set; } } From 386a1a58fcafcbb0200b98a108a0e57650cbd957 Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 17 Jun 2014 17:00:26 +0100 Subject: [PATCH 3/7] Set the assembly references not to "copy local" (This seems to revert when NuGet updates references) --- .../Archetype.Umbraco.csproj | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj index 6b43c6c..678f3dd 100644 --- a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj +++ b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj @@ -42,6 +42,7 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\businesslogic.dll + False ..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll @@ -53,9 +54,11 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\cms.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\controls.dll + False ..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll @@ -63,6 +66,7 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\Examine.dll + False ..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll @@ -74,15 +78,19 @@ ..\packages\ImageProcessor.1.9.0.0\lib\ImageProcessor.dll + False ..\packages\ImageProcessor.Web.3.2.3.0\lib\net45\ImageProcessor.Web.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\interfaces.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\log4net.dll + False ..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll @@ -90,9 +98,11 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.ApplicationBlocks.Data.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.Web.Helpers.dll + False False @@ -116,15 +126,16 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\SQLCE4Umbraco.dll + False - True + False ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.dll - True + False ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.Entity.dll @@ -173,36 +184,47 @@ ..\packages\UmbracoCms.Core.7.1.2\lib\TidyNet.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Core.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.DataLayer.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.editorControls.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.MacroEngines.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.providers.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Web.UI.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.XmlSerializers.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\UmbracoExamine.dll + False ..\packages\UmbracoCms.Core.7.1.2\lib\UrlRewritingNet.UrlRewriter.dll + False From cfffa89138c7e73f51ee405a1a114766407c13d4 Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 17 Jun 2014 18:43:58 +0100 Subject: [PATCH 4/7] Applied singleton pattern for `ArchetypeHelper`. --- .../Umbraco.Archetype/Extensions/ArchetypeHelper.cs | 4 ++++ .../PropertyConverters/ArchetypeValueConverter.cs | 11 +++++++---- .../PropertyEditors/ArcheTypePropertyEditor.cs | 6 +++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs index 0d03f92..2ea6be8 100644 --- a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs +++ b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs @@ -14,6 +14,10 @@ namespace Archetype.Extensions protected JsonSerializerSettings _jsonSettings; protected ApplicationContext _app; + private static readonly ArchetypeHelper _instance = new ArchetypeHelper(); + + internal static ArchetypeHelper Instance { get { return _instance; } } + internal ArchetypeHelper() { var dcr = new Newtonsoft.Json.Serialization.DefaultContractResolver(); diff --git a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs index 4f82c22..4c7542b 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs @@ -39,11 +39,14 @@ namespace Archetype.PropertyConverters if (!sourceString.DetectIsJson()) return defaultValue; - var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(source.ToString(), - (propertyType != null ? propertyType.DataTypeId : -1), - (propertyType != null ? propertyType.ContentType : null)); + using (var timer = DisposableTimer.DebugDuration(string.Format("ConvertDataToSource ({0})", propertyType.PropertyTypeAlias))) + { + var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(sourceString, + (propertyType != null ? propertyType.DataTypeId : -1), + (propertyType != null ? propertyType.ContentType : null)); - return archetype; + return archetype; + } } } } \ No newline at end of file diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs index e847ce8..b7ab8c8 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs @@ -58,7 +58,7 @@ namespace Archetype.PropertyEditors if (property.Value == null || property.Value.ToString() == "") return string.Empty; - var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId); + var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId); foreach (var fieldset in archetype.Fieldsets) { @@ -87,7 +87,7 @@ namespace Archetype.PropertyEditors if (property.Value == null || property.Value.ToString() == "") return string.Empty; - var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId); + var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(property.Value.ToString(), propertyType.DataTypeDefinitionId); foreach (var fieldset in archetype.Fieldsets) { @@ -115,7 +115,7 @@ namespace Archetype.PropertyEditors if (editorValue.Value == null || editorValue.Value.ToString() == "") return string.Empty; - var archetype = new ArchetypeHelper().DeserializeJsonToArchetype(editorValue.Value.ToString(), editorValue.PreValues); + var archetype = ArchetypeHelper.Instance.DeserializeJsonToArchetype(editorValue.Value.ToString(), editorValue.PreValues); foreach (var fieldset in archetype.Fieldsets) { From 16f8d9fb2aea38403c7ba370f050f310b43110ce Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 17 Jun 2014 18:45:18 +0100 Subject: [PATCH 5/7] Tidied up namespace references + various whitespace. (I couldn't help myself; OCD! :zap:) --- .../Extensions/ArchetypeHelper.cs | 19 ++++++++----------- .../ArchetypeValueConverter.cs | 13 ++++--------- .../ArcheTypePropertyEditor.cs | 4 +--- 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs index 2ea6be8..a4cbcc8 100644 --- a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs +++ b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs @@ -10,9 +10,8 @@ namespace Archetype.Extensions { public class ArchetypeHelper { - protected JsonSerializerSettings _jsonSettings; - protected ApplicationContext _app; + protected ApplicationContext _app; private static readonly ArchetypeHelper _instance = new ArchetypeHelper(); @@ -48,7 +47,7 @@ namespace Archetype.Extensions catch { return new Models.ArchetypeModel(); - } + } } internal Models.ArchetypeModel DeserializeJsonToArchetype(string sourceJson, int dataTypeId, PublishedContentType hostContentType = null) @@ -75,8 +74,8 @@ namespace Archetype.Extensions } } - private ArchetypePreValue GetArchetypePreValueFromDataTypeId(int dataTypeId) - { + private ArchetypePreValue GetArchetypePreValueFromDataTypeId(int dataTypeId) + { return _app.ApplicationCache.RuntimeCache.GetCacheItem( Constants.CacheKey_PreValueFromDataTypeId + dataTypeId, () => @@ -93,7 +92,7 @@ namespace Archetype.Extensions return config; }) as ArchetypePreValue; - } + } private ArchetypePreValue GetArchetypePreValueFromPreValuesCollection(PreValueCollection dataTypePreValues) { @@ -102,10 +101,9 @@ namespace Archetype.Extensions return preValue; } - private IDataTypeDefinition GetDataTypeByGuid(Guid guid) { - return (IDataTypeDefinition) ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem( + return (IDataTypeDefinition)ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem( Constants.CacheKey_DataTypeByGuid + guid, () => _app.Services.DataTypeService.GetDataTypeDefinitionById(guid)); } @@ -125,7 +123,7 @@ namespace Archetype.Extensions foreach (var property in fieldset.Properties) { var propertyAlias = property.Alias; - foreach ( var propertyInst in fieldsetInst.Properties.Where(x => x.Alias == propertyAlias)) + foreach (var propertyInst in fieldsetInst.Properties.Where(x => x.Alias == propertyAlias)) { propertyInst.DataTypeGuid = property.DataTypeGuid.ToString(); propertyInst.DataTypeId = GetDataTypeByGuid(property.DataTypeGuid).Id; @@ -152,6 +150,5 @@ namespace Archetype.Extensions } } } - } -} +} \ No newline at end of file diff --git a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs index 4c7542b..32f56cf 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs @@ -1,16 +1,11 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Archetype.Extensions; +using Archetype.Extensions; using Archetype.Models; -using Newtonsoft.Json; using Umbraco.Core; -using Umbraco.Core.Models; using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; - -namespace Archetype.PropertyConverters + +namespace Archetype.PropertyConverters { [PropertyValueType(typeof(Models.ArchetypeModel))] [PropertyValueCache(PropertyCacheValue.All, PropertyCacheLevel.Content)] @@ -29,7 +24,7 @@ namespace Archetype.PropertyConverters public override object ConvertDataToSource(PublishedPropertyType propertyType, object source, bool preview) { - var defaultValue = new Models.ArchetypeModel(); + var defaultValue = new ArchetypeModel(); if (source == null) return defaultValue; diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs index b7ab8c8..6c733b3 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs @@ -1,17 +1,15 @@ using System; using System.Collections.Generic; -using System.Linq; using Archetype.Extensions; using ClientDependency.Core; using Newtonsoft.Json; -using Newtonsoft.Json.Linq; using Umbraco.Core; +using Umbraco.Core.Logging; using Umbraco.Core.Models; using Umbraco.Core.Models.Editors; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Web.PropertyEditors; -using Umbraco.Core.Logging; namespace Archetype.PropertyEditors { From 59179d0c8112510629177c40753ddfdf35ec28bb Mon Sep 17 00:00:00 2001 From: Kevin Giszewski Date: Tue, 17 Jun 2014 16:23:38 -0400 Subject: [PATCH 6/7] Fix two-way binding --- app/directives/archetypecustomview.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/directives/archetypecustomview.js b/app/directives/archetypecustomview.js index 848a90d..d6636bd 100644 --- a/app/directives/archetypecustomview.js +++ b/app/directives/archetypecustomview.js @@ -14,6 +14,10 @@ angular.module("umbraco.directives").directive('archetypeCustomView', function ( scope.model.value = scope.archetype.value; scope.model.config = scope.archetype.config; + scope.$watch('model.value', function (newValue, oldValue) { + scope.archetype.value = newValue; + }); + element.html(data.data).show(); $compile(element.contents())(scope); From fdcd6cc3bf99b7fd3011809735db18d205540c3c Mon Sep 17 00:00:00 2001 From: Kevin Giszewski Date: Tue, 17 Jun 2014 16:23:48 -0400 Subject: [PATCH 7/7] Bump Version to 1.2.1 --- app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs | 4 ++-- config/meta.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs index b2449a1..9164a1f 100644 --- a/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs +++ b/app/Umbraco/Umbraco.Archetype/Properties/VersionInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("1.2")] -[assembly: AssemblyFileVersion("1.2-beta")] +[assembly: AssemblyVersion("1.2.1")] +[assembly: AssemblyFileVersion("1.2.1-beta")] diff --git a/config/meta.json b/config/meta.json index c43ae34..48ff610 100644 --- a/config/meta.json +++ b/config/meta.json @@ -1,6 +1,6 @@ { "name": "Archetype", - "version": "1.2-beta", + "version": "1.2.1-beta", "url": "http://github.com/imulus/archetype/", "author": "Imulus", "authorUrl": "http://imulus.com/",