سؤال

أحاول تطوير أداة لـ Sharepoint 2007، والتي ستصادق المستخدم ثم تجلب له قائمة نقاط المشاركة من عنوان URL محدد،

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

نظرًا لأن Windows Gadget يستخدم Scripting + HTML، لذا لدي الخيارات التالية لمواصلة العمل بها لإنشاء هذه الأداة،

  • قم بإنشاء مشروع Visual studio (dll) الذي سيجلب لي القائمة باستخدام SPLIST/SPWeb of Sharepoint وبعد ذلك يمكنني استخدام JavaScript & Visual Studio "COM" لقراءة ملف dll ("الفئات") والحصول على البيانات في JavaScript + عرضها على HTML.المشكلة في هذا الأسلوب هي أنني لست متأكدًا من أنه إذا قمت بإنشاء "dll" باستخدام Sharepoint SPLIST ووضعه في مجلد الأداة الذكية، فهل سيعمل على العملاء (الذين ليس لديهم Sharepoint مثبتًا على أجهزة الكمبيوتر الشخصية هناك).أثناء محاولتي العثور على مساعدة فيما يتعلق بهذا النهج لحل المشكلة، وجدت هذا المشروع يفعل نفس الشيء نوعًا ما، ولكن لست متأكدًا حقًا مما إذا كنت قد أجريت تغييرات عليه وسيعمل مع "dll" الذي كنت أتحدث عنه سابقًا، إليك الرابط إلى أداة،

أداة Gmail باستخدام JavaScript لقراءة Visual studio Dll

  • يمكن أن تكون الطريقة الثانية لحل المشكلة هي، إذا كنت أستخدم خدمات ويب Sharepoint، فسوف أحصل على جميع عناصر القائمة، ولكن بعد ذلك فإن استخدام خدمات الويب في JavaScript ليس بهذه السهولة، لذلك إذا قمت بإنشاء مشروع Visual Studio، احصل على مرجع ويب إلى خدمات ويب Sharepoint، وإرجاع قائمة، والتي أستخدمها مرة أخرى JavaScript لقراءة النتائج من DLL، وعرضها بتنسيق HTML.

يستخدم هذا الرابط خدمات الويب في مشروع Dot Net لتحديث عنصر قائمة، ولكنه يخبرنا في التعليقات أيضًا بكيفية الحصول على بيانات القائمة، ولكن بعد ذلك كيف سأقوم بمصادقة المستخدمين

  • الحل الآخر هو استخدام Jquery للحصول على بيانات قائمة Sharepoint، كما هو الحال في الرابط من قبل، ولكن مرة أخرى، كيف يمكنني مصادقة المستخدمين @ الأداة؟

استخدام jQuery لجلب بيانات القائمة

أداة تحصل على موجز الأخبار من موقع ويب، وترسل طلب HTTPxml ثم تطلب بعد ذلك موجز RSS، بينما لا أملك تعليقات Rss في موقع Sharepoint الذي أعمل عليه

تحياتي لقراءة هذا آمل أن تزيد معرفتك أو ستشاركه :)

يحرر *قصدت استخدام Sharepoint MOSS "SPLIST" أو "SPWEB" كنموذج كائن عميل، بما أنني أستخدم Moss، لا يمكنني استخدام مصادقة نموذج كائن العميل :(.آسف حقا للمعلومات الخاطئة*

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

المحلول

أنت تقوم بتثبيت هذا على جهاز كمبيوتر شخصي للمستخدمين لذا لا يمكنك استخدام SharePoint API القياسي (Microsoft.SharePoint.dll)

أنت تستخدم الإصدار 2007 لذا لا يمكنك استخدام "نموذج كائن العميل" (مُدار/silverlight أو برنامج EMCA النصي)

أن يترك

أ) خدمات SharePoint Web Services (إما JavaScript أو JQuery والتي لا تزال JavaScript).

وهذا يعني أن أداتك ستتم المصادقة عليها مع SharePoint عبر نفس الآلية التي يستخدمها أي شخص يتصفح إلى موقعك - ​​عادةً مصادقة Windows المدمجة.

المكان الأول لبدء هذا هو ممتاز http://spservices.codeplex.com/ المكتبة التي تتيح لك الاتصال بسهولة بخدمات الويب من JQuery).راجع الوثائق للحصول على نصائح حول كيفية استخدامها.

لنصف المشروع المنجز ماذا عن http://sharepointsidebar.codeplex.com/

ب) قم بإنشاء خدمات الويب المخصصة الخاصة بك عن طريق نشر ملف dll على خادم SharePoint ثم الاتصال بها عبر JavaScript (ربما تستخدم JSON أو ما شابه ذلك)

نصائح أخرى

إذا كنت تستطيع تحمل تكلفة نشر مكون COM باستخدام أداتك، فسيعمل النهج الأول.يمكنك تغليف المنطق الخاص بك في واجهة فئة CCW .NET (باستخدام .NET SP Client OM) وتسجيله لـ COM عن طريق regasm.كل ما يتعلق بـ .NET خالص، سيتم الإعلان عن (وكتابة) صفك بأنه متوافق مع COM.

قد تجد أن النهج الثاني مقيد للغاية لاحقًا؛يدعم SP ClOM المزيد من الوظائف التي تدعمها SP WS.إن طرح jQuery لا يغيره كثيرًا.(لسوء الحظ، يمكن استخدام SP JS ClOM فقط على صفحات SP؛ليس في الأداة.)

إذا سلكت طريق الألم (JS ؛-) فيجب على IWA أن تمنحك مصادقة SSO (Windows).إذا قمت باستدعاء SP ClOM من مكتبة الارتباط الديناميكي (DLL)، فيمكنك إما إعادة استخدام الرمز المميز لجلسة Windows للمستخدم الحالي (SSO) أو المصادقة بشكل صريح من خلال نموذج خاص بك إذا كان المستخدم يرغب في ذلك.(يمكنك تسجيل الدخول إلى SP UI كمستخدم مختلف عما أنت عليه في Windows أيضًا.) كلاهما مدعوم.

سأجرب أولاً نهج DLL.

تحديث: عفوًا، أنت تستخدم SP 2007، وليس 2010 - ولا يوجد SP ClOM.كان يجب أن ألاحظ ذلك من قبل، آسف..ومع ذلك، يمكنك إنشاء ملف .NET DLL الذي يمكنه التحدث إلى SP عبر WS.لا يزال بإمكانك تعيين DefaultNetworkCredentials ل HttpWebRequest.Credentials (الراحة) أو إلى .Credentials لفئة عميل WS (SOAP) للحصول على مصادقة SSO.أو إنشاء بنفسك NetworkCredential مع الاسم وكلمة المرور.

--- فردا

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