I used the Compositions tool to inherit tabs and properties from an existing document type into a new one but I didn't realise that one tab was duplicated. (i has already created the tab but didn't check).
I thought it would be easy to fix because I have a copies of all the document types but the problem is that I cannot remove the one with conflicts. - All document types now return errors!
Every document type I click on now returns the same "failed to read content types" error.
Anybody know how to recover?
here's my logs:
2016-07-22 12:46:49,652 [P28460/D8/T34] ERROR Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred
System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> Umbraco.Core.Exceptions.InvalidCompositionException: ContentType with alias 'Home' was added as a Composition to ContentType with alias 'welcome', but there was a conflict on the following PropertyTypes: 'content'. PropertyTypes must have a unique alias across all Compositions in order to compose a valid ContentType Composition.
at Umbraco.Core.Models.ContentTypeCompositionBase.AddContentType(IContentTypeComposition contentType)
at Umbraco.Core.Persistence.Repositories.ContentTypeBaseRepository1.ContentTypeQueryMapper.MapContentTypeChildren[TRepo](IContentTypeComposition[] contentTypes, Database db, ISqlSyntaxProvider sqlSyntax, TRepo contentTypeRepository, IDictionary2 allParentContentTypeIds)
at Umbraco.Core.Persistence.Repositories.ContentTypeBaseRepository1.ContentTypeQueryMapper.GetContentTypes[TRepo](Database db, ISqlSyntaxProvider sqlSyntax, TRepo contentTypeRepository, ITemplateRepository templateRepository)
at Umbraco.Core.Persistence.Repositories.ContentTypeRepository.PerformGetAll(Int32[] ids)
at Umbraco.Core.Cache.FullDataSetRepositoryCachePolicy2.PerformGetAll(Func2 getFromRepo)
at Umbraco.Core.Cache.FullDataSetRepositoryCachePolicy2.GetAll(TId[] ids, Func2 getFromRepo)
at Umbraco.Core.Persistence.Repositories.RepositoryBase2.GetAll(TId[] ids)
at Umbraco.Core.Persistence.Repositories.ContentTypeRepository.PerformGet(String alias)
at Umbraco.Core.Services.ContentTypeService.GetContentType(String alias)
at Umbraco.Core.Services.PackagingService.ImportContentTypes(XElement element, Boolean importStructure, Int32 userId, Boolean raiseEvents)
at Umbraco.Core.Services.PackagingService.ImportContentTypes(XElement element, Int32 userId, Boolean raiseEvents)
at umbraco.presentation.umbraco.dialogs.importDocumentType.import_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)strong text
Duplicated tab names should be okay in compositions with the properties being gathered up on to one tab.
It looks from the error as though you have a document type of home with a property aliased content. You also have a document type of welcome with a property also aliased content.
If you need both content fields in the final composition, you will have to rename the property aliases (click on the padlock next to the property alias on the document type) to something like homeContent and welcomeContent respectively.
Stuck on Failed to read content types
Hello
I used the Compositions tool to inherit tabs and properties from an existing document type into a new one but I didn't realise that one tab was duplicated. (i has already created the tab but didn't check).
I thought it would be easy to fix because I have a copies of all the document types but the problem is that I cannot remove the one with conflicts. - All document types now return errors!
Every document type I click on now returns the same "failed to read content types" error.
Anybody know how to recover?
here's my logs:
2016-07-22 12:46:49,652 [P28460/D8/T34] ERROR Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> Umbraco.Core.Exceptions.InvalidCompositionException: ContentType with alias 'Home' was added as a Composition to ContentType with alias 'welcome', but there was a conflict on the following PropertyTypes: 'content'. PropertyTypes must have a unique alias across all Compositions in order to compose a valid ContentType Composition. at Umbraco.Core.Models.ContentTypeCompositionBase.AddContentType(IContentTypeComposition contentType) at Umbraco.Core.Persistence.Repositories.ContentTypeBaseRepository
1.ContentTypeQueryMapper.MapContentTypeChildren[TRepo](IContentTypeComposition[] contentTypes, Database db, ISqlSyntaxProvider sqlSyntax, TRepo contentTypeRepository, IDictionary
2 allParentContentTypeIds) at Umbraco.Core.Persistence.Repositories.ContentTypeBaseRepository1.ContentTypeQueryMapper.GetContentTypes[TRepo](Database db, ISqlSyntaxProvider sqlSyntax, TRepo contentTypeRepository, ITemplateRepository templateRepository) at Umbraco.Core.Persistence.Repositories.ContentTypeRepository.PerformGetAll(Int32[] ids) at Umbraco.Core.Cache.FullDataSetRepositoryCachePolicy
2.PerformGetAll(Func2 getFromRepo) at Umbraco.Core.Cache.FullDataSetRepositoryCachePolicy
2.GetAll(TId[] ids, Func2 getFromRepo) at Umbraco.Core.Persistence.Repositories.RepositoryBase
2.GetAll(TId[] ids) at Umbraco.Core.Persistence.Repositories.ContentTypeRepository.PerformGet(String alias) at Umbraco.Core.Services.ContentTypeService.GetContentType(String alias) at Umbraco.Core.Services.PackagingService.ImportContentTypes(XElement element, Boolean importStructure, Int32 userId, Boolean raiseEvents) at Umbraco.Core.Services.PackagingService.ImportContentTypes(XElement element, Int32 userId, Boolean raiseEvents) at umbraco.presentation.umbraco.dialogs.importDocumentType.import_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.HandleError(Exception e) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)strong textDuplicated tab names should be okay in compositions with the properties being gathered up on to one tab.
It looks from the error as though you have a document type of home with a property aliased content. You also have a document type of welcome with a property also aliased content.
If you need both content fields in the final composition, you will have to rename the property aliases (click on the padlock next to the property alias on the document type) to something like homeContent and welcomeContent respectively.
Thanks for that advice Ade, but the problem is that all of the nodes I click on return the red banded error so I can't access the padlock.
Will I have to work on the database directly to fix this?
is working on a reply...