We have an installation with a growing number of child portals. Each new child portal is generated using a Portal Template, exported from a "master" child portal. From time to time, we update the "master" child portal and export a new Portal Template so that future child portals incorporate new content/features.
After upgrading to 5.6.1, I am still able to create new child portals using an old Portal Template (created prior to the upgrade), but get the following error if I attempt to create a new child portal using a new Portal Template (created after the upgrade):
Error parsing Portal TemplateViolation of UNIQUE KEY constraint 'IX_ModulePermission'. Cannot insert duplicate key in object 'dbo.ModulePermission'. The statement has been terminated. at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) at System.Data.SqlClient.SqlCommand.ExecuteScalar() at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteScalar(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteScalar(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters) at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteScalar(String connectionString, String spName, Object[] parameterValues) at DotNetNuke.Data.SqlDataProvider.AddModulePermission(Int32 moduleID, Int32 PermissionID, Int32 roleID, Boolean AllowAccess, Int32 UserID, Int32 createdByUserID) at DotNetNuke.Security.Permissions.PermissionProvider.SaveModulePermissions(ModuleInfo objModule) at DotNetNuke.Security.Permissions.ModulePermissionController.SaveModulePermissions(ModuleInfo objModule) at DotNetNuke.Entities.Modules.ModuleController.DeserializeModule(XmlNode nodeModule, XmlNode nodePane, Int32 PortalId, Int32 TabId, PortalTemplateModuleAction mergeTabs, Hashtable hModules) at DotNetNuke.Entities.Tabs.TabController.DeserializePanes(XmlNode nodePanes, Int32 PortalId, Int32 TabId, PortalTemplateModuleAction mergeTabs, Hashtable hModules) at DotNetNuke.Entities.Tabs.TabController.DeserializeTab(XmlNode nodeTab, TabInfo objTab, Hashtable hTabs, Int32 PortalId, Boolean IsAdminTemplate, PortalTemplateModuleAction mergeTabs, Hashtable hModules) at DotNetNuke.Entities.Portals.PortalController.ParseTab(XmlNode nodeTab, Int32 PortalId, Boolean IsAdminTemplate, PortalTemplateModuleAction mergeTabs, Hashtable& hModules, Hashtable& hTabs, Boolean IsNewPortal) at DotNetNuke.Entities.Portals.PortalController.ParseTabs(XmlNode nodeTabs, Int32 PortalId, Boolean IsAdminTemplate, PortalTemplateModuleAction mergeTabs, Boolean IsNewPortal) at DotNetNuke.Entities.Portals.PortalController.ParseTemplate(Int32 PortalId, String TemplatePath, String TemplateFile, Int32 AdministratorId, PortalTemplateModuleAction mergeTabs, Boolean IsNewPortal) at DotNetNuke.Entities.Portals.PortalController.CreatePortal(String PortalName, UserInfo objAdminUser, String Description, String KeyWords, String TemplatePath, String TemplateFile, String HomeDirectory, String PortalAlias, String ServerPath, String ChildPath, Boolean IsChildPortal)
Any ideas?
Thank you!
Jason