From 766ba0c8f58e15ad060189c4c6650a7f5573fc5a Mon Sep 17 00:00:00 2001 From: dprothero Date: Tue, 13 Aug 2013 13:45:38 -0700 Subject: [PATCH 1/7] Fixed membership provider to correctly log failed attempts. --- src/umbraco.providers/members/MembersMembershipProvider.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/umbraco.providers/members/MembersMembershipProvider.cs b/src/umbraco.providers/members/MembersMembershipProvider.cs index bab5a4b505..0572613d78 100644 --- a/src/umbraco.providers/members/MembersMembershipProvider.cs +++ b/src/umbraco.providers/members/MembersMembershipProvider.cs @@ -820,6 +820,7 @@ namespace umbraco.providers.members { UpdateMemberProperty(updateMemberDataObject, m_LockPropertyTypeAlias, true); } + updateMemberDataObject.Save(); } } From 4a481b05d40370cd45d37bcf3deaae88d50eaddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Skyldahl=20S=C3=B8rensen?= Date: Fri, 16 Aug 2013 10:09:09 +0200 Subject: [PATCH 2/7] Optimized WriteLiteral --- src/Umbraco.Web/Mvc/UmbracoViewPage.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web/Mvc/UmbracoViewPage.cs b/src/Umbraco.Web/Mvc/UmbracoViewPage.cs index 7343dabb73..2ba6faff13 100644 --- a/src/Umbraco.Web/Mvc/UmbracoViewPage.cs +++ b/src/Umbraco.Web/Mvc/UmbracoViewPage.cs @@ -1,4 +1,5 @@ using System; +using Sytem.Text; using System.Web.Mvc; using Umbraco.Core; using Umbraco.Core.Configuration; @@ -128,24 +129,30 @@ namespace Umbraco.Web.Mvc { var text = value.ToString().ToLowerInvariant(); var pos = text.IndexOf("", StringComparison.InvariantCultureIgnoreCase); + if (pos > -1) { + string markupToInject; + if (UmbracoContext.Current.InPreviewMode) { - var htmlBadge = + // creating previewBadge markup + markupToInject = String.Format(UmbracoSettings.PreviewBadge, IOHelper.ResolveUrl(SystemDirectories.Umbraco), IOHelper.ResolveUrl(SystemDirectories.UmbracoClient), Server.UrlEncode(UmbracoContext.Current.HttpContext.Request.Path)); - - text = text.Substring(0, pos) + htmlBadge + text.Substring(pos, text.Length - pos); } else { - var profilerMarkup = this.Html.RenderProfiler(); - text = text.Substring(0, pos) + profilerMarkup + text.Substring(pos, text.Length - pos); + // creating mini-profiler markup + markupToInject = Html.RenderProfiler().ToHtmlString(); } - base.WriteLiteral(text); + + var sb = new StringBuilder(text); + sb.Insert(pos, markupToInject); + + base.WriteLiteral(sb.ToString()); return; } } From f41d96786497551a5fffcb05f6e66563a8e93168 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 19 Aug 2013 10:41:49 +0200 Subject: [PATCH 3/7] Fixes: U4-2637 Error adding a User using AD Membership Provider when no Email Address Defined --- src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs b/src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs index e1847f22a4..36ce464a63 100644 --- a/src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs +++ b/src/Umbraco.Web/umbraco.presentation/umbraco/login.aspx.cs @@ -161,14 +161,15 @@ namespace umbraco.cms.presentation /// Maps active directory account to umbraco user account /// /// Name of the login. + /// Email address of the user private void ActiveDirectoryMapping(string loginName, string email) { // Password is not copied over because it is stored in active directory for security! // The user is create with default access to content and as a writer user type if (BusinessLogic.User.getUserId(loginName) == -1) { - BusinessLogic.User.MakeNew(loginName, loginName, string.Empty, email, BusinessLogic.UserType.GetUserType(2)); - BusinessLogic.User u = new BusinessLogic.User(loginName); + BusinessLogic.User.MakeNew(loginName, loginName, string.Empty, email ?? "", UserType.GetUserType(2)); + var u = new User(loginName); u.addApplication(Constants.Applications.Content); } } From 23c6a91e9cad6d4a6ca164cbdb98ca74ec7e579a Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 19 Aug 2013 11:47:53 +0200 Subject: [PATCH 4/7] Fixes merge issue --- src/Umbraco.Web/Mvc/UmbracoViewPage.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Umbraco.Web/Mvc/UmbracoViewPage.cs b/src/Umbraco.Web/Mvc/UmbracoViewPage.cs index 2ba6faff13..fa22cf419b 100644 --- a/src/Umbraco.Web/Mvc/UmbracoViewPage.cs +++ b/src/Umbraco.Web/Mvc/UmbracoViewPage.cs @@ -1,5 +1,5 @@ using System; -using Sytem.Text; +using System.Text; using System.Web.Mvc; using Umbraco.Core; using Umbraco.Core.Configuration; From 65db0e69a97e74c1a0b8fb9aa45742ea961f53a5 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 19 Aug 2013 12:26:01 +0200 Subject: [PATCH 5/7] Fixes: U4-2642 Make SQL CE more resilient to server crashes --- src/Umbraco.Core/DatabaseContext.cs | 2 +- src/Umbraco.Tests/App.config | 2 +- src/Umbraco.Tests/BusinessLogic/BaseTest.cs | 2 +- src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs | 2 +- src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs | 2 +- .../Migrations/Upgrades/ValidateOlderSchemaTest.cs | 2 +- src/Umbraco.Tests/Persistence/DatabaseContextTests.cs | 2 +- src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs | 4 ++-- src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs | 2 +- src/Umbraco.Tests/TestHelpers/TestHelper.cs | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Core/DatabaseContext.cs b/src/Umbraco.Core/DatabaseContext.cs index ed9b7c5a9d..2f0efcbfc0 100644 --- a/src/Umbraco.Core/DatabaseContext.cs +++ b/src/Umbraco.Core/DatabaseContext.cs @@ -112,7 +112,7 @@ namespace Umbraco.Core public void ConfigureEmbeddedDatabaseConnection() { const string providerName = "System.Data.SqlServerCe.4.0"; - const string connectionString = @"Data Source=|DataDirectory|\Umbraco.sdf"; + const string connectionString = @"Data Source=|DataDirectory|\Umbraco.sdf;Flush Interval=1;File Access Retry Timeout=10"; SaveConnectionString(connectionString, providerName); diff --git a/src/Umbraco.Tests/App.config b/src/Umbraco.Tests/App.config index 20f0ce5aae..78ddfe8dcb 100644 --- a/src/Umbraco.Tests/App.config +++ b/src/Umbraco.Tests/App.config @@ -26,7 +26,7 @@ - + diff --git a/src/Umbraco.Tests/BusinessLogic/BaseTest.cs b/src/Umbraco.Tests/BusinessLogic/BaseTest.cs index 9f48cd29d1..73d51e7816 100644 --- a/src/Umbraco.Tests/BusinessLogic/BaseTest.cs +++ b/src/Umbraco.Tests/BusinessLogic/BaseTest.cs @@ -53,7 +53,7 @@ namespace Umbraco.Tests.BusinessLogic private void InitializeDatabase() { - ConfigurationManager.AppSettings.Set(Core.Configuration.GlobalSettings.UmbracoConnectionName, @"datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\UmbracoPetaPocoTests.sdf"); + ConfigurationManager.AppSettings.Set(Core.Configuration.GlobalSettings.UmbracoConnectionName, @"datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10"); ClearDatabase(); diff --git a/src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs index a9b80f9b17..9f8a3be793 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/SqlCeDataUpgradeTest.cs @@ -57,7 +57,7 @@ namespace Umbraco.Tests.Migrations.Upgrades public override UmbracoDatabase GetConfiguredDatabase() { - return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf", "System.Data.SqlServerCe.4.0"); + return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10", "System.Data.SqlServerCe.4.0"); } public override DatabaseProviders GetDatabaseProvider() diff --git a/src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs index e8a3ef1939..3dfc059358 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/SqlCeUpgradeTest.cs @@ -63,7 +63,7 @@ namespace Umbraco.Tests.Migrations.Upgrades public override UmbracoDatabase GetConfiguredDatabase() { - return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf", "System.Data.SqlServerCe.4.0"); + return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10", "System.Data.SqlServerCe.4.0"); } public override DatabaseProviders GetDatabaseProvider() diff --git a/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs index 3dcc1a5308..1abb496fe9 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/ValidateOlderSchemaTest.cs @@ -100,7 +100,7 @@ namespace Umbraco.Tests.Migrations.Upgrades public UmbracoDatabase GetConfiguredDatabase() { - return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf", "System.Data.SqlServerCe.4.0"); + return new UmbracoDatabase("Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10", "System.Data.SqlServerCe.4.0"); } public string GetDatabaseSpecificSqlScript() diff --git a/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs b/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs index 420905536d..9132db95c2 100644 --- a/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs +++ b/src/Umbraco.Tests/Persistence/DatabaseContextTests.cs @@ -69,7 +69,7 @@ namespace Umbraco.Tests.Persistence //Get the connectionstring settings from config var settings = ConfigurationManager.ConnectionStrings[Core.Configuration.GlobalSettings.UmbracoConnectionName]; - //by default the conn string is: Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf + //by default the conn string is: Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10 //we'll just replace the sdf file with our custom one: //Create the Sql CE database var engine = new SqlCeEngine(settings.ConnectionString.Replace("UmbracoPetaPocoTests", "DatabaseContextTests")); diff --git a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs index d47b5cac75..7147dea975 100644 --- a/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs +++ b/src/Umbraco.Tests/Persistence/SqlCeTableByTableTest.cs @@ -35,12 +35,12 @@ namespace Umbraco.Tests.Persistence } //Create the Sql CE database - var engine = new SqlCeEngine("Datasource=|DataDirectory|test.sdf"); + var engine = new SqlCeEngine("Datasource=|DataDirectory|test.sdf;Flush Interval=1;File Access Retry Timeout=10"); engine.CreateDatabase(); SqlSyntaxContext.SqlSyntaxProvider = SqlCeSyntax.Provider; - _database = new Database("Datasource=|DataDirectory|test.sdf", + _database = new Database("Datasource=|DataDirectory|test.sdf;Flush Interval=1;File Access Retry Timeout=10", "System.Data.SqlServerCe.4.0"); } diff --git a/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs b/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs index 6152898f92..d85d9813f5 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseDatabaseFactoryTest.cs @@ -105,7 +105,7 @@ namespace Umbraco.Tests.TestHelpers /// protected virtual string GetDbConnectionString() { - return @"Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf"; + return @"Datasource=|DataDirectory|UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10"; } /// diff --git a/src/Umbraco.Tests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests/TestHelpers/TestHelper.cs index 6ab161a3b0..5c4eaad051 100644 --- a/src/Umbraco.Tests/TestHelpers/TestHelper.cs +++ b/src/Umbraco.Tests/TestHelpers/TestHelper.cs @@ -47,7 +47,7 @@ namespace Umbraco.Tests.TestHelpers /// public static void InitializeDatabase() { - ConfigurationManager.AppSettings.Set(Core.Configuration.GlobalSettings.UmbracoConnectionName, @"datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\UmbracoPetaPocoTests.sdf"); + ConfigurationManager.AppSettings.Set(Core.Configuration.GlobalSettings.UmbracoConnectionName, @"datalayer=SQLCE4Umbraco.SqlCEHelper,SQLCE4Umbraco;data source=|DataDirectory|\UmbracoPetaPocoTests.sdf;Flush Interval=1;File Access Retry Timeout=10"); ClearDatabase(); From dcb381770f998a41f8d460ce3edc5b64077fc8cc Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Mon, 19 Aug 2013 12:54:20 +0200 Subject: [PATCH 6/7] Fix unit test that was looking at the wrong filename --- src/Umbraco.Tests/PluginManagerTests.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Tests/PluginManagerTests.cs b/src/Umbraco.Tests/PluginManagerTests.cs index c38f6ac37c..4610839fcf 100644 --- a/src/Umbraco.Tests/PluginManagerTests.cs +++ b/src/Umbraco.Tests/PluginManagerTests.cs @@ -160,14 +160,15 @@ namespace Umbraco.Tests { var tempFolder = IOHelper.MapPath("~/App_Data/TEMP/PluginCache"); var manager = new PluginManager(false); - var filePath = Path.Combine(tempFolder, "umbraco-plugins.list"); + var filePath= Path.Combine(tempFolder, string.Format("umbraco-plugins.{0}.list", NetworkHelper.FileSafeMachineName)); + File.WriteAllText(filePath, @" "); - + Assert.IsTrue(manager.DetectLegacyPluginListFile()); File.Delete(filePath); From 03a0a0a0e943a11dd03bfbe52716e7f247821907 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Tue, 20 Aug 2013 18:06:09 +0200 Subject: [PATCH 7/7] Fix a strange VS2012 build targets problem --- build/Build.proj | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/build/Build.proj b/build/Build.proj index 5ceeadb141..1ef2f6915a 100644 --- a/build/Build.proj +++ b/build/Build.proj @@ -228,7 +228,7 @@ - + @@ -240,6 +240,17 @@ + + + + + + + + + + +