मैं मूल वस्तुओं की एक सूची प्राप्त करने का प्रयास कर रहा हूं जो एक रिपोजिटरी लोकल ऑब्जेक्ट (उदा। घटक) से विरासत में मिला है। तो अगर मेरे पास घटक टीसीएम: 1-80 और एक बाल पब आईडी 2 के साथ एक पब आईडी 1 है, तो यह घटक बच्चे पब में टीसीएम: 2-80 के रूप में साझा किया जाता है। तो मैं टीसीएम प्राप्त करना चाहता हूं: 2-80 के माता-पिता, या पेड़ में जो भी हो रहा है।Tridion RepositoryLocalObject.GetBluePrintChain विधि (BluePrintChainFilter) साझा वस्तुओं पर अपवाद फेंकता है
मैंने GetBluePrintChain() विधि को एक घटक की स्थानीय प्रतिलिपि पर आजमाया है जहां यह ठीक काम करता है। हालांकि, साझा घटक पर यह एक अवैध क्रिया अपवाद देता है: "यह आइटम साझा किया गया है"। दस्तावेज का उल्लेख है कि साझा अपवादों पर यह अपवाद फेंक दिया गया है। लेकिन यह कैसे समझ में आता है? जाहिर है अगर किसी भी आइटम में ब्लूप्रिंट श्रृंखला स्वयं से परे साझा की जाएगी (या स्थानीय प्रतिलिपि हो)। तो मेरे लिए यह समझ में नहीं आता है कि यह विधि ब्लूप्रिंट श्रृंखला वाली किसी चीज़ पर अपवाद फेंक दे। यह विरोधाभासी लगता है।
मेरा प्रश्न कुछ हद तक Getting root publication of component से संबंधित है, लेकिन यह अलग है। मुझे समझने की जरूरत है कि साझा वस्तुओं पर यह अपवाद क्यों फेंक दिया गया है। क्या कोई इसे समझा सकता है और शायद इसका समर्थन करने के लिए उपयोग केस साझा कर सकता है?
आह, लेकिन यदि आप एक फ़िल्टर निर्दिष्ट करते हैं तो आप दिशा को ऊपर या नीचे सेट कर सकते हैं। इसलिए मैं एक साझा आइटम लेने और पेड़ को चेन प्राप्त करने में सक्षम होने की उम्मीद करता हूं: ब्लूप्रिंटChainFilter bpfilter = नया ब्लूप्रिंटChainFilter (BluePrintChainDirection.Up, engine.GetSession()); –
आइटम को वर्तमान संदर्भ भंडार में स्थानीयकृत किया जा सकता है, इस मामले में आप या तो ऊपर या नीचे देख सकते हैं - और आप फ़िल्टर में दिशा निर्दिष्ट करते हैं। किसी भी तरह से ऐसा लगता है कि आप केवल अपने स्वामित्व के संदर्भ में किसी आइटम पर BluePrintChain तक पहुंच सकते हैं। –