شير: ماذا يحدث للقوائم على أساس نوع المحتوى عند تحديث نوع المحتوى؟

StackOverflow https://stackoverflow.com/questions/446451

سؤال

ولدي سؤال النوع من افتراضية (على الأقل حتى الآن:))

ودعونا نقول I إنشاء قائمة استنادا إلى بعض مخصصة نوع المحتوى. أود أن أضيف بعض العناصر في 1000 تلك القائمة (في الإنتاج). ثم يأتي العملاء وانه يقول انه بحاجة إلى تعديل هذا النوع محتوى مخصص.

وماذا يحدث لقائمة إذا كنت تعديل نوع المحتوى مخصص؟ سيتم تحديثه تلقائيا (أشك)؟ وماذا عن عناصر القائمة التي تم إنشاؤها بالفعل؟

هل أي من لديك بعض الخبرة في هذا؟

هل كانت مفيدة؟

المحلول

وهكذا عددا من القضايا المتعلقة أنواع المحتوى:

وأولا وقبل كل شيء، وأنواع المحتوى يأتي في اثنين من النكهات: أنواع محتويات الموقع وأنواع المحتوى القائمة. أنواع محتوى الموقع هي "قوالب" الموجودة في المعرض. عند استخدام نوع محتوى الموقع في القائمة، يتم إنشاء مثيل نوع المحتوى كنوع محتوى قائمة على قائمة معينة.

وثانيا، يمكن إنشاء أنواع المحتوى الخاص بك وتعديلها بعدة طرق، والتي ستقرر في ما من ثلاثة أنماط البيانات موجود في قاعدة البيانات.

إذا كنت قد أنشأت نوع المحتوى باستخدام واجهة المستخدم الرسومية، أو من خلال التعليمات البرمجية المخصصة باستخدام API، كلا النوعين محتوى موقعك وأنواع المحتوى قائمتك هي في ولاية "قاعدة بيانات فقط" في قاعدة البيانات. وهذا يعني أنها تبحث في قاعدة البيانات لتعريف نوع المحتوى.

إذا كنت قد أنشأت نوع المحتوى كسمة في CAML أو الخاص <م> الموقع والشفافة نوع المحتوى (أو غير مخصصة، كما يفترض علينا أن نسميها في V3) في قاعدة البيانات. أن basicly يعني أن قاعدة البيانات تبدو في XML الميزة في خلية-12 للأعمدة الموقع الذي تشكل نوع المحتوى. لذا يجب أن يعني أنك يمكن أن تحديث هذه الميزة، وعملتم أعمدة الموقع الجديدة المتوفرة في نوع المحتوى التحديث، أليس كذلك؟

للأسف لا: تذكر أن لدينا أيضا أنواع المحتوى القائمة؟ والمشكله هنا هو أن هذه أنواع المحتوى قائمة يتم إنشاء مثيل باستخدام رمز، لذلك هم في الدولة "قاعدة بيانات فقط". وهذا يعني أن فقط أن ينظر إلى التغييرات في أنواع محتوى موقعك، ولكن ليس في القوائم الحالية باستخدام هذا النوع المحتوى!

وهناك عدة طرق لتحديد هذه المسألة، والحل يعتمد على ما هي احتياجاتك وأي نوع من التغييرات تقومون به (حقول حذف، إضافة حقول، وتغيير الحقول).

وعلى سبيل المثال، هل ما تريد للحفاظ على البيانات الوصفية البند الخاص بك القائمة، على الرغم من أن يتغير نوع المحتوى مع مرور الوقت. إذا كنت تدفع من خلال التغيرات في نوع المحتوى القائمة خلال التعليمات البرمجية، سوف تفقد البيانات المخزنة في الحقول المتغيرة / حذف. سيكون هناك حل لهذا سيكون لإضافة نوع محتوى جديد تماما على أساس العمر واحد ولكن مع الحقول تغييرها. هل إضافة نوع محتوى جديد (خلال التعليمات البرمجية أو استخدام XML الميزة) واستخدام جهاز استقبال ميزة أو ما شابه ذلك لpropegate نوع المحتوى الجديد لجميع القوائم التي تستخدم نوع المحتوى القديم، وبعد ذلك وضع علامة على نوع المحتوى القديم كما مخفية. ومن شأن ذلك أن يجعل من الممكن للحفاظ على بيانات التعريف القديم ولكن ليس لإضافة عناصر جديدة باستخدام البعض من بيانات التعريف الجديد.

والنهج المذكورة في الجواب الآخر على هذا السؤال سيكون من المفضل إذا كان لديك إمكانية الوصول المباشر إلى بيئة الإنتاج، وإذا خطة الحكم الزبائن يسمح بذلك. كما هو الحال مع غيرها من الأعمال الفنية في SharePoint ومع ذلك، سيتم المستحسن لنشر أنواع المحتوى بطريقة منظمة. إضافة أنواع المحتويات الجديدة بطريقة غير منظم من شأنها أن تؤثر أهمية البحث (الخصائص المدارة)، ويمكن أن تؤثر أيضا على التصنيف العام للموقع (أعمدة الموقع لا يتم استخدامها، وما إلى ذلك)، حتى على الرغم من أنه من الممكن أن تضيف هذه التغييرات مباشرة في موقع الإنتاج، وأنا لا أوصى عليه!

وهذا يقودني إلى نهج النهائي الذي هو واحد وأود أن أوصى، على الأقل بالنسبة لأنواع المحتويات المستقبلية: إنشاء أنواع المحتوى الخاص بك برمجيا من البداية باستخدام جهاز استقبال الميزة! وبهذه الطريقة يمكنك دائما معرفة الوضع الحقيقي للأنواع المحتوى الخاص بك (قاعدة بيانات فقط) ويمكن أن يكون لديك نهج منظم لحكم التغييرات في المستقبل! يمكنك العثور على العديد من الطرق للقيام بذلك عن طريق غوغلينغ "خلق" أنواع المحتويات "برمجيا شير '

لاكتمال: ذكرت ثلاث وسائط. وضع آخر نوع المحتوى الخاص بك يمكن أن يكون في غير "UnGhosted". وهذا يعني أنه تم إنشاء نوع المحتوى باستخدام ميزة XML، إلا أن أنه تم قطع الاتصال من المصدر الأصلي في XML12 خلية.

وصديقي سورين نيلسن لديه بعض النقاط الجيدة على أنواع المحتويات في التدقيق الخاص بك نوع المحتوى التسلسل الهرمي . بعض القضايا المذكورة أعلاه يمكن العثور عليها المذكورة لفترة وجيزة في مقال MSDN <م> تحديث أنواع المحتوى . لديها غاري Lapointe أيضا امتدادا STSADM يعالج بعض المشاكل مع أنواع المحتويات، انظر <م> <وأ href = "http://stsadm.blogspot.com/2008/05/propagate-content-type-changes.html" يختلط = "noreferrer"> نشر التغييرات نوع المحتوى .

وآسف للخرف، لكن الموضوع معقد ويتطلب تفسيرا مفصلا لتجنب أي سوء فهم.

نصائح أخرى

وعند تحديث نوع المحتوى ثمة المربع يمكنك النقر لتحديث أنواع المحتوى الطفل. بواسطة فحص هذا المربع سيتم تحديث أنواع المحتوى القائمة.

لاحظ أنه إذا قمت بذلك لا ضع علامة في المربع لتحديث أنواع المحتوى الطفل ثم لا توجد وسيلة لفرض التحديث في وقت لاحق. وهكذا، إذا لم تقم بتحديث ويريد في وقت لاحق أنواع المحتوى الطفل أن يكون التحديث تحتاج أولا إلى عكس التحديث وreaply ذلك.

و. ب

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top