2012-02-23 10 views
7

हम प्रयोग कर रहे हैं XSLT टेम्पलेट्समल्टीमीडिया बाइनरी फ़ाइल - मामूली संस्करण मेटाडाटा प्रकाशित करने के लिए लेकिन वास्तविक बाइनरी नहीं है?

एक नया मल्टीमीडिया घटक (v0.0) और उसके अपलोड बाइनरी फ़ाइल सही ढंग से बिंदु यह है पहले बचाया पर पूर्वावलोकन साइट पर प्रकाशित किया जाएगा साथ Tridion 2009 SP1 (प्रकाशन द्विआधारी का tbbPublishMultimedia टेम्पलेट द्वारा नीचे दिखाया गया है)।

मल्टीमीडिया घटक (कम से "तैयार संस्करण सामग्री आइटम") घटक संपादित किया जा सकता है कार्यप्रवाह में मामूली संशोधन संस्करण v0.1 के रूप में और whilst कार्यप्रवाह में प्रवेश करेंगे बाइनरी फ़ाइल फिर से अपलोड द्वारा घटक में आवश्यकतानुसार लेखक।

हर बार v0.x घटक कार्यप्रवाह में सहेजा गया है नवीनतम "कार्यप्रवाह में" घटक के संस्करण और उसके बाइनरी फ़ाइल (v0.1, v0.2, v0.3, V0.4 आदि) पूर्वावलोकन साइट पर सही ढंग से प्रकाशित किया जाएगा।

हर बार मल्टीमीडिया घटक का प्रकाशन यह कार्यप्रवाह छोड़ देता है और एक नए प्रमुख संस्करण हो जाता है के लिए मंजूरी दे दी है (उदाहरण के लिए v1.0 .... या v2.0, v3.0 आदि)।

एक प्रमुख संस्करण बाद में संपादित तो है और फिर से बचाया यह एक नई मामूली संशोधन संस्करण (egv1.1) यह तो पूर्वावलोकन साइट की पुनः प्रकाशित किया जाएगा (के रूप में अपनी बाइनरी फ़ाइल होगा) हो जाता है और यह फिर वर्कफ़्लो फिर से दर्ज करें।

हालांकि, जबकि Tridion सही ढंग से वास्तविक मल्टीमीडिया घटक के नवीनतम मामूली संशोधन संस्करण (जैसे v1.1) प्रकाशित करता है इसे करने के लिए बाइनरी फ़ाइल का केवल अंतिम प्रमुख संस्करण प्रकाशित यह (जैसे v1.0 शामिल लगता है संस्करण)। दिलचस्प बात यह है कि यह उस बाइनरी फ़ाइल (यानी फ़ाइल प्रकार और फ़ाइल आकार) के लिए नवीनतम v1.1 मेटाडेटा प्रकाशित करने के लिए प्रतीत होता है लेकिन बाइनरी फ़ाइल स्वयं नहीं।

सारांश में, Tridion " कार्यप्रवाह में" बाइनरी फ़ाइल का संस्करण नवीनतम नाबालिग/संशोधन को प्रकाशित करना प्रदर्शित होता है या मल्टीमीडिया घटक v0.x है, लेकिन एक बार एक प्रमुख संस्करण मौजूद है यह केवल पिछले प्रमुख संस्करण प्रकाशित करेंगे द्विआधारी फ़ाइल (अनिवार्य रूप से इसके पहले संस्करण वर्कफ़्लो फिर से दर्ज करना)।

कि क्या यह वैसे भी तरह लग रहा है ...

<xsl:template name="tbbPublishMultimedia"> 
    <xsl:if test="string(//tcm:Type)='Multimedia'"> 
     <xsl:variable name="binaryid" 
     select="string(//tcm:Component/@ID)"/> 
     <xsl:element name="tcm:MultimediaPublishedFileName"> 
      <xsl:value-of select="tcmse:PublishBinary($binaryid)"/> 
     </xsl:element> 
    </xsl:if> 
    </xsl:template> 

नोट ... एक प्रमुख संस्करण रूप tcmse:PublishBinary parameter जैसे concat($binaryid,"-v2") कौन सा संस्करण प्रकाशित करने के लिए निर्धारित निर्दिष्ट करने के लिए ऊपर टेम्पलेट इसके संभावित में है, लेकिन क्योंकि यह आपको मामूली संस्करण निर्दिष्ट करने की अनुमति नहीं देता है, जिससे वास्तव में

+0

कौन सा उपयोगकर्ता प्रकाशक सेवा चला रहा है? –

उत्तर

2

मैंने वास्तव में XSLT टेम्पलेट्स के साथ बहुत कुछ नहीं किया है, मुझे यकीन नहीं है कि मैं मदद कर सकता हूं। वैसे भी आप पुष्टि कर सकते हैं कि यह केवल एक्सएसएलटी के साथ है या यह अन्य टेम्पलेट्स के साथ भी होता है? यदि यह केवल एक्सएसएलटी के साथ होता है तो आपको एक बग का सामना करना पड़ सकता है, जबकि यदि यह अन्य सभी भाषाओं के साथ होता है तो यह केवल "डिज़ाइन द्वारा" हो सकता है और एन्हांसमेंट अनुरोध खोलने के अलावा आप इसके बारे में ज्यादा कुछ नहीं कर सकते हैं।

मुझे हाल ही में मिला कि अगर मैं किसी भी आइटम के संस्करण 0 (टीसीएम: 1-23-16-v0) के लिए पूछता हूं तो ट्रिडियन उस आइटम का नवीनतम संस्करण वापस कर देगा जो वर्तमान उपयोगकर्ता को पढ़ने की अनुमति है, जिसमें मामूली संस्करण शामिल हैं (सी # में)। शायद आप इसे आज़मा सकते हैं?

संबंधित मुद्दे