RepositoryLocalObject (예 : Component)가 상속 된 상위 항목 목록을 가져 오려고합니다. 따라서 구성 요소 tcm : 1-80 및 하위 게시자 ID 2가있는 게시자 ID 1이있는 경우이 구성 요소는 하위 게시자에서 tcm : 2-80으로 공유됩니다. 그래서 저는 tcm을 얻고 싶습니다 : 2-80의 부모 또는 나무 위로 올라가는 것들.Tridion RepositoryLocalObject.GetBluePrintChain 메서드 (BluePrintChainFilter)가 공유 항목에서 예외를 나타냅니다.
제대로 작동하는 구성 요소의 로컬 복사본에서 GetBluePrintChain() 메서드를 사용해 보았습니다. 그러나 공유 구성 요소에서 InvalidActionException : "이 항목은 공유 됨"을 반환합니다. 설명서에는이 예외가 공유 항목에 발생한다고 언급되어 있습니다. 그러나 이것이 어떻게 합리적입니까? 분명히 자체 이상의 청사진 체인이있는 항목이 공유되거나 로컬 복사본이 될 수 있습니다. 그래서 나에게 이것은이 메소드가 청사진 체인을 가진 어떤 것에 예외를 던지게하는 것은 의미가 없다. 모순 된 것처럼 보입니다.
제 질문은 다소 Getting root publication of component과 관련이 있지만 다른 내용입니다. 이 예외가 공유 항목에 왜 throw되는지 이해해야합니다. 누군가 그것을 설명하기 위해 유스 케이스를 공유하고 공유 할 수 있습니까?
아,하지만 필터를 지정하면 방향을 위나 아래로 설정할 수 있습니다. 따라서 공유 항목을 가져 와서 체인을 나무 위로 가져갈 수 있습니다. BluePrintChainFilter bpfilter = new BluePrintChainFilter (BluePrintChainDirection.Up, engine.GetSession()); –
항목을 현재 컨텍스트 리포지토리에 현지화 할 수 있습니다.이 경우 위 또는 아래를 볼 수 있으며 필터에서 방향을 지정할 수 있습니다. 어느 쪽이든 당신은 그것의 OwningRepository의 맥락에서 아이템에 대해서만 BluePrintChain에 접근 할 수있는 것처럼 보입니다. –