"النسخ الاحتياطي" المؤقت لمحتوى SharePoint أثناء نشر الميزة والحلول

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

سؤال

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

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

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

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

ربما أرفع نفسي من قبل Petard الخاص بي مع نظام الميزات الذي قمت بتطبيقه. لسوء الحظ ، فإن ضرورة جعل العديد من "مواقع المشروع" هذه تعني أنه كان عليّ أن أفعل الكثير من الكود مع مفهوم "يمكن نشره بشكل متكرر" في الاعتبار.

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

لا أعرف حقًا كل سلبيات هذا النهج ... أستطيع أن أتخيل أنها ضخمة للغاية. لكنني غير متأكد من الخيارات الأخرى التي لدي ، وعمليات البحث الخاصة بي لم تظهر أي شيء. هل هناك أي شخص يمكن أن يفكر في فكرة أفضل؟ أم أن أي شخص يخبرني أنه ليس لدي خيار آخر حقًا؟ شكرا لك مقدما!

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

المحلول

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

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

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