diff --git a/build/UmbracoVersion.txt b/build/UmbracoVersion.txt index 6ef1d69bd9..fc49d734a7 100644 --- a/build/UmbracoVersion.txt +++ b/build/UmbracoVersion.txt @@ -1,2 +1,3 @@ # Usage: on line 2 put the release version, on line 3 put the version comment (example: beta) -7.6.0 \ No newline at end of file +7.7.0 +alpha001 \ No newline at end of file diff --git a/src/SolutionInfo.cs b/src/SolutionInfo.cs index ad697d99bf..9f58f72a6d 100644 --- a/src/SolutionInfo.cs +++ b/src/SolutionInfo.cs @@ -11,5 +11,5 @@ using System.Resources; [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyFileVersion("7.6.0")] -[assembly: AssemblyInformationalVersion("7.6.0")] \ No newline at end of file +[assembly: AssemblyFileVersion("7.7.0")] +[assembly: AssemblyInformationalVersion("7.7.0-alpha001")] \ No newline at end of file diff --git a/src/Umbraco.Core/Configuration/UmbracoVersion.cs b/src/Umbraco.Core/Configuration/UmbracoVersion.cs index 952dd9a22a..05d75516d7 100644 --- a/src/Umbraco.Core/Configuration/UmbracoVersion.cs +++ b/src/Umbraco.Core/Configuration/UmbracoVersion.cs @@ -6,7 +6,7 @@ namespace Umbraco.Core.Configuration { public class UmbracoVersion { - private static readonly Version Version = new Version("7.6.0"); + private static readonly Version Version = new Version("7.7.0"); /// /// Gets the current version of Umbraco. @@ -24,7 +24,7 @@ namespace Umbraco.Core.Configuration /// Gets the version comment (like beta or RC). /// /// The version comment. - public static string CurrentComment { get { return ""; } } + public static string CurrentComment { get { return "alpha001"; } } // Get the version of the umbraco.dll by looking at a class in that dll // Had to do it like this due to medium trust issues, see: http://haacked.com/archive/2010/11/04/assembly-location-and-medium-trust.aspx diff --git a/src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs b/src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs index a34db10839..45438da9d8 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Initial/DatabaseSchemaResult.cs @@ -142,6 +142,12 @@ namespace Umbraco.Core.Persistence.Migrations.Initial return new Version(7, 5, 0); } + //if the error is for umbracoUserGroup it must be the previous version to 7.7 since that is when it is added + if (Errors.Any(x => x.Item1.Equals("Table") && (x.Item2.InvariantEquals("umbracoUserGroup")))) + { + return new Version(7, 6, 0); + } + return UmbracoVersion.Current; } diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenFiveZero/AddRedirectUrlTable.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenFiveZero/AddRedirectUrlTable.cs index 829631c7f4..94bac477f2 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenFiveZero/AddRedirectUrlTable.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenFiveZero/AddRedirectUrlTable.cs @@ -33,7 +33,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenFiveZer return null; localContext.Delete.Table(umbracoRedirectUrlTableName); } - + localContext.Create.Table(umbracoRedirectUrlTableName) .WithColumn("id").AsGuid().NotNullable().PrimaryKey("PK_" + umbracoRedirectUrlTableName) .WithColumn("createDateUtc").AsDateTime().NotNullable() diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSevenZero/AddUserGroupTables.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSevenZero/AddUserGroupTables.cs index 62b75bbf7a..f4b5de6c02 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSevenZero/AddUserGroupTables.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenSevenZero/AddUserGroupTables.cs @@ -3,11 +3,12 @@ using System.Data; using System.Linq; using Umbraco.Core.Configuration; using Umbraco.Core.Logging; +using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSevenZero { - [Migration("7.6.0", 100, Constants.System.UmbracoMigrationName)] + [Migration("7.6.0", 0, Constants.System.UmbracoMigrationName)] public class AddUserGroupTables : MigrationBase { public AddUserGroupTables(ISqlSyntaxProvider sqlSyntax, ILogger logger) @@ -29,64 +30,27 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSevenZe { if (tables.InvariantContains("umbracoUserGroup") == false) { - Create.Table("umbracoUserGroup") - .WithColumn("id").AsInt32().Identity().PrimaryKey("PK_umbracoUserGroup") - .WithColumn("userGroupAlias").AsString(200).NotNullable() - .WithColumn("userGroupName").AsString(200).NotNullable() - .WithColumn("userGroupDefaultPermissions").AsString(50).Nullable(); + Create.Table(); } if (tables.InvariantContains("umbracoUser2UserGroup") == false) { - Create.Table("umbracoUser2UserGroup") - .WithColumn("userId").AsInt32().NotNullable() - .WithColumn("userGroupId").AsInt32().NotNullable(); - Create.PrimaryKey("PK_user2userGroup") - .OnTable("umbracoUser2UserGroup") - .Columns(new[] {"userId", "userGroupId"}); - Create.ForeignKey("FK_umbracoUser2UserGroup_userId") - .FromTable("umbracoUser2UserGroup").ForeignColumn("userId") - .ToTable("umbracoUser").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None); - Create.ForeignKey("FK_umbracoUser2UserGroup_userGroupId") - .FromTable("umbracoUser2UserGroup").ForeignColumn("userGroupId") - .ToTable("umbracoUserGroup").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None); + Create.Table(); } if (tables.InvariantContains("umbracoUserGroup2App") == false) { - Create.Table("umbracoUserGroup2App") - .WithColumn("userGroupId").AsInt32().NotNullable() - .WithColumn("app").AsString(50).NotNullable(); - Create.PrimaryKey("PK_userGroup2App") - .OnTable("umbracoUserGroup2App") - .Columns(new[] {"userGroupId", "app"}); - Create.ForeignKey("FK_umbracoUserGroup2App_umbracoGroupUser_id") - .FromTable("umbracoUserGroup2App").ForeignColumn("userGroupId") - .ToTable("umbracoUserGroup").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None); + Create.Table(); } if (tables.InvariantContains("umbracoUserGroup2NodePermission") == false) { - Create.Table("umbracoUserGroup2NodePermission") - .WithColumn("userGroupId").AsInt32().NotNullable() - .WithColumn("nodeId").AsInt32().NotNullable() - .WithColumn("permission").AsString(10).NotNullable(); - Create.PrimaryKey("PK_umbracoUserGroup2NodePermission") - .OnTable("umbracoUserGroup2NodePermission") - .Columns(new[] {"userGroupId", "nodeId", "permission"}); - Create.ForeignKey("FK_umbracoUserGroup2NodePermission_umbracoNode_id") - .FromTable("umbracoUserGroup2NodePermission").ForeignColumn("nodeId") - .ToTable("umbracoNode").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None); - Create.ForeignKey("FK_umbracoUserGroup2NodePermission_umbracoUserGroup_id") - .FromTable("umbracoUserGroup2NodePermission").ForeignColumn("userGroupId") - .ToTable("umbracoUserGroup").PrimaryColumn("id").OnDeleteOrUpdate(Rule.None); + Create.Table(); } } private void MigrateUserTypesToGroups() { - // TODO: review for MySQL and CE (tested only on SQL Express) - // Create a user group for each user type Execute.Sql(@"INSERT INTO umbracoUserGroup (userGroupAlias, userGroupName, userGroupDefaultPermissions) SELECT userTypeAlias, userTypeName, userTypeDefaultPermissions @@ -108,7 +72,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSevenZe FROM umbracoUserGroup ug INNER JOIN umbracoUser2UserGroup u2ug ON u2ug.userGroupId = ug.id INNER JOIN umbracoUser u ON u.id = u2ug.userId - INNER JOIN umbracoUser2app u2a ON u2a.[user] = u.id + INNER JOIN umbracoUser2app u2a ON u2a." + SqlSyntax.GetQuotedColumnName("user") + @" = u.id WHERE u.id = 0"); // Rename some groups for consistency (plural form) @@ -118,14 +82,12 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSevenZe private void MigrateUserPermissions() { - // TODO: review for MySQL and CE (tested only on SQL Express) - // Create user group records for all non-admin users that have specific permissions set Execute.Sql(@"INSERT INTO umbracoUserGroup(userGroupAlias, userGroupName) SELECT userName + 'Group', 'Group for ' + userName FROM umbracoUser WHERE (id IN ( - SELECT [user] + SELECT " + SqlSyntax.GetQuotedColumnName("user") + @" FROM umbracoUser2app ) OR id IN ( SELECT userid @@ -157,7 +119,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSevenZe FROM umbracoUserGroup ug INNER JOIN umbracoUser2UserGroup u2ug ON u2ug.userGroupId = ug.id INNER JOIN umbracoUser u ON u.id = u2ug.userId - INNER JOIN umbracoUser2app u2a ON u2a.[user] = u.id + INNER JOIN umbracoUser2app u2a ON u2a." + SqlSyntax.GetQuotedColumnName("user") + @" = u.id WHERE ug.userGroupAlias NOT IN ( SELECT userTypeAlias FROM umbracoUserType diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj index dd1c53c34b..8d8e94cb0b 100644 --- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj +++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj @@ -2376,9 +2376,9 @@ xcopy "$(ProjectDir)"..\packages\SqlServerCE.4.0.0.1\x86\*.* "$(TargetDir)x86\" True True - 7600 + 7700 / - http://localhost:7600 + http://localhost:7700 False False