diff --git a/app/Umbraco/Archetype.Tests/Archetype.Tests.csproj b/app/Umbraco/Archetype.Tests/Archetype.Tests.csproj
index f3082fc..456de20 100644
--- a/app/Umbraco/Archetype.Tests/Archetype.Tests.csproj
+++ b/app/Umbraco/Archetype.Tests/Archetype.Tests.csproj
@@ -37,9 +37,9 @@
..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\businesslogic.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\businesslogic.dll
..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll
@@ -47,20 +47,20 @@
..\packages\ClientDependency-Mvc.1.7.0.4\lib\ClientDependency.Core.Mvc.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\cms.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\cms.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\controls.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\controls.dll
..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Examine.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Examine.dll
..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll
@@ -68,30 +68,32 @@
..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll
-
- ..\packages\ImageProcessor.1.8.7.0\lib\ImageProcessor.dll
-
-
- ..\packages\ImageProcessor.Web.3.2.1.0\lib\net45\ImageProcessor.Web.dll
-
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\interfaces.dll
+ ..\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.1\lib\log4net.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\log4net.dll
..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.ApplicationBlocks.Data.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.ApplicationBlocks.Data.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.Web.Helpers.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.Web.Helpers.dll
True
@@ -116,19 +118,19 @@
..\packages\NUnit.2.6.3\lib\nunit.framework.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\SQLCE4Umbraco.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\SQLCE4Umbraco.dll
True
- ..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.dll
True
- ..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.Entity.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.Entity.dll
@@ -173,47 +175,47 @@
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\TidyNet.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\TidyNet.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Core.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Core.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.DataLayer.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.DataLayer.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.editorControls.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.editorControls.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.MacroEngines.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.MacroEngines.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.providers.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.providers.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Web.UI.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Web.UI.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.XmlSerializers.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.XmlSerializers.dll
-
+
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\UmbracoExamine.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UmbracoExamine.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\UrlRewritingNet.UrlRewriter.dll
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UrlRewritingNet.UrlRewriter.dll
diff --git a/app/Umbraco/Archetype.Tests/Models/FieldsetTests.cs b/app/Umbraco/Archetype.Tests/Models/FieldsetTests.cs
index e7a0b81..e1bbc0d 100644
--- a/app/Umbraco/Archetype.Tests/Models/FieldsetTests.cs
+++ b/app/Umbraco/Archetype.Tests/Models/FieldsetTests.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Archetype.Umbraco.PropertyConverters;
+using Archetype.PropertyConverters;
using NUnit.Framework;
namespace Archetype.Tests.Models
diff --git a/app/Umbraco/Archetype.Tests/PropertyValueConverter/PropertyValueConverterTests.cs b/app/Umbraco/Archetype.Tests/PropertyValueConverter/PropertyValueConverterTests.cs
index 85a4f77..63f595c 100644
--- a/app/Umbraco/Archetype.Tests/PropertyValueConverter/PropertyValueConverterTests.cs
+++ b/app/Umbraco/Archetype.Tests/PropertyValueConverter/PropertyValueConverterTests.cs
@@ -4,7 +4,7 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using Archetype.Umbraco.PropertyConverters;
+using Archetype.PropertyConverters;
using Moq;
using NUnit.Framework;
using Umbraco.Core.Models.PublishedContent;
diff --git a/app/Umbraco/Archetype.Tests/packages.config b/app/Umbraco/Archetype.Tests/packages.config
index 493b067..e0df35f 100644
--- a/app/Umbraco/Archetype.Tests/packages.config
+++ b/app/Umbraco/Archetype.Tests/packages.config
@@ -4,8 +4,8 @@
-
-
+
+
@@ -23,6 +23,6 @@
-
+
\ No newline at end of file
diff --git a/app/Umbraco/DatabaseSizer/Application.cs b/app/Umbraco/DatabaseSizer/Application.cs
new file mode 100644
index 0000000..0824ba5
--- /dev/null
+++ b/app/Umbraco/DatabaseSizer/Application.cs
@@ -0,0 +1,49 @@
+using System;
+using Umbraco.Core;
+using Umbraco.Core.Logging;
+
+namespace DatabaseSizer
+{
+ public class Application : ApplicationEventHandler
+ {
+ protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
+ {
+ base.ApplicationStarted(umbracoApplication, applicationContext);
+
+ ExpandPrevalueValueColumnSize();
+ }
+
+ protected void ExpandPrevalueValueColumnSize()
+ {
+ try
+ {
+ var dbContext = ApplicationContext.Current.DatabaseContext;
+ var colCount =
+ dbContext.Database.ExecuteScalar(
+ "SELECT COUNT(1) FROM INFORMATION_SCHEMA.COLUMNS WHERE DATA_TYPE = 'nvarchar' AND COLUMN_NAME = 'value' AND CHARACTER_MAXIMUM_LENGTH = 2500 AND TABLE_NAME = 'cmsDataTypePreValues'");
+
+ // Check column
+ if (colCount != 0)
+ {
+ using (var trans = dbContext.Database.GetTransaction())
+ {
+ // Change column
+ dbContext.Database.Execute("ALTER TABLE [cmsDataTypePreValues] ALTER COLUMN [value] ntext NULL;");
+
+ trans.Complete();
+ }
+
+ LogHelper.Debug(typeof(Application), "Successfully expanded Prevalue table Value column");
+ }
+ else
+ {
+ LogHelper.Debug(typeof(Application), "Prevalue table Value column is already expanded");
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(typeof(Application), "Error expanding Prevalue table Value column", ex);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/Umbraco/DatabaseSizer/DatabaseSizer.csproj b/app/Umbraco/DatabaseSizer/DatabaseSizer.csproj
new file mode 100644
index 0000000..60c92b8
--- /dev/null
+++ b/app/Umbraco/DatabaseSizer/DatabaseSizer.csproj
@@ -0,0 +1,213 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {0114C963-C514-49C1-B7AB-DCB1825F498C}
+ Library
+ Properties
+ DatabaseSizer
+ DatabaseSizer
+ v4.5
+ 512
+ ..\
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ ..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll
+
+
+ ..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\businesslogic.dll
+
+
+ ..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll
+
+
+ ..\packages\ClientDependency-Mvc.1.7.0.4\lib\ClientDependency.Core.Mvc.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\cms.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\controls.dll
+
+
+ ..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Examine.dll
+
+
+ ..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll
+
+
+ ..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll
+
+
+ ..\packages\ImageProcessor.1.9.0.0\lib\ImageProcessor.dll
+
+
+ ..\packages\ImageProcessor.Web.3.2.3.0\lib\net45\ImageProcessor.Web.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\interfaces.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\log4net.dll
+
+
+ ..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.ApplicationBlocks.Data.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.Web.Helpers.dll
+
+
+ True
+ ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll
+
+
+ ..\packages\Microsoft.AspNet.Mvc.FixedDisplayModes.1.0.0\lib\net40\Microsoft.Web.Mvc.FixedDisplayModes.dll
+
+
+ ..\packages\MiniProfiler.2.1.0\lib\net40\MiniProfiler.dll
+
+
+ ..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll
+
+
+ ..\packages\Newtonsoft.Json.6.0.2\lib\net45\Newtonsoft.Json.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\SQLCE4Umbraco.dll
+
+
+
+
+ True
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.dll
+
+
+ True
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.Entity.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Client.4.0.30506.0\lib\net40\System.Net.Http.Formatting.dll
+
+
+
+ True
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.Helpers.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.Core.4.0.20710.0\lib\net40\System.Web.Http.dll
+
+
+ ..\packages\Microsoft.AspNet.WebApi.WebHost.4.0.20710.0\lib\net40\System.Web.Http.WebHost.dll
+
+
+ True
+ ..\packages\Microsoft.AspNet.Mvc.4.0.20710.0\lib\net40\System.Web.Mvc.dll
+
+
+ True
+ ..\packages\Microsoft.AspNet.Razor.2.0.20710.0\lib\net40\System.Web.Razor.dll
+
+
+ True
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.dll
+
+
+ True
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Deployment.dll
+
+
+ True
+ ..\packages\Microsoft.AspNet.WebPages.2.0.20710.0\lib\net40\System.Web.WebPages.Razor.dll
+
+
+
+
+
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\TidyNet.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Core.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.DataLayer.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.editorControls.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.MacroEngines.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.providers.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Web.UI.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.XmlSerializers.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UmbracoExamine.dll
+
+
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UrlRewritingNet.UrlRewriter.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
+
+
+
+
+
\ No newline at end of file
diff --git a/app/Umbraco/DatabaseSizer/Properties/AssemblyInfo.cs b/app/Umbraco/DatabaseSizer/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..46a4e6f
--- /dev/null
+++ b/app/Umbraco/DatabaseSizer/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("DatabaseSizer.cs")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("DatabaseSizer.cs")]
+[assembly: AssemblyCopyright("Copyright © 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("28dc35d2-3dfb-40b4-9093-bc47c91127ea")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/app/Umbraco/DatabaseSizer/app.config b/app/Umbraco/DatabaseSizer/app.config
new file mode 100644
index 0000000..ccb9166
--- /dev/null
+++ b/app/Umbraco/DatabaseSizer/app.config
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/Umbraco/DatabaseSizer/packages.config b/app/Umbraco/DatabaseSizer/packages.config
new file mode 100644
index 0000000..3fc6851
--- /dev/null
+++ b/app/Umbraco/DatabaseSizer/packages.config
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/Umbraco/Umbraco.Archetype.sln b/app/Umbraco/Umbraco.Archetype.sln
index 88272ac..bb5fa55 100644
--- a/app/Umbraco/Umbraco.Archetype.sln
+++ b/app/Umbraco/Umbraco.Archetype.sln
@@ -12,6 +12,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{D84AA4
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Archetype.Tests", "Archetype.Tests\Archetype.Tests.csproj", "{21F3E6CF-B76F-4059-9474-1AF1CE63CD6B}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DatabaseSizer", "DatabaseSizer\DatabaseSizer.csproj", "{0114C963-C514-49C1-B7AB-DCB1825F498C}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -26,6 +28,10 @@ Global
{21F3E6CF-B76F-4059-9474-1AF1CE63CD6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{21F3E6CF-B76F-4059-9474-1AF1CE63CD6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{21F3E6CF-B76F-4059-9474-1AF1CE63CD6B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0114C963-C514-49C1-B7AB-DCB1825F498C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0114C963-C514-49C1-B7AB-DCB1825F498C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0114C963-C514-49C1-B7AB-DCB1825F498C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0114C963-C514-49C1-B7AB-DCB1825F498C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs
index 3a03b2f..a544c3a 100644
--- a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs
+++ b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs
@@ -9,7 +9,7 @@ using Umbraco.Web.Models.ContentEditing;
using Umbraco.Web.Mvc;
using Umbraco.Web.Editors;
-namespace Archetype.Umbraco.Api
+namespace Archetype.Api
{
[PluginController("ArchetypeApi")]
public class ArchetypeDataTypeController : UmbracoAuthorizedJsonController
diff --git a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
index 8153502..0288163 100644
--- a/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
+++ b/app/Umbraco/Umbraco.Archetype/Archetype.Umbraco.csproj
@@ -7,7 +7,7 @@
{7D185D41-4228-4978-ACB8-83F9A48AD94F}
Library
Properties
- Archetype.Umbraco
+ Archetype
Archetype
v4.5
512
@@ -41,8 +41,7 @@
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\businesslogic.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\businesslogic.dll
..\packages\ClientDependency.1.7.1.2\lib\ClientDependency.Core.dll
@@ -53,20 +52,17 @@
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\cms.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\cms.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\controls.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\controls.dll
..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Examine.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Examine.dll
..\packages\HtmlAgilityPack.1.4.6\lib\Net45\HtmlAgilityPack.dll
@@ -77,32 +73,26 @@
False
- ..\packages\ImageProcessor.1.8.7.0\lib\ImageProcessor.dll
- False
+ ..\packages\ImageProcessor.1.9.0.0\lib\ImageProcessor.dll
- ..\packages\ImageProcessor.Web.3.2.1.0\lib\net45\ImageProcessor.Web.dll
- False
+ ..\packages\ImageProcessor.Web.3.2.3.0\lib\net45\ImageProcessor.Web.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\interfaces.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\interfaces.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\log4net.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\log4net.dll
..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.ApplicationBlocks.Data.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.ApplicationBlocks.Data.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\Microsoft.Web.Helpers.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Microsoft.Web.Helpers.dll
False
@@ -125,18 +115,17 @@
False
- ..\packages\UmbracoCms.Core.7.1.1\lib\SQLCE4Umbraco.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\SQLCE4Umbraco.dll
- False
- ..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.dll
+ True
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.dll
- False
- ..\packages\UmbracoCms.Core.7.1.1\lib\System.Data.SqlServerCe.Entity.dll
+ True
+ ..\packages\UmbracoCms.Core.7.1.2\lib\System.Data.SqlServerCe.Entity.dll
@@ -183,48 +172,37 @@
- ..\packages\UmbracoCms.Core.7.1.1\lib\TidyNet.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\TidyNet.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Core.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Core.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.DataLayer.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.DataLayer.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.editorControls.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.editorControls.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.MacroEngines.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.MacroEngines.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.providers.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.providers.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\Umbraco.Web.UI.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\Umbraco.Web.UI.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\umbraco.XmlSerializers.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\umbraco.XmlSerializers.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\UmbracoExamine.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UmbracoExamine.dll
- ..\packages\UmbracoCms.Core.7.1.1\lib\UrlRewritingNet.UrlRewriter.dll
- False
+ ..\packages\UmbracoCms.Core.7.1.2\lib\UrlRewritingNet.UrlRewriter.dll
diff --git a/app/Umbraco/Umbraco.Archetype/Constants.cs b/app/Umbraco/Umbraco.Archetype/Constants.cs
index 83d036b..f8e6b50 100644
--- a/app/Umbraco/Umbraco.Archetype/Constants.cs
+++ b/app/Umbraco/Umbraco.Archetype/Constants.cs
@@ -1,4 +1,4 @@
-namespace Archetype.Umbraco
+namespace Archetype
{
public static class Constants
{
diff --git a/app/Umbraco/Umbraco.Archetype/Events/ExpireCache.cs b/app/Umbraco/Umbraco.Archetype/Events/ExpireCache.cs
index 3db68df..792165b 100644
--- a/app/Umbraco/Umbraco.Archetype/Events/ExpireCache.cs
+++ b/app/Umbraco/Umbraco.Archetype/Events/ExpireCache.cs
@@ -8,7 +8,7 @@ using Umbraco.Core.Models;
using Umbraco.Core.Services;
using Umbraco.Web;
-namespace Archetype.Umbraco.Events
+namespace Archetype.Events
{
public class ExpireCache : ApplicationEventHandler
{
diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
index 0c84f85..1db4ea6 100644
--- a/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
+++ b/app/Umbraco/Umbraco.Archetype/Extensions/ArchetypeHelper.cs
@@ -5,7 +5,7 @@ using Newtonsoft.Json;
using Umbraco.Core;
using Umbraco.Core.Models;
-namespace Archetype.Umbraco.Extensions
+namespace Archetype.Extensions
{
public class ArchetypeHelper
{
diff --git a/app/Umbraco/Umbraco.Archetype/Extensions/Extensions.cs b/app/Umbraco/Umbraco.Archetype/Extensions/Extensions.cs
index d0f38a5..a8fcf78 100644
--- a/app/Umbraco/Umbraco.Archetype/Extensions/Extensions.cs
+++ b/app/Umbraco/Umbraco.Archetype/Extensions/Extensions.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Web;
using System.Text;
using System.Text.RegularExpressions;
@@ -7,7 +7,7 @@ using Umbraco.Core;
using Umbraco.Web;
using Archetype.Models;
-namespace Archetype.Umbraco.Extensions
+namespace Archetype.Extensions
{
public static class Extensions
{
diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeFieldsetModel.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeFieldsetModel.cs
index 6a0a26a..e25982a 100644
--- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypeFieldsetModel.cs
+++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypeFieldsetModel.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using Umbraco.Core;
@@ -16,7 +16,6 @@ namespace Archetype.Models
public ArchetypeFieldsetModel()
{
Properties = new List();
- }
#region Helper Methods
diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueProperty.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueProperty.cs
index 8217644..d5c4b49 100644
--- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueProperty.cs
+++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePreValueProperty.cs
@@ -31,5 +31,8 @@ namespace Archetype.Models
[JsonProperty("required")]
public bool Required { get; set; }
+
+ [JsonProperty("regEx")]
+ public bool RegEx { get; set; }
}
}
\ No newline at end of file
diff --git a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePropertyModel.cs b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePropertyModel.cs
index 66e6e3c..6f6f9d0 100644
--- a/app/Umbraco/Umbraco.Archetype/Models/ArchetypePropertyModel.cs
+++ b/app/Umbraco/Umbraco.Archetype/Models/ArchetypePropertyModel.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using Umbraco.Core;
@@ -10,7 +10,6 @@ using Umbraco.Web;
namespace Archetype.Models
{
public class ArchetypePropertyModel
- {
[JsonProperty("alias")]
public string Alias { get; internal set; }
diff --git a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
index 8fe131c..96b59c3 100644
--- a/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
+++ b/app/Umbraco/Umbraco.Archetype/PropertyConverters/ArchetypeValueConverter.cs
@@ -1,7 +1,7 @@
-using System;
+using System;
using System.Collections.Generic;
-using System.Linq;
-using Archetype.Umbraco.Extensions;
+using System.Linq;
+using Archetype.Extensions;
using Archetype.Models;
using Newtonsoft.Json;
using Umbraco.Core;
@@ -9,8 +9,8 @@ using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
-
-namespace Archetype.Umbraco.PropertyConverters
+
+namespace Archetype.PropertyConverters
{
[PropertyValueType(typeof(Models.ArchetypeModel))]
[PropertyValueCache(PropertyCacheValue.All, PropertyCacheLevel.Content)]
diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
index 3192130..9877119 100644
--- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
+++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs
@@ -1,7 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using Archetype.Umbraco.Extensions;
+using Archetype.Extensions;
using ClientDependency.Core;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@@ -13,7 +13,7 @@ using Umbraco.Core.Services;
using Umbraco.Web.PropertyEditors;
using Umbraco.Core.Logging;
-namespace Archetype.Umbraco.PropertyEditors
+namespace Archetype.PropertyEditors
{
[PropertyEditorAsset(ClientDependencyType.Javascript, "/App_Plugins/Archetype/js/archetype.js")]
[PropertyEditor("Imulus.Archetype", "Archetype", "/App_Plugins/Archetype/views/archetype.html",
diff --git a/app/Umbraco/Umbraco.Archetype/packages.config b/app/Umbraco/Umbraco.Archetype/packages.config
index d006ee4..8da9da0 100644
--- a/app/Umbraco/Umbraco.Archetype/packages.config
+++ b/app/Umbraco/Umbraco.Archetype/packages.config
@@ -4,8 +4,8 @@
-
-
+
+
@@ -21,6 +21,6 @@
-
+
\ No newline at end of file
diff --git a/app/controllers/controller.js b/app/controllers/controller.js
index c6c35f9..b70426a 100644
--- a/app/controllers/controller.js
+++ b/app/controllers/controller.js
@@ -4,7 +4,7 @@
$scope.model.hideLabel = $scope.model.config.hideLabel == 1;
//get a reference to the current form
- var form = angularHelper.getCurrentForm($scope);
+ $scope.form = $scope.form || angularHelper.getCurrentForm($scope);
//set the config equal to our prevalue config
$scope.model.config = $scope.model.config.archetypeConfig;
@@ -43,7 +43,7 @@
cursor: "move",
handle: ".handle",
update: function (ev, ui) {
-
+ $scope.setDirty();
},
stop: function (ev, ui) {
@@ -67,6 +67,7 @@
$scope.model.value.fieldsets.push(newFieldset);
}
}
+ $scope.setDirty();
newFieldset.collapse = $scope.model.config.enableCollapsing ? true : false;
$scope.focusFieldset(newFieldset);
@@ -76,6 +77,7 @@
$scope.removeRow = function ($index) {
if ($scope.canRemove()) {
if (confirm('Are you sure you want to remove this?')) {
+ $scope.setDirty();
$scope.model.value.fieldsets.splice($index, 1);
}
}
@@ -261,6 +263,13 @@
return (typeof property == 'undefined') ? true : property.isValid;
}
+ // helper to force the current form into the dirty state
+ $scope.setDirty = function () {
+ if($scope.form) {
+ $scope.form.$setDirty();
+ }
+ }
+
//custom js
if ($scope.model.config.customJsPath) {
assetsService.loadJs($scope.model.config.customJsPath);
diff --git a/app/directives/archetypeproperty.js b/app/directives/archetypeproperty.js
index 2433e5f..3579bd6 100644
--- a/app/directives/archetypeproperty.js
+++ b/app/directives/archetypeproperty.js
@@ -97,10 +97,22 @@ angular.module("umbraco.directives").directive('archetypeProperty', function ($c
property.isValid = true;
var propertyConfig = getPropertyByAlias(configFieldsetModel, property.alias);
- if(propertyConfig && propertyConfig.required && (property.value == null || property.value === "")){
- fieldset.isValid = false;
- property.isValid = false;
- valid = false;
+ if (propertyConfig) {
+ if(propertyConfig.required && (property.value == null || property.value === "")) {
+ fieldset.isValid = false;
+ property.isValid = false;
+ valid = false;
+ }
+ // issue 116: RegEx validate property value
+ // Only validate the property value if anything has been entered - RegEx is considered a supplement to "required".
+ if (valid == true && propertyConfig.regEx && property.value) {
+ var regEx = new RegExp(propertyConfig.regEx);
+ if (regEx.test(property.value) == false) {
+ fieldset.isValid = false;
+ property.isValid = false;
+ valid = false;
+ }
+ }
}
});
});
@@ -121,6 +133,7 @@ angular.module("umbraco.directives").directive('archetypeProperty', function ($c
}
//define the initial model and config
+ scope.form = scope.umbracoForm;
scope.model = {};
scope.model.config = {};
@@ -144,8 +157,11 @@ angular.module("umbraco.directives").directive('archetypeProperty', function ($c
scope.$watch('model.value', function (newValue, oldValue) {
scope.archetypeRenderModel.fieldsets[scope.fieldsetIndex].properties[renderModelPropertyIndex].value = newValue;
- //trigger the validation pipeline
- ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
+ // don't set the current value twice - this will keep Umbraco from prompting to discard changes immediately after saving
+ if (newValue != oldValue) {
+ //trigger the validation pipeline
+ ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
+ }
});
element.html(data).show();
@@ -173,7 +189,8 @@ angular.module("umbraco.directives").directive('archetypeProperty', function ($c
fieldset: '=',
fieldsetIndex: '=',
archetypeRenderModel: '=',
- umbracoPropertyAlias: '='
+ umbracoPropertyAlias: '=',
+ umbracoForm: '='
}
}
});
\ No newline at end of file
diff --git a/app/langs/da-dk.js b/app/langs/da-dk.js
index 923133f..2203673 100644
--- a/app/langs/da-dk.js
+++ b/app/langs/da-dk.js
@@ -27,6 +27,7 @@
"defaultValue": "Standard værdi",
"dataType": "Datatype",
"required": "Påkrævet",
+ "regEx": "RegEx validering",
"properties": "Egenskaber",
"labelTemplate": "Label skabelon",
"select": "Vælg",
diff --git a/app/langs/de-de.js b/app/langs/de-de.js
index 7446d25..00aaaf6 100644
--- a/app/langs/de-de.js
+++ b/app/langs/de-de.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/en-gb.js b/app/langs/en-gb.js
index 7f0fe80..404398f 100644
--- a/app/langs/en-gb.js
+++ b/app/langs/en-gb.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/en-us.js b/app/langs/en-us.js
index 7446d25..00aaaf6 100644
--- a/app/langs/en-us.js
+++ b/app/langs/en-us.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/es-es.js b/app/langs/es-es.js
index 7446d25..00aaaf6 100644
--- a/app/langs/es-es.js
+++ b/app/langs/es-es.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/fr-fr.js b/app/langs/fr-fr.js
index 7446d25..00aaaf6 100644
--- a/app/langs/fr-fr.js
+++ b/app/langs/fr-fr.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/he-il.js b/app/langs/he-il.js
index 7446d25..00aaaf6 100644
--- a/app/langs/he-il.js
+++ b/app/langs/he-il.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/it-it.js b/app/langs/it-it.js
index 7446d25..00aaaf6 100644
--- a/app/langs/it-it.js
+++ b/app/langs/it-it.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/ja-jp.js b/app/langs/ja-jp.js
index 7446d25..00aaaf6 100644
--- a/app/langs/ja-jp.js
+++ b/app/langs/ja-jp.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/ko-kr.js b/app/langs/ko-kr.js
index 7446d25..00aaaf6 100644
--- a/app/langs/ko-kr.js
+++ b/app/langs/ko-kr.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/nb-no.js b/app/langs/nb-no.js
index 7446d25..00aaaf6 100644
--- a/app/langs/nb-no.js
+++ b/app/langs/nb-no.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/nl-nl.js b/app/langs/nl-nl.js
index 7446d25..00aaaf6 100644
--- a/app/langs/nl-nl.js
+++ b/app/langs/nl-nl.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/pl-pl.js b/app/langs/pl-pl.js
index 7446d25..00aaaf6 100644
--- a/app/langs/pl-pl.js
+++ b/app/langs/pl-pl.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/pt-br.js b/app/langs/pt-br.js
index 7446d25..00aaaf6 100644
--- a/app/langs/pt-br.js
+++ b/app/langs/pt-br.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/ru-ru.js b/app/langs/ru-ru.js
index 7446d25..00aaaf6 100644
--- a/app/langs/ru-ru.js
+++ b/app/langs/ru-ru.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/sv-se.js b/app/langs/sv-se.js
index 7446d25..00aaaf6 100644
--- a/app/langs/sv-se.js
+++ b/app/langs/sv-se.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/langs/zh-cn.js b/app/langs/zh-cn.js
index 7446d25..00aaaf6 100644
--- a/app/langs/zh-cn.js
+++ b/app/langs/zh-cn.js
@@ -27,6 +27,7 @@
"defaultValue": "Default Value",
"dataType": "DataType",
"required": "Required",
+ "regEx": "RegEx Validation",
"properties": "Properties",
"labelTemplate": "Label Template",
"select": "Select",
diff --git a/app/views/archetype.config.html b/app/views/archetype.config.html
index 5f769b1..cebb76c 100644
--- a/app/views/archetype.config.html
+++ b/app/views/archetype.config.html
@@ -64,6 +64,10 @@
+
diff --git a/app/views/archetype.html b/app/views/archetype.html
index 6cf11d0..6efdb32 100644
--- a/app/views/archetype.html
+++ b/app/views/archetype.html
@@ -37,7 +37,7 @@