RepositoryLocalObject(たとえばコンポーネント)が継承している親アイテムのリストを取得しようとしています。したがって、コンポーネントtcm:1-80と子パブID 2のパブID 1がある場合、このコンポーネントは子パブでtcm:2-80として共有されます。ですから、私はtcm:2-80の親を取得したい、あるいは木の上にあるものを上に移動したいです。Tridion RepositoryLocalObject.GetBluePrintChainメソッド(BluePrintChainFilter)が共有アイテムで例外を発生させます
正常に動作するコンポーネントのローカルコピーでGetBluePrintChain()メソッドを試しました。しかし、共有コンポーネントでは、InvalidActionException: "このアイテムは共有されています"を返します。ドキュメントには、この例外が共有アイテムにスローされることが記載されています。しかし、これはどうやって意味がありますか?明らかに、それ以上の青写真チェーンを持つアイテムが共有される(またはローカルコピーである)かどうか。だから私にとっては、このメソッドが青写真連鎖を持つものに例外をスローすることは意味がありません。それは矛盾しているようです。
私の質問は多少Getting root publication of componentに関連していますが、それは異なっています。この例外が共有アイテムにスローされる理由を理解する必要があります。誰かがそれをサポートするためにユースケースを説明し、おそらく共有してもらえますか?
ahですが、フィルタを指定すると方向を上下に設定できます。だから私は、共有アイテムを取ってツリーの上にチェーンを得ることができると期待します: BluePrintChainFilter bpfilter = new BluePrintChainFilter(BluePrintChainDirection.Up、engine.GetSession()); –
項目を現在のコンテキストリポジトリにローカライズすることができます。その場合は、上または下を見たり、フィルタで方向を指定したりできます。いずれにしても、OwningRepositoryのコンテキストで項目のBluePrintChainにしかアクセスできないようです。 –