.b तो सामग्री प्रकार से संबंधित मुद्दों की एक जोड़ी: साइट सामग्री प्रकार और सूची सामग्री प्रकार:
सबसे पहले, सामग्री प्रकार दो रूपों में आता है। साइट सामग्री प्रकार "टेम्पलेट्स" हैं जो गैलरी में रहते हैं। जब किसी सूची में किसी साइट सामग्री प्रकार का उपयोग किया जाता है, तो सामग्री प्रकार को दिए गए सूची में सूची सामग्री प्रकार के रूप में तत्काल किया जाता है।
दूसरा, आपकी सामग्री प्रकार कई तरीकों से बनाया और संशोधित किया जा सकता है, जो यह तय करेगा कि डेटाबेस में आपके डेटा के तीन तरीके क्या हैं।
यदि आपने GUI का उपयोग करके सामग्री प्रकार बनाया है, या API का उपयोग करके कस्टम कोड के माध्यम से, आपकी साइट सामग्री प्रकार और आपकी सूची सामग्री प्रकार डेटाबेस में "डेटाबेस-केवल" स्थिति में हैं। इसका मतलब है कि यह सामग्री प्रकार की परिभाषाओं के लिए डेटाबेस में देख रहा है।
आप CAML में एक सुविधा के रूप में सामग्री प्रकार बनाया है, तो अपने साइट सामग्री प्रकार ghosted है (या अन-अनुकूलित के रूप में हम v3 में इसे कहते हैं अपेक्षा की जाती है) डेटाबेस में। इसका मूल अर्थ यह है कि डेटाबेस साइट कॉलम के लिए 12-हाइव में सुविधा एक्सएमएल में दिखता है जो सामग्री प्रकार बनाता है। तो इसका मतलब यह होना चाहिए कि आप सुविधा को अपडेट कर सकते हैं, और आपके पास अपडेट सामग्री प्रकार में नए साइट कॉलम उपलब्ध होंगे, है ना?
दुर्भाग्य से नहीं: याद रखें कि हमारे पास सामग्री प्रकारों की सूची भी थी? यहां बमर है, कि इन सूची सामग्री प्रकार कोड का उपयोग करके तत्काल हैं, इसलिए वे "डेटाबेस-केवल" राज्य में हैं। इसका मतलब है कि आपके परिवर्तन केवल आपकी साइट सामग्री प्रकारों में ही देखे जाएंगे, लेकिन उस सामग्री प्रकार का उपयोग कर मौजूदा सूचियों में नहीं!
इस मुद्दे को ठीक करने के कई दृष्टिकोण हैं, समाधान इस बात पर निर्भर करता है कि आप क्या चाहते हैं और आप किस तरह के परिवर्तन कर रहे हैं (फ़ील्ड को हटाकर, फ़ील्ड जोड़ना, फ़ील्ड बदलना)।
उदाहरण के लिए, आप अक्सर अपने मौजूदा आइटम मेटा डेटा को रखना चाहते हैं, भले ही सामग्री प्रकार समय के साथ बदल जाए। यदि आप कोड के माध्यम से सूची सामग्री प्रकार में परिवर्तनों को दबाते हैं, तो आप बदले गए/हटाए गए फ़ील्ड में संग्रहीत डेटा खो देंगे। इसका समाधान पुराने पर आधारित एक बदले गए नए सामग्री प्रकार को जोड़ना होगा, लेकिन बदले गए फ़ील्ड के साथ।आप नई सामग्री प्रकार (कोड के माध्यम से या फीचर एक्सएमएल का उपयोग करके) जोड़ देंगे और पुरानी सामग्री प्रकार का उपयोग करने वाली सभी सूचियों के लिए नई सामग्री प्रकार को प्रचारित करने के लिए एक फीचर रिसीवर या इसी तरह का उपयोग करेंगे, और बाद में पुराने सामग्री प्रकार को छिपे हुए चिह्नित करेंगे। इससे पुराने मेटा डेटा को रखना संभव हो जाएगा, लेकिन नए मेटा डेटा के अलावा अन्य वस्तुओं को जोड़ने के लिए नहीं।
इस प्रश्न के दूसरे उत्तर में उल्लिखित दृष्टिकोण को प्राथमिकता दी जाएगी यदि आपके पास उत्पादन वातावरण की सीधी पहुंच है, और यदि आपके ग्राहक शासन योजना इसे अनुमति देते हैं। हालांकि शेयरपॉइंट में अन्य कलाकृतियों के साथ, सामग्री प्रकारों को संरचित तरीके से तैनात करने की सिफारिश की जाएगी। एक असंगठित फैशन में नए सामग्री प्रकार जोड़ना खोज प्रासंगिकता (प्रबंधित गुण) को प्रभावित करेगा और साइट की सामान्य वर्गीकरण (साइट कॉलम का पुन: उपयोग नहीं किया जा रहा है) को भी प्रभावित कर सकता है, भले ही इन परिवर्तनों को सीधे जोड़ना संभव हो उत्पादन स्थल, मैं इसे reccomend नहीं होगा!
जो मुझे अंतिम दृष्टिकोण तक ले जाता है, जिसे मैं कम से कम भविष्य के सामग्री प्रकारों के लिए पुनः प्राप्त करता हूं: एक फीचर रिसीवर का उपयोग करके शुरुआत से प्रोग्राम सामग्री के रूप में अपनी सामग्री प्रकार बनाएं! इस तरह आप हमेशा अपने सामग्री प्रकारों (केवल डेटाबेस) की वास्तविक स्थिति को जानते हैं और भविष्य में परिवर्तनों को नियंत्रित करने के लिए आपके पास एक संरचित दृष्टिकोण हो सकता है! आप सामग्री बनाने के प्रकार 'प्रोग्रामेटिक रूप से शेयरपॉइंट'
पूर्णता के लिए इसे तीन तरीकों का उल्लेख करते हुए ऐसा करने के कई तरीके मिल सकते हैं। आपके सामग्री प्रकार का अंतिम मोड "Unghosted" हो सकता है। इसका अर्थ यह है कि आपकी सामग्री प्रकार सुविधा एक्सएमएल का उपयोग करके बनाई गई थी, लेकिन यह 12 एचआईवी में मूल एक्सएमएल स्रोत से डिस्कनेक्ट हो गया है।
मेरे दोस्त सोरेन नीलसन
सामग्री प्रकार Audit your Content Type Hierarchy में पर कुछ अच्छे अंक है। ऊपर वर्णित कुछ मुद्दों को संक्षेप में एमएसडीएन लेख Updating Content Types में उल्लिखित पाया जा सकता है। गैरी लैपॉन्टे में एक एसटीएसएडीएम एक्सटेंशन भी है जो सामग्री प्रकारों के साथ कुछ समस्याओं को संबोधित करता है, Propagate Content Type Changes देखें।
रान के लिए खेद है, लेकिन विषय जटिल है और किसी भी गलतफहमी से बचने के लिए पूरी तरह से स्पष्टीकरण की मांग करता है।
यदि आपने शुरुआत में अपनी सामग्री प्रकारों को एक सुविधा में बनाया है लेकिन फिर उन्हें अपडेट करने की आवश्यकता है, तो आप भी सुविधा रिसीवर दृष्टिकोण की सिफारिश करें? –
नमस्ते, आपका जवाब कम से कम मेरे लिए बहुत उपयोगी था :) दस्तावेज ढूंढना कभी मुश्किल है Sharepoint की दुनिया है। मैं सुविधा द्वारा बनाई गई सामग्री-प्रकारों को अपडेट करने के बारे में भी उत्सुक हूं :) धन्यवाद बहुत कुछ – drax
यदि आप ऑब्जेक्ट मॉडल का उपयोग करते हैं या जीयूआई का उपयोग करके धक्का देना तैनाती प्रथाओं का अधिक सवाल है। फीचर रिसीवर में लिपि समीकरण करता है, लेकिन आपको एक सी) जैसा कि आप चाहते हैं मौजूदा सीटी को संभालने की बेहतर स्वतंत्रता और बी) एक प्रत्यारोपित तैनाती प्रक्रिया जिसे प्रीप्रोड इत्यादि में परीक्षण किया जा सकता है –