Take the 2-minute tour ×
Tridion Stack Exchange is a question and answer site for Tridion developers and administrators. It's 100% free, no registration required.

I am using Tridion 2013 SP1. Both Schema and Component have same UUID in the source tab. I am not able to open either the Component or Schema for editing. I am getting the below mentioned error:

Unable to retrieve converted schema

Type 'uuid:b02946af-c381-4bdc-bcf1-0d2821b7d72e:Content' is not declared.

What is the solution for this problem and the reason for it? Will it be a good practice to have unique NameSpaces across all Schemas or unique NameSpaces per Schema?

Main Schema is Header and rootelement is Content. Embedded Schema is Link and rootelement is Link. Header Component XML is as follows :

enter image description here

These are fields in Link Schema.

share|improve this question
    
Do you get the same error when opening both component and schema? Did you change the namespace, or root element name recently? Try hitting F5 - sometimes the schema is cached. –  Will Price Mar 19 at 7:06
    
@Will: I have restarted the CMS, Cleared my browser Cache but still getting the same error. The exact error in Schema is not able to see anything in Design tab and one popup comes with the above mentioned error. In component not able to see General tab. We have not changed the namespace but not sure about root element. i an not able to open any previous version from history as well. –  Jitender sharma Mar 19 at 7:13
    
Do you use embedded schemas? I have had similar issues with name clashes on root elements with fields in embedded schemas (or embedded embedded schemas), check any embedded schema field names to see that none are called Content. –  Will Price Mar 19 at 7:17
    
I see one embedded schema Link. The root element for this is "Link" and root element for main Header Schema is content. This embedded schema is allowed multiple value in main Header schema. –  Jitender sharma Mar 19 at 7:43
    
What are the field names in the Link schema? Have you tried creating a new component with the Header schema - if so, do you get the same error? –  Will Price Mar 19 at 7:51

1 Answer 1

The error message is mentioning Unable to retrieve converted schema, which leave me to believe you have indeed edited the Schema (or one of its embedded Schemas) after it was initially created, and while there was already one or more Components created based on it. While this is possible, it can sometimes cause the system to jump into an error mode it cannot recover itself from.

When Component content is out of sync with the Schema, the UI tries to update the Component and match it with the Schema. Typical things it can fix are removing elements from the Component XML if those fields have been removed from the Schema, and reordering elements in the Component XML when the order of those fields in the Schema have changed.

Apparently harder topics for the UI to fix are changes of the Schema namespace and changes to Embedded Schemas (they are in the namespace of the parent Schema). I've seen it happen before that on what looked like a simple change, the system tried to fix it, but got stuck. I have a feeling a similar thing happened in your case.

So much for my assessment of your problem, on to the solution, I'm afraid the best thing I can suggest you is to contact SDL Customer Support directly and ask for their help. Since this might require a bit more than just telling you what to do, and it might also be an indication of a defect in the system (perhaps there are already hotfixes available for your issue).

As for the other part of your question; "is it good practice to assign unique namespaces per Schema?".

The answer to this is: Yes. It is best practice to assign each Schema its own unique namespace, this is also what automatically is done when you create a new Schema. The reason for this is that a Schema defines a structure for XML content, and in there you could define a field Name. Now the field Name of a Schema Book, might have a different meaning that the field Name of the Schema Person, hence those Schemas should have a unique namespace.

It is okay if you want to change the standard assigned uuid into a more readable namespace, but it is best practice to do this while you create the Schema and before you create any content based on it. Changing a Schema after it has been created is never something you should think lightly of, always be aware of what change you are making and think if it is really necessary.

share|improve this answer
    
@Brat: We have not changed the namespace and i am not sure about changing Schema and Embedded Schema after creating of components as i am new on this project. So my question is that we cannot change(add/remove) fields from embedded schema after creating components? –  Jitender sharma Mar 19 at 8:34
    
@Brat: Just now i tried making a schema having a multivlaue embedded schema. I created few components also.I changed the embedded schema (add/removed/order change) still i am able to open and close the schema and component.I dont know why i am not able to do that in my header schema. –  Jitender sharma Mar 19 at 8:50
3  
@Jitendersharma the name is Bart, not Brat, and my suggestion is you contact SDL Customer Support directly and ask for their help, this doesn't sound like something which can be handled by you (or me) anymore. –  Bart Koopman Mar 19 at 9:03
    
I am able to replicate the issue.We have changed the root name of embedded schema form content to Link. Now all components created previously is looking for content as root element.For now i will scrap the old schema and will create the new Schema as we have created only few components ?? –  Jitender sharma Mar 19 at 9:34
    
@Jitendersharma that will be useful information for Customer Support, maybe they can log that behavior as a defect, since its outcome is rather impossible to handle. –  Bart Koopman Mar 19 at 9:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.