SharePoint - مربع حوار سلسلة الاتصال أثناء حدث FeaturesActivated

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

  •  08-06-2019
  •  | 
  •  

سؤال

هل يعرف أحد ما إذا كان من الممكن عرض مطالبة للمستخدم/المسؤول عند تنشيط ميزة Sharepoint أو تثبيتها؟

أقوم بكتابة جزء ويب مخصص وهو متصل بقاعدة بيانات منفصلة، ​​وأود السماح للمسؤول بتحديد أو كتابة سلسلة اتصال عند تثبيت ملف .wsp أو تنشيط الميزة.

أنا أبحث داخل حدث FeaturesActivated وأفكر في استخدام فئة SPWebConfigModification لكتابة سلسلة الاتصال فعليًا إلى ملفات web.config في المزرعة.

لا أرغب في تحرير web.configs أو ترميز السلسلة في ملف DLL.

إذا كانت لديك طرق أخرى للتعامل مع سلاسل الاتصال داخل نقطة المشاركة سأكون مهتمًا بها أيضًا.

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

المحلول

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

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

لذلك، تحتاج إلى طريقة ما للحصول على مدخلات المستخدم.فيما يلي بعض الخيارات:

  1. يمكن أن تكون خاصية جزء ويب، على الرغم من أن هذا يعني تعيينها في كل مرة تتم فيها إضافة جزء الويب، وستحتاج بعد ذلك إلى الحفاظ على هذه الإعدادات بشكل فردي.
  2. يمكنك إنشاء شاشة إعدادات _layouts الخاصة بك (مشاركة جيدة: http://community.zevenseas.com/Blogs/Robin/archive/2008/03/17/lcm-creating-custom-application-page-and-using-the-propertybag-more-detailed.aspx)، ومن هناك يمكن للمستخدمين صيانة الخاصية، وتخزينها إما في حقيبة خصائص الويب، أو داخل Web.Config.أحاول تجنب استخدام Web.Config حيثما أستطيع، ولكن إذا كنت ترغب في اتباع هذا الطريق، فتأكد من استخدام فئة SPWebConfigModification (اقرأ هذه المدونة الرائعة: http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=32)
  3. وأخيرًا، الأسلوب الذي أستخدمه غالبًا هو تخزين معلومات التكوين في قائمة SharePoint.لدى كريس أوبراين إطار عمل رائع لذلك هنا: http://www.codeplex.com/SPConfigStore

أتمنى أن يساعد ذلك ، دانيال

نصائح أخرى

ًيبدو جيدا.سأنظر في هذه الحلول الممكنة.

لا أعتقد أن رقم 1 سيعمل لأنني أقوم بنشر أجزاء ويب متعددة داخل حل واحد تستخدم جميعها نفس سلسلة الاتصال.

# 3 يبدو وكأنه حل نظيف للغاية.أرى أن عناصر التكوين مخزنة مؤقتًا، لذا يبدو أنه إذا كنت بحاجة إلى تخزين سلسلة اتصال، فلن يتم ضربي ببحث SP في كل مرة أحتاج فيها إلى هذه السلسلة.

أثناء البحث عن حل، عثرت على طريقة أخرى.

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

كنت على وشك البدء في التعامل مع هذه الطريقة، ولكن أعتقد أن رقم 3 سيكون أفضل.

شكرا لك ، كيث

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