2013-01-23 4 views
9

리팩터링 작업에서 우리는 일부 웹 사이트에 대한 페이지 템플릿을 변경해야합니다. 대부분의 페이지가 현지화 얻고 자신의 페이지 템플릿은 아래의 코드에 의해서가 아니라 우리는 다음과 같은 오류가 몇 가지 업데이트가 있습니다Tridion 핵심 서비스 업데이트 오류

XML validation error. Reason: The element 'Metadata' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46' has invalid child element 'description' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46'. 

List of possible elements expected: 'TitleSEO, KeywordsSEO, DescriptionSEO, omniture' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46'. 

우리의 메타 데이터 스키마 및 TitleSEO, KeywordsSEO, DescriptionSEO, Omniture의에는 설명 필드가 모두 없습니다 옵션 필드는 코드에 의해 변경되지 않습니다.

try 
{ 
    pData = client.Read(page.Attribute("ID").Value, null) as PageData; 
    //Localize Page 
    if (!(bool)pData.BluePrintInfo.IsLocalized) 
    { 
     client.Localize(pData.Id, new ReadOptions()); 
     if (dTemplateIDs.ContainsKey(pData.PageTemplate.IdRef.ToString())) 
     { 
      pData.IsPageTemplateInherited = false; 
      pData.PageTemplate.IdRef = dTemplateIDs[pData.PageTemplate.IdRef]; 
      client.Update(pData, new ReadOptions()); 
     } 
    } 
} 
catch (Exception ex) 
{ 
    Console.WriteLine("Error Inner " + ex.Message); 
} 
+4

주제에서 완전히 벗어나지 만, 1000 번째 Tridion 질문을 Stackoverflow에 게시하는 것을 축하합니다! –

+0

좋은 질문입니다. [Area 51 Tridion 특정 제안] (http://area51.stackexchange.com/proposals/38335/tridion?referrer=gPujQMxthNCNn9xqeeO2NA2)을 작성하는 데 관심을 가져 주실 수 있습니까? 잠시라도 같은 SO 계정으로 가입하십시오. –

+0

David의 제안 덕분에 메타 데이터에서 설명을 제거 할 수있었습니다. 새로운 오류가 발생했습니다. "이름, 파일 이름은 구조 그룹 및 청사진 컨텍스트 내의 페이지 유형에 대해 고유해야합니다. 소스 또는 충돌 소스 : tcm : 121 : 3456-64". 처리중인 현재 페이지와 오류에서 언급 한 페이지를 모두 확인했으며 둘 다 고유 한 이름과 파일 이름을 가지고 있습니다. 문제를 일으킬 수있는 아이디어가 있습니까? – user1949001

답변

14

그것은 (나중에 지금 "DescriptionSEO"무엇으로 변경 것으로 의심) "설명"라는 페이지 메타 데이터 스키마의 필드가 있었던 과거의 어느 시점에서 같은 소리. 이 오류를 일으키는 몇 페이지는 변경 이후로 업데이트되지 않았을 것이므로 XML에 이전 메타 데이터 필드가 있으므로 페이지 템플리트를 변경할 때 유효성 검사 문제가 발생합니다.

몇 페이지 인 경우 페이지를 열고 설명을 추가하거나 다른 방법으로 변경 한 다음 저장 한 다음 코드를 다시 시도하십시오.

몇 개가 넘는 경우 프로그래밍 방식으로 기존 데이터를 감지하고 제거해야 할 수 있습니다.

+0

David, 귀하의 제안 덕분에 메타 데이터에서 설명을 제거 할 수있었습니다. 새로운 오류가 발생했습니다. "이름, 파일 이름은 구조 그룹 및 청사진 컨텍스트 내의 페이지 유형에 대해 고유해야합니다. 소스 또는 충돌 소스 : tcm : 121 : 3456-64". 처리중인 현재 페이지와 오류에서 언급 한 페이지를 모두 확인했으며 둘 다 고유 한 이름과 파일 이름을 가지고 있습니다. 문제를 일으킬 수있는 아이디어가 있습니까? – user1949001

4

사용중인 SDL Tridion의 버전이 확실하지 않지만 일부 이전 버전의 SDL Tridion 2011에서는 이전에 메타 데이터가 개체에 추가 된 경우 메타 데이터 스키마를 비어있는 상태로 변경하여 삭제하지 않았습니다. 그 물체. 따라서 항목을 저장하기 전에 메타 데이터 값을 NULL로 설정해야한다는 것을 발견했습니다. 이것은 귀하의 문제를 해결할 수 있습니다.