Sto cercando di ottenere un elenco di elementi padre da cui è stato ereditato un oggetto RepositoryLocalObject (ad esempio Component). Quindi, se ho un ID 1 di pub con componente tcm: 1-80 e un ID di pub secondario 2, questo componente è condiviso nel pub figlio come tcm: 2-80. Quindi voglio ottenere il padre di tcm: 2-80 o qualsiasi cosa che si trova nell'albero che si sta spostando.Tridion RepositoryLocalObject.GetBluePrintChain Method (BluePrintChainFilter) genera un'eccezione sugli elementi condivisi
Ho provato il metodo GetBluePrintChain() su una copia locale di un componente in cui funziona correttamente. Tuttavia, sul componente condiviso restituisce un InvalidActionException: "Questo elemento è condiviso". La documentazione menziona che questa eccezione è generata su oggetti condivisi. Ma come ha senso questo? Ovviamente se qualsiasi oggetto che ha una catena di modelli oltre a se stesso sarebbe condiviso (o essere una copia locale). Quindi per me non ha senso che questo metodo generi un'eccezione su qualcosa che ha una catena di progetti. Sembra contraddittorio.
La mia domanda è in qualche modo correlata a Getting root publication of component, ma è diversa. Devo capire perché questa eccezione è lanciata su oggetti condivisi. Qualcuno può spiegare e forse condividere un caso d'uso per supportarlo?
ah, ma se si specifica un filtro è possibile impostare la direzione su o giù. Quindi mi aspetto di essere in grado di prendere un oggetto condiviso e ottenere la catena sull'albero: BluePrintChainFilter bpfilter = new BluePrintChainFilter (BluePrintChainDirection.Up, engine.GetSession()); –
L'elemento può essere localizzato nel repository di contesto corrente, nel qual caso è possibile visualizzare su o giù e specificare la direzione nel filtro. In entrambi i casi sembra che tu possa accedere a BluePrintChain solo su un oggetto nel contesto del suo OwningRepository. –