2012-12-13 1 views
8

구성 요소를 게시하는 동안 구성 요소 필드를 업데이트하고 있습니다 (예 : 구성 요소가 게시 될 때 현재 날짜 시간을 구성 요소의 PublishDate 필드로 업데이트하려고합니다. 우리는 .net 어셈블리 (C#)에이 코드를 작성했습니다. 게시 구성 요소가 "이 작업을 수행 할 수있는 권한이 없습니다"라는 오류 메시지가 나타나면서구성 요소를 게시하는 동안 구성 요소 필드 업데이트

이 작업을 vbscript 템플릿에서 수행했지만이 문제가 발생한 복합 템플릿으로 마이그레이션하는 중입니다.

+3

PublishDate는 게시 후 항목 메타 데이터의 시스템 속성으로 사용할 수 있습니다. 게시 할 때 구성 요소의 내용을 변경하는 대신이 작업을 수행하는 것이 좋습니다. 많은 동시성 문제가 여기에 사용되었습니다. 멀티 스레드 게시자 –

+2

여기 Nuno와 함께 있습니다. 또한 두 가지 다른 스케줄링 단계를 사용하여 게시하는 시나리오를 상상해보십시오. 게시는 배포와 동시에 이루어질 필요는 없습니다. 물론 구성 요소가 "라이브"리포지토리를 만든 날짜가 아닌 CMS에서 게시 된 날짜가 필요한 경우가 아니면. 어쨌든, 나는 일반적으로 이것을 피하려고 노력합니다. 많은 이유들로 인해, Nuno는 충분히 좋다고 생각합니다. 맞습니까? –

답변

3

Tridion 2011에서 제공하는 템플릿을 사용하면 템플릿을 사용하여 항목을 변경할 수 있습니다. 이 동작은 구성에서 무시할 수 있습니다. 누구나 정확하게이 작업을 수행하는 방법을 알고 있다면 문서에서 찾을 수 없으므로 정보를 추가하십시오.

13

Tridion 2011에서는 기본적으로 템플릿 코드의 다른 항목을 게시하거나 편집 할 수 없습니다.

그러나, Tridion.ContentManager.Config 파일에 allowWriteOperationsInTemplates 속성을 수정하여 활성화 할 수 있습니다 : 우리가 TOM 것을 발견

우리가 번들 생성하여 템플릿 코드로 건너하면서이었다
<tridion.contentmanager.security allowAutomaticUserCreation="true" hideOrganizationalItemsNoAccess="false" allowWriteOperationsInTemplates="true"> 
+0

사용자를 가장해야합니까? 이 설정을 변경 한 후에도 여전히 동일한 문제가 발생합니다. – user1453602

+1

감사합니다 천사, 그건 정확히 내가 의미했던 것입니다. 어떤 이유로 든 라이브 콘텐츠 문서에서 찾을 수 없습니다. – Quirijn

+0

명의 도용은 필요하지 않습니다. 평소 용의자를 다시 시작하십시오. Tridion Services, Com + 및 IIS – Puntero

-1

. NET API는 읽기 전용이므로이를 허용하지 않습니다.

는 따라서 수정하여 allowWriteOperationsInTemplates는 Tridion.ContentManager.Config 파일에 속성 :

tridion.contentmanager.security allowAutomaticUserCreation = 그것은 우리가 TOM.Net API를 사용하여 아티팩트를 만들 수 있습니다

"true"로.

감사합니다. Hiren Mistry