السبت، 18 سبتمبر 2010

مقدمة لإستخدام LINQ To SharePoint للإستعلام عن البيانات ضمن الشيربوينت

في الشيربوينت 2007 كانت الوسيلة الاساسية للإستعلام عن البيانات ضمن قائمة معينة في الشيربيونت هي CAML او Collaborative Application Markup Language. في الاصدار 2010 من الشيربوينت اصبح بالامكان استخدام تقنية اخرى للإستعلام عن البيانات وهي لغة LINQ. طبعا لغة LINQ ليست مقتصرة على الشيربيونت, حيث يوجد عدة مزودات تخدم عدة امور اخرى, لكن ما يهمنا هنا هو المزود الخاص بالشيربوينت او ما يسمى بـ LINQ To SharePoint حيث يمكننا هذا المزود من كتابة جمل الاستعلام بإستخدام لغة LINQ وارسالها للشيربيونت. تقنية LINQ to SharePoint تقوم بنهاية المطاف بتحويل جملة الاستعلام الى لغة CAML والتي بدورها ستقوم بتنفيذ هذه الاستعلام وارساله لقاعدة بيانات المحتوى ضمن الشيربيونت.
الشيربيونت 2010 كذلك احتوى على ميزة اضافة ضمن لغة الاستعلام الاساسية CAML والتي هي امكانية عمل Join وبالتالي يمكننا كتابة جملة استعلام لتقوم بربط قائمتين ببعض عبر استخدام عبارة Join المضمنة ايضا ضمن لغة الاستعلام LINQ. كذلك بواسطة هذا المزود يمكننا تخزين البيانات ضمن القوائم المختلفة ضمن الشيربوينت. ولإستخدام هذه المزود يتطلب الامر وجود Classes والتي توفر لنا واجهة Object Oriented لقاعدة بيانات المحتوى الخاصة بالشيربيونت, حيث تلعب هذه الـ Classes دور الوسيط بين قاعدة البيانات وجملة الاستعلام. هذه ال Classes يتم انشائها بواسطة اداة تسمى SPMetal.

كذلك يمكن استخدام جمل LINQ بالكود حتى بدون وجود المزود LINQ To SharePoint حيث يمكن للكائنات Objects التي تقوم بعمل بناء لـ IEnumerable(Of T) ان يتم الاستعلام عنها بإستخدام LINQ.

واليكم هذه المثال على استخدام لغة LINQ للاستعلام عن بيانات ضمن الشيربوينت:

الجمعة، 3 سبتمبر 2010

إنشاء Application Page ضمن الشيربوينت 2010 مع Ribbon و Dialog

تطوير تطبيقات خاصة ضمن الشيربوينت ممكن ومتاح بعدة طرق, ويمكن تحديد الطريقة الأفضل حسب الحالة المراد بناء تطبيق لها. بشكل عام يمكن إنشاء Web Parts لتمثل هذا التطبيق المطلوب, كذلك يمكن استخدام Application Page وهي عنوان هذه المقالة, وأيضا يمكن تطوير تطبيقات باستخدام BCS. الحلول المعقدة عادة تستخدم كل هذه الخيارات بالإضافة للعديد من الأدوات المساعدة الأخرى لتحقيق هذا الهدف. هذه المقالة هي مقدمة باللغة العربية لمقالة أخرى أعجبتني كمقدمة ل Application Page مع استخدام أل Ribbon و كذلك Dialog Model.

بشكل عام Application Page هي صفحات ASPX عادية ولكن تستخدم Application Master Page الخاصة بالشيربوينت وكذلك أل Class الخاصة بها موروثة من LayoutsPageBase Class الخاصة بصفحات Application Page ضمن الشيربوينت. هذه الصفحات يمكن الوصول لها من أي مكان ضمن الشيربوينت, حيث يتم حفظ هذه الملفات ضمن مجلد Layouts ضمن مجلد (14 hive) الشهير, وبذلك يمكن الدخول لأي صفحة من هذه الصفحات من خلال إلحاق "/_layouts/AppPage.apsx " إلى نهاية عنوان موقع الشيربوينت. مثلا http//server/sitecollection/_layouts/AppPage.aspx.

هذه الصفحات تمكننا من بناء تطبيقات حقيقة ضمن context الخاص بالشيربوينت وضمن نفس أل look and feel أيضا الخاص بالشيربوينت, ويوجد العديد من المقالات التي تسلط الضوء على كيفية إنشاء هذه الصفحات مع العلم أن إنشائها أمر بسيط جدا خصوصا مع الشيربوينت 2010 والفيجوال ستوديو 2010.

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

كذلك يجب تسليط الضوء على تقنية Dialog Model والتي تتيح لنا فتح صفحات ضمن مربع حوار خاص بحيث يتم تنفيذ أمر معين ومن ثم العودة إلى الصفحة الأم والتي هي هنا صفحة Application Page.

هذه مقدمة حول هذه المقالة والتي هي بعنوان :

Application Page Ribbon & Dialogs on SharePoint 2010