الجمعة، 4 ديسمبر 2009

التحسينات التي تمت على الأحداث Events Improvements

تم إضافة العديد من الأحداث الجديد إلى Microsoft SharePoint Foundation 2010, منها أحداث on-create للقوائم والمواقع web sites مع دعم للأحداث المتزامنة synchronous after events, ومعظم الأحداث الجديدة متوفرة في النمط المتزامن والنمط غير المتزامن ومن الأحداث المتزامنة:
  • الحدثين add, delete للقوائم وتتوفر في النمطين المتزامن وغير المتزامن:
    • ListAdded
    • ListAdding
    • ListDeleted
    • ListDeleting
  • الحدث add للمواقع web sites ويتوفر في النمط المتزامن فقط:
    • WebAdding
ويمكن تجريب هذه الأحداث بإنشاء مشروع على Visual Studio 2010 واختياره من النوع Event Receiver عندها ستظهر شاشة من خلالها يمكنك تحديد الأحداث التي تريد العمل عليها لتسجيلها ضمن الـ Feature التي سيتم إنشاؤها.

خدمات الاتصال بالأعمال Business Connectivity Services

خدمات الاتصال بالأعمال أو ما يسمى رسمياً فهرس بيانات الأعمال Business Data Catalog يقدم إمكانية القراء والكتابة إلى بيانات خارجية (خارج SharePoint 2010) مثل أنظمة خد الأعمال Line-of-Business, وخدمات الويب Web Services, وقواعد البيانات Databases وغيرها من الأنظمة الخارجية وذلك من خلال SharePoint 2010, حيث أن SharePoint 2010 يمتلك الكثير من الميزات التي تمكنه من التعامل مع البيانات الخارجية مباشرة سواء التعامل مع المصدر المباشر للبيانات أو التعامل مع نسخة عن هذه البيانات. وطبعاً يمكن للمبرمجين استخدام هذه الميزات وبناء تطبيقات فعالة وبوقت قصير باستخدام مجموعة من الأدوات الشهيرة مثل Visual Studio 2010 و Microsoft SharePoint Design 2010.

إن خدمة الاتصال بالأعمال BCS عززت من إمكانيات التطبيقات المبنية على SharePoint 2010 والشاشات والنماذج المستخدمة في هذه التطبيقات من خلال الميزات Features, والخدمات Services, والأدوات Tools. ومن خلال هذه التحسينات التي أدخلت على SharePoint 2010 أدت إلى تطوير الحلول المتكاملة بشكل وثيق مع البيانات والخدمات الخارجية, حيث أن المستخدمين والمطورين ومدراء التطبيقات يمكن لهم الآن التكامل مع الأنظمة الخارجية والتفاعل مع بيانتها من خلال عدة أنواع من التطبيقات المبنية على SharePoint 2010, حيث أن خدمة الاتصال بالبيانات BCS تسرع تطوير التطبيقات وتشغيلها من خلال حلول آمنة وقابلة للتوسع. وما يلي هو بعض من ميزات خدمة الاتصال بالبيانات BCS:

التعديل على بيانات الأنظمة الخارجية Write-back to External Systems
من خلال خدمة الاتصال بالبيانات BCS يمكن إنشاء وقراءة وتعديل وحذف بيانات الأنظمة الخارجية من خلال تطبيقات أوفيس Office Applications أو من خلال مواقع مبنية على SharePoint 2010 بشرط أن هذه الأنظمة الخارجية تدعم هذه العمليات وتمت نمذجتها وربطها مع خدمة الاتصال بالبيانات بشكل صحيح BCS.

التعامل مع البيانات الخارجية من خلال شاشات SharePoint 2010 Familiar SharePoint UI to External Data
يمكن استخدام أنواع محتويات خارجية External Content Types مبنية باستخدام بيانات الأنظمة الخارجية لتنفيذ وظائف تعتمد على SharePoint 2010 (مثل الوقائم, وأجزاء الويب ...) وبالتالي فإن المستخدمين يمكنهم التعامل مع البيانات الخارجية من خلال بيئة اعتادوا العمل عليها بدون الحاجة إلى العمل على بيئة جديدة.

خيارات اتصال أكثر More Connectivity Options
الهدف الأساسي لفهرس بيانات الأعمال BDC هو تأمين الاتصال بأنواع الأنظمة الخارجية التالية:
  • قواعد البيانات Databases.
  • خدمات الويب Web/WCF Services.
  • الاتصال بمجمعات .NET
  • مصادر بيانات مخصصة Custom Data Sources.
نموذج اتصال قابل للتوسع Extensible Provider Model
بالإضافة إلى أن فهرس بيانات الأعمال BDC يؤمن الاتصال بمصادر البيانات السابقة فإن إطار عمل BDC قابل للتوسع من خلال إضافات جديدة يستطيع المطورون إضافتها لأنواع أنظمة أخرى مختلفة مما يؤمن إمكانية الاتصال بمصادر بيانات جديدة من خلال BDC.

دعم مجموعة عمليات Batch and Bulk Operation Support
تدعم BDC في Office SharePoint Server 2007 عمليات على عنصر واحد فقط, لكن BDC في SharePoint 2010 تدعم العمليات التي تعتمد على الجmموعات والكتل مما يسمح بقراءة مجموعة من العناصر دفعة واحدة مما يقلل عمليات الاتصال بمصدر البيانات بشكل ملحوظ.

قراءة البيانات الثنائية الترميز Read Blobs
تعدم BDC في SharePoint 2010 إمكانية قراءة البيانات الثنائية الترميز Blob Data من الأنظمة الخارجية.

قراءة وكتابة البيانات المعقدة Read and Write-back Complex Types
في SharePoint 2010 تدعم BDC استخدام الرمز "." في اسم الحقل مما يساعد على على قراءة الأنماط المعقدة مثل قراءة قيمة خاصية في صف Read property value in class.

إدارة دورة حياة بناء خدمة الاتصال Life Cycle Management
تقدم خدمة الاتصال بالبيانات BCS مجموعة من الأدوات التي تسهل بناء ونمذجة البيانات الخارجية لتعمل من خلال خدمة الاتصال بالبيانات وبناء التطبيقات التي تعتمد على Office 2010, وذلك باستخدام الأدوات الجاهزة أو باستخدام الشيفرة البرمجية. كما يمكن استخدام Microsoft SharePoint Designer 2010 لبناء التطبيقات التي تلبي حاجة الأنظمة الخارجية وبدون كتابة شيفرة برمجية, كما يمكن استخدام Visual Studio 2010 لبناء حلول وتطبيقات عملية مع أنظمة سير عمل وبيانات معقدة, وهذه الحلول تستخدم في الأنظمة الخارجية أو تطبيقات SharePoint 2010 وتطبيقات أوفيس Office Applications.

مجموعة من المكتبات البرمجية المحسنة Enhanced API Set
يستطيع المطور استخدام مجموعة من المكتبات الجاهزة التي تسمح ببناء تطبيقات تستخدم خدمة الاتصال بالبيانات لتنفيذ عمليات الاتصال بالبيانات والأنظمة الخارجية وذلك بكتابة شيفرات برمجية.

ما الجديد في نظام التنبيهات في SharePoint Foundation 2010

تم إدخال تعديل جديد على نظام التنبيهات في SharePoint Foundation 2010 وهو إمكانية إرسال رسالة نصية قصيرة SMS إلى الجوال. حيث أن الصف SPAlert يحتوي الآن على خاصية جديدة اسمها DeliveryChannels يمكن تعيين إحدى القيمتين Email أو Sms باستخدام النمط التعدادي SPAlertDeliveryChannels, وتطبيق الويب في SharePoint Foundation له اسم الحساب الخاص به الذي يتعامل فيه مع مزود خدمة الرسائل القصيرة, مع العلم بأن إطار العمل لنظام الرسائل في SharePoint Foundation 2010 قابل للتوسع أي يمكن كتابة حل كامل اعتماداً على إطار العمل الموجود في SharePoint Foundation 2010 لتحديد كيفية إرسال الرسائل القصيرة من خلال نظام التنبيهات.
يمكن تعديل إعدادات إرسال الرسائل القصيرة من خلال تطبيق الويب Central Administration حيث تستطيع تحديد عنوان الويب الذي من خلاله ترسل الرسائل واسم المستخدم وكلمة المرور وذلك باتباع الخطوات التالية:
في تطبيق الويب Central Administration اضغط على الرابط System Settings في القائمة اليسرى كما في الشكل التالي:

ثم اختر الرابط Configure mobile account كما في الشكل التالي:

عندها تظهر الشاشة التالية التي من خلالها يمكن إدخال عنوان الويب الذي من خلالها ترسل الرسائل القصيرة واسم المستخدم وكلمة المرور, كما يمكن تجريب الإعدادات بالضغط على الزر Test service:

الأحد، 29 نوفمبر 2009

كيف تلغي استخدام النماذج المطورة في إدارة عناصر القائمة الخاصة

  1. كيف تنشئ قائمة مخصصة في SharePoint Server 2010
  2. كيف تلغي استخدام النماذج المطورة في إدارة عناصر القائمة الخاصة
  3. إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010

في الإصدار SharePoint Server 2010 تم إدخال ميزة النماذج المطورة التي تعتمد على JavaScript لإظهارها في محاولة من شركة Microsoft لتحسين وتسريع عملية التعامل مع نماذج القوائم وبعض النماذج الأخرى وكذلك اعتمدت شركة Microsoft في بعض النماذج على تقنية Silverlight كما في شاشات إنشاء موقع أو قائمة جديدة. ومن أجل إلغاء استخدام النماذج المطورة في القائمة المخصصة يمكن اتباع الخطوات التالية لاستخدام النماذج التقليدية المستخدمة في MOSS 2007.
من القوائم العلوية اختر الرابط List لعرض روابط الإعدادات الخاصة بالقائمة المخصصة كما في الشكل التالي:

ومن ثم اختر الرابط List Settings كما في الشكل التالي:

لتظهر صفحة الإعدادات الخاصة بالقائمة والتي تحتوي على الكثير من الخيارات ولكن الخيار الذي يهمنا هو Advanced Settings كما في الشكل التالي:


عند الضغط على رابط الإعدادات المتقدمة Advanced Settings تظهر صفحة تحتوي على مجموعة من الخيارات المتقدمة المتعلقة بالقائمة وآخر خيار هو الذي يفعل أو يعطل استخدام النماذج المطورة في إدارة عناصر القائمة:


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

السبت، 28 نوفمبر 2009

إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010

  1. كيف تنشئ قائمة مخصصة في SharePoint Server 2010
  2. كيف تلغي استخدام النماذج المطورة في إدارة عناصر القائمة الخاصة
  3. إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010


من التحسينات الملحوظة في SharePoint Server 2010 هي التعامل مع عناصر القوائم ومنها إضافة عناصر جديدة إلى قائمة, وفي هذه المقالة سنركز على كيفية إضافة عنصر جديد برمجياً إلى القائمة المخصصة التي أنشأناها في مقالة سابقة بعنوان كيف تنشئ قائمة مخصصة في SharePoint Server 2010 واسم القائمة هو Names, وكلن قبل الدخول في تفاصيل الشيفرة البرمجية أرغب في استعراض كيفية إضافة عنصر جديد إلى القائمة باستخدام شاشات SharePoint Server 2010.

هذه الخطوات تم تنفيذها ضمن الشروط التالية:

  • Windows 7 64bit.
  • SharePoint Server 2010 Beta Version.

من صفحة استعراض جميع عناصر القائمة اضغط على الرابط Add new item كما في الشكل التالي لفتح نافذة جديدة إضافة معلومات العنصر الجديد:

أو من خلال الضغط على الرابط Items في قائمة الروابط العلوية للصفحة وبعدها اضغط على الرابط New Item كما في الشكل التالي:

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

بعد تعبئة المعلومات اللازمة اضغط على زر Save لحفظ معلومات العنصر الجديد, بعدها يتم إغلاق شاشة إضافة عنصر مع تحديث صفحة عرض جميع عناصر القائمة لعرض العنصر الجديد الذي تمت إضافته إلى عناصر القائمة.

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

http://YOUR_SERVER_NAME/Lists/Names/NewForm.aspx

الخطوات السابقة كانت لإضافة عنصر جديد إلى قائمة باستخدام الميزات التي تقدمها شاشات SharePoint Server 2010.

إنشاء مشروع جديد باستخدام Visual Studio 2010

يدعم VS 2010 مجموعة قوالب مرتبطة مباشرة بالـ SharePoint بحيث تسهل عملية إضافة وتحميل عناصر جديدة تعمل على SharePoint Server 2010 ومن هذه القوالب Visual Web Part الذي يساعد على تصميم جزء ويب Web Part وتحميله ليعمل على تطبيق الويب الخاص بك. الآن يجب إنشاء مشروع باستخدام القالب Visual Web Part:

File -> New Project -> Visual C# -> SharePoint -> Visual Web Part

وليكن اسم المشروع هو CustomList2010Developer ومن ثم اضغط على الزر OK عندها تظهر شاشة تستطيع من خلالها أين سيتم تحميل جزء الويب الذي سنعمل عل برمجته, بعد تحديد عنوان الموقع المناسب اضغط زر Finish.

بعد إنشاء المشروع بنجاح افتح الملف VisualWebPart1.webpart وعدل عنوان جزء الويب Title ووصف جزء الويب Description.

الآن افتح الملف VisualWebPart1UserControl.ascx لبناء النموذج Form الذي سندخل من خلال معلومات العنصر الجديد (FirstName, FamilyName, Email), وهنا طبعاً الشيفرة التي ستتم كتابتها لا علاقة لها بالـ SharePoint Server 2010 وإنما هي شيفرة ASP.NET كما في الشكل التالي:

يحتوي النموذج على 3 حقول نصية لإدخال المعلومات التالية بالترتيب:

  • الاسم الأول FirstName.
  • اسم العائلة FamilyName.
  • البريد الإلكتروني Email.

مع وجود زرين الأول لإضافة المعلومات باستخدام الـ Object Model والثاني باستخدام Linq, والشيفرة التي يجب كتابتها في الحدث Click للزر Add By Object Model هي كما في الشكل التالي:

أما من أجل التعامل مع القائمة Names باستخدام Linq يجب اتباع الخطوات التالية لتوليد الملف الذي من خلاله سيتم التعامل مع القائمة Names:

1 - افتح منفذ الأوامر Command Prompt وأدخل الأمر التالي:

cd c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\bin

2 - اكتب الأمر التالي الذي يولد الملف:

spmetal /web:http://YOU_SERVER_NAME /namespace:CustomList2010Developer /code:c:\NamesList.cs

بعد توليد الملف NamesList.cs أضف هذا الملف إلى المشروع وذلك بالنقر بزر الفأرة الأيمن على اسم المشروع واختر Add Existing Itme.

يجب إضافة مرجع Reference إلى المكتبة Microsoft.SharePoint.Linq كي نستطيع التعامل مع عناصر الـ SharePoint Server 2010 باستخدام Linq وهذه المكتبة موجودة في المسار التالي:

c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI

أيضاً يجب إضافة العبارة التالية إلى ملف الشيفرة VisualWebPartUserControl.ascx.cs لتفعيل استخدام الـ Linq:

using System.Linq;

وأخيراً الشيفرة التي ستضيف العنصر الجديد باستخدام الـ Linq إلى القائمة Names هي كما في الشكل التالي:

نفذ عملية بناء المشروع من خلال القائمة Buil à Build Solution, ومن ثم نفذ الأمر Deploy Solution من القائمة Build à Deploy Solution.

أنشئ صفحة أجزاء ويب فارغة وأضف إليها جزء الويب الذي تم بناؤه وفي حال اتباع نفس الخطوات التي تم ذكرها في هذه المقالة عندها يجب أن يكون شكل جزء الويب الناتج كما في الشكل التالي:

الجمعة، 27 نوفمبر 2009

كيف تنشئ قائمة مخصصة في SharePoint Server 2010

  1. كيف تنشئ قائمة مخصصة في SharePoint Server 2010
  2. كيف تلغي استخدام النماذج المطورة في إدارة عناصر القائمة الخاصة
  3. إضافة عنصر جديد برمجياً غلى قائمة مخصصة في SharePoint Server 2010

لا شك بأن الإصدار الجديد من SharePoint Server 2010 يحتوي على كثير من الميزات الجديدة ولكنه حافظ أيضاً على المزايا القديمة مع إجراء تحسينات هائلة عليها, وسنستعرض فيما يلي كيفية إنشاء قائمة من القالب "قائمة مخصصة" Custom List موضحة بالصور, وهذه الخطوات تم تنفيذها ضمن الشروط التالية:
  • Windows 7 64 Bit
  • SharePoint Server 2010 Beta

في هذه المقالة سنعمل على بناء قائمة تضم المعلومات التالية:

  • الاسم الأول FirstName
  • اسم العائلة FamilyName
  • عنوان البريد الإلكتروني Email

لإنشاء قائمة يمكن تنفيذ ذلك من أماكن مختلفة كما يلي:

  1. من القائمة Site Actions اختر More Options… حيث تظهر شاشة كما في الشكل التالي ومنها يمكن اختيار القالب Custom List وبعدها تكمل خطوات إنشاء القائمة.

  2. من القائمة Site Actions اختر View All Site Content ومن ثم اضغط على الرابط Create لتظهر شاشة مشابة للشاشة في الخطوة رقم 1 ومنها يمكن اختيار القالب Custom List وبعدها تكمل خطوات إنشاء القائمة.

  3. اضغط على الرابط Lists في الجهة اليسرى ومن ثم اضغط على الرابط Create لتظهر شاشة مشابة للشاشة في الخطوة رقم 1 ومنها يمكن اختيار القالب Custom List وبعدها تكمل خطوات إنشاء القائمة.

نلاحظ أن جميع الخطوات السابقة تؤدي إلى نفس النتيجة وهي إنشاء قائمة من القالب Custom List وطبعاً وجود عدة طرق للوصول إلى شاشة إنشاء القائمة يسهل على المستخدم هذه العملية, أيضاً هناك ملاحظة هامة يجب الانتباه إليها وهو أنه عند الضغط على الرابط Create لا ينتقل التحكم إلى صفحة أخرى جديدة وإنما تظهر نافذة منبثقة Pop up Window وتعتبر هذه من التحسينات على شاشات SharePoint Server 2010 والتي تسهل وتسرع عملية الاستخدام والإدارة. كما أن هذه النافذة هي عبارة عن عنصر Silverlight لذلك نلاحظ وجود إبداع في الشكل وطريقة إظهار عناصر الشاشة وذلك باستخدام تنقية Silverlight ولكن ما يحيرني بأن Silverlight حتى تاريخ كتابة هذه المقالة لا يدعم اللغة العربية بشكل صحيح وبعض اللغات الأخرى فلا بد من أن شركة Microsoft ستدعم باقي اللغات بشكل صحيح 100% في الإصدار النهائي لـ SharePoint Server 2010 أو أنها يتقدم حلاً بديلاً لمثل هذه الشاشات كفتح صفحة جديدة في حال أن اللغة المستخدم غير مدعومة (وطبعاً هذا غير منطقي وأشك بأن شركة Microsoft ستقع في مثل هذا الخطأ). ولكن مازال النمط القديم لإنشاء صفحة أو قائمة أو موقع كما في الإصدار MOSS 2007 متوفر وذلك من خلال الرابط http://YOUR_SERVER_NAME/_layouts/create.aspx حيث تظهر الخيارات المتوفرة لإنشاء عنصر ما ومنه يمكن اختيار Custom List لتظهر شاشة لا تعتمد على تقنية Silverlight.

لإكمال عملية إنشاء القائمة اضغط على List في الجهة اليسرى لإظهار القوالب الخاصة بالقوائم فقط ومن ثم اختر القالب Custom List كما في الشكل التالي:

بعد اختيار القالب Custom List يمكن إدخال اسم القائمة في الجهة اليمنى من الشاشة في الحقل النصي Name ومن ثم الضغط على الزر Create لإنشاء القائمة أو يمكن اختيار الزر More Options حيث تفتح شاشة فيها خيارات أكثر لإنشاء القائمة (الاسم, الوصف, وهل تظهر القائمة في قائمة التشغيل السريع Quick Launch) كما في الشاشة التالية:

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

كما ذكرنا سابقاً يجب إضافة أعمدة أخرى إلى القائمة (FirstName, FamilyName, Email) ولتنفيذ ذلك اتبع الخطوات التالية:

  1. لإنشاء العمود FamilyName اضغط على الرابط Create Column في قائمة الروابط أعلى الصفحة (إظهار الروابط بهذا الشكل هو إحدى الميزات الجديدة في SharePoint Server 2010 ويسمى Ribbon وقد استخدم في Office 2007 قبل ذلك) بعد الضغط على Create Column تظهر شاشة منبثقة Pop up Window كما في الشكل التالي:


    تتيح اختيار أنواع مختلفة من الأعمدة (هذه الشاشة لا تعتمد على تقنية Silverlight) أدخل معلومات العمود الجديد وهي:
    • اسم العمود: FamilyName
    • نوع العمود: Single line of text
    • وصف العمود: Family name
    • هل قيمة هذا العمود مطلوبة: Yes
    • عدم تكرار هذه القيمة: No
    • الطول الأعظمي لقيمة هذا العمود: 15
    • باقي القيم اتركها كما هي.
    • بعد إدخال المعلومات المطلوبة اضغط على الزر OK لإنشاء العمود.
  2. لإنشاء العمود Email اضغط على الرابط Create Column في قائمة الروابط أعلى الصفحة بعد الضغط على Create Column تظهر شاشة منبثقة Pop up Window تتيح اختيار أنواع مختلفة من الأعمدة (هذه الشاشة لا تعتمد على تقنية Silverlight) أدخل معلومات العمود الجديد وهي:
    • اسم العمود: Email
    • نوع العمود: Single line of text
    • وصف العمود: Email address
    • هل قيمة هذا العمود مطلوبة: Yes
    • عدم تكرار هذه القيمة: Yes
    • الطول الأعظمي لقيمة هذا العمود: 50
    • في الجزء Column Validation وهي من الميزات الجديدة في SharePoint Server 2010 حيث تمكنك من كتابة صيغة للتحقق من صحة المعلومات المدخلة مع إمكانية إدخال رسالة تظهر في حال أن المعلومات المدخلة غير صحيحة, المهم في هذا الجزء أدخل المعلومات التالية:
      • في الحقل Formula اكتب =LEN(Email) >= 5 وتعني بأن طول عنوان البريد الإلكتروني لا يمكن أن يكون أقل من 5 محارف.
      • في الحقل User Message اكتب Email length must be 5 letters at least.
    • باقي القيم اتركها كما هي.
    • بعد إدخال المعلومات المطلوبة اضغط على الزر OK لإنشاء العمود.
  3. لإنشاء العمود FirstName سنعدل على العمود Title الموجود أصلاً وذلك بالضغط على الرابط List Settings في قائمة الروابط أعلى الصفحة حيث تفتح صفحة إعدادات القائمة وهي مشابهة لصفحة إعدادات القائمة في الإصدار Microsoft Office SharePoint Server 2007:


    الآن اضغط على اسم العمود Title لتفتح صفحة جديدة تمكنك من تعديل معلومات هذا العمود كما يلي:

    • اسم العمود: FirstName
    • وصف العمود: First name
    • الطول الأعظمي لقيمة هذا العمود: 15
    • باقي القيم اتركها كما هي.
    • بعد إدخال المعلومات المطلوبة اضغط على الزر OK لإنشاء العمود.

بعد تنفيذ الخطوات السابقة نكون قد أتممنا عملية إنشاء قائمة جديدة اسمها Names تحتوي على 3 أعمدة (FirstName, FamilyName, Email) ويمكن الآن تجربة إضافة عنصر جديد في هذه القائمة.

الخميس، 15 أكتوبر 2009

ربط قواعد بيانات أوراكل مع SharePoint BDC باستخدام الدخول الموحد SSO

من الميزات الهامة الموجودة في Microsoft Office SharePoint 2007 هو فهارس بيانات الأعمال Business Data Catalog أو مايسمى بـ BDC والتي يمكن استخدامها لفهرسة بيانات مخزنة خارجية فو قواعد بيانات مختلفة مثل أوراكل Oracle وذلك لتفعيل عملية البحث عن هذه البيانات باستخدام ميزة البحث في MOSS 2007, ولكن من أجل استخدام الـ BDC لفهرسة معلومات موجودة في قواعد بيانات أوراكل يجب استخدام خدمة الـ Single Sign On Service (SSO) والتي تتيح الاتصال بقاعدة بيانات أوراكل, وبعدها يمكن فهرسة البيانات الموجودة في جداول Tables أو مشاهد Views قاعدة بيانات أوراكل.

خطوات تفعيل خدمة الدخول الموحد في MOSS 2007

أولاً. يجب تشغيل خدمة الدخول الموحد SSO Windows Service حيث أنها بالشكل الافتراضي تكون بالوضع Stopped وطريقة التشغيل Manual, لذلك يجب تشغيلها من خلال لوحة التحكم Control Panel – أدوات الإدارة Administrative Tools – خدمات Services, وبعدهت ابحث عن الخدمة Microsoft Single Sign-on Service وشغلها وحول طريقة التشغيل إلى Automatic لكي تعمل الخدمة بشكل تلقائي في حال إعادة تشغيل المخدم الذي يستضيف هذه الخدمة. وحساب المستخدم الذي يجب تعيينه لتشغيل هذه الخدمة يجب أن يحقق الشروط التالية:

  • حساب نطاق Domain Account.
  • SharePoint Products and Technologies server farm account.
  • عضو في المجموعة Administrators على أول مخدم يتم تشغيل الخدمة عليه.
  • عضو في المجموعة Security Administrators والمجموعة DB creator على المخدم الذي يستضيف الـ MS SQL Server.

بعد تشغيل الخدمة Single Sign-on Service أنت جاهز الآن لإكمال الإعدادات على MOSS 2007, والآن افتح SharePoint 3.0 Central Administration من قائمة ابدأ Start وبعدها اختر كل البرامج All Programs وبعدها Microsoft Office Server. بعدها اضغط على العنصر Operations ومن ثم اختر الرابط Manage settings for single sign-on من القسم Security Configuration.



ملاحظة: يجب تشغيل الـ SharePoint 3.0 Central Administration على نفس الجهاز الذي تعمل عليه الخدمة Microsoft Single Sign-on Service وإلا ستظهر رسالة خطأ عند محاولة إجراء تهيئة لخدمة الدخول الموحد.

بعد الضغط على الرابط Manage settings for single sign-on تظهر الشاشة التالية (شاشة رقم 1):



بعدها اضغط على الرابط Manager server settings حيث أن بقية الروابط تكون غير مفعلة لأول مرة, عندها تظهر الشاشة التالية:




بعد تعبئة البيانات السابقة اضغط على زر OK وبعدها تظهر الشاشة رقم 1 مرة أخرى:



الآن اضغط على الرابط Manage settings for enterprise application definitions لتظهر الشاشة التالية التي من خلالها يمكن تعريف طريقة الاتصال بقاعدة بيانات أوراكل والمعلومات اللازمة لعملية الاتصال كما في الشكل التالي:



في الحقل Display name يمكن إدخال قيمة ما ذات معنى تعبر عن الهدف من هذا التعريف, أما في الحقل Application name أدخل القيمة BDC-ORACLE (مثلاً) فالمعلومات التي سيتم إدخالها تمثل قيمة SsoApplicationID في الـ BDC ولا يمكن تغييرها بعد ذلك, أما في الحقل Account type اختر القيمة Individual. الحقل Field1 أدخل القيمة Username وفي الحقل Field2 أدخل القيمة Password, وبعدها اضغط الزر OK لحفظ المدخلات السابقة.

بعد ذلك ارجع إلى الشاشة رقم 1 واختر الرابط Manage account information for enterprise application definitions لتظهر الشاشة التالية:


أدخل المعلومات السابقة واختر Update account information وبعدها اضغط الزر Set لتظهر الشاشة التالية:


في الحقل Username أدخل اسم المستخدم في قاعدة بيانات أوراكل الذي لديه صلاحيات القراءة من الجداول والمشاهد Views التي تريد القراءة منها, وفي الحقل Password أدخل كلمة المرور لاسم المستخدم, وبعدها اضغط على الزر OK.

بوصولك إلى هذه المرحلة تكون قد انتهيت من تهيئة خدمة الدخول الموحد SSO للاتصال بقاعدة البيانات أوراكل, والآن يجب توليد ملف Application Definition File لاستخدامه في عملية فهرسة البيانات باسخدام الـ BDC. ويمكن استخدام عدة برامج لتنفيذ هذه العملية ولعل أشهر برنامج هو MetaMan, بعد توليد الملف يجب تغيير المعلومات التالية:

  • AuthenticationMode = RdbCredentials
  • DatabaseAccessProvider = Oracle
  • RdbConnection Data Source = "اسم الخدمة التي تستخدمها للاتصال بأوراكل"
  • RdbConnection Pooling = False
  • SsoApplicatio= nId = BDC-ORACLE (تعتمد على القيمة التي أدخلتها في Application Name)
  • WildcardCharacter = %
  • حذف القيمة RdbConnection Integrated Security
  • حذف القيمة RdbConnection Password
  • حذف القيمة RdbConnection User ID

الآن ارفع الملف الذي تم توليده بعد التعديل باستخدام ميزة Import application definition, بعد ذلك يجب إنشاء Content Source يستخدم Business Data Catalog كمصدر للبيانات.

متطلبات لعمل الخطوات السابقة بشكل صحيح:

  • التأكد من سماحيات المستخدم الذي يشغل خدمة Single sign-on.
  • التأكد من صلاحية المستخدم المتصل بقاعدة بيانات أوراكل.
  • تحميل Oracle Client على المخدم الذي سينفذ عملية الفهرسة وإلا لن تتم عملية الاتصال بقاعدة البيانات بشكل صحيح.

الأربعاء، 23 سبتمبر 2009

رأيي الشخصي في مسلسل باب الحارة

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

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

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

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

وشكراً

المهندس إسماعيل عنجريني

الأربعاء، 16 سبتمبر 2009

الفلسفة البرمجية

اليوم قرأت مقالة عن الفلسفة التقنية أثارت مابداخلي من أفكار فلسفية برمجية, وهذا تعليقي وردي على هذه المقالة:
لا شك بأن الإنسان كلما ازداد علماً ازداد جهلاً, والفلسفة التقنية هي فلسفة قائمة على نظرة متجردة إلى ماحوله من العلوم التقنية, ولو خصصنا أكثر لوجدنا بأن البرمجة بحد ذاتها هي فلسفة لا يشعر بها إلا من بدأت تصبح البرمجة جزء من حياته اليومية, في البيت ومكان العمل وحتى وهو يمشي في الشارع ويقود السيارة وينتظر الآخرين, هذه الفلسفة تجعلك تواقاً للبرمجة أكثر من ذي قبل لأن من مبادئ تعلم علوم الفلسفة هو أنك يجب أن تتعلم المزيد وإلا فإنك ستقف عند نقطة تشعرك بأن الفلسفة لا معنى لها وطبعاً هذا مبدأ عام ينطبق على الفلسفة البرمجية لأنك إن توقفت عند مجال معين في البرمجة فلا شك بأنك ستنظر إلى المجالات الأخرى من البرمجة أي الجزء الآخر من الفلسفة على أنه غير مهم وهنا تبدأ خطورة التوقف عن التعلم البرمجي, ولاشك بأن فلسفة البرمجة تتوسع لتشمل مجالات عديدة في عالم البرمجة, لأن البرمجة ليس فقط كتابة شيفرة لفعل شيء معين, وإنما هي أيضاً مايجب عمله لبناء واجهات صديقة للمستخدمين سواء على الإنترنت أو على تطبيقات سطح المكتب فهنا تبرز فلسفة أعمق وهي فلسفة البقاء للبرامج التي ولا شك تبنى على مايقدمه أي برنامج أو موقع من فائدة ومدى سهولة استخدام أو الوصول إلى هذه الفائدة, وهذا مانراه في في مواقع شهيرة مثل Yahoo, MSN, Facebook... طبعاً موضوع الفلسفة البرمجية يطول.
لكن فيما يتعلق بنقطة "أنَّ مجتمع المبرمجين هو أكثر المجتمعات عطاءًا دون انتظار المقابل" هو أمر فيه نظر, لأن أي إنسان يعمل بلا هدف أو مقابل ينتظره فلن يعمل أو على الأقل لن يتقن ما يعمله, أي أن المبرمجين (يجب أن نعلم بأن المبرمج ليس أي شخص يكتب شيفرة ما) ينتظرون مقابلاً لعملهم سواء مادي أم معنوي, دنيوي أو أخروي, ولا شك بأن المبرمج يفرح عندما يرى نظامه يعمل لأول مرة لأن (وهذا كلام أثبته العلم) المبرمجين الذي يقضون جل حياتهم ووقتهم في العمل البرمجي تبدأ نظرتهم إلى الأنظمة تختلف بل يبدؤون يشعرون بأنها كائنات حية يجب الاعتناء بها وتربيتها وتعليمها ماهو الصحيح وماهو الخطأ وكيف يجب أن تعيش في عالم البقاء فيه للأقوى, ومن هذا المنطلق فإن أي مبرمج الذي هو جزء من مجتمع المبرمجين يجب أن ينتظر مقابلاً لعمله وإلا فإن شعوره وإحساسه بما يعمل سيتلاشى تدريجياً ويصبح عمله عبئاً عليه أن يتحمله كل يوم, فالأصل في فعل الانتظار هو تحفيزنا والنظر إلى مستقبل قريب أو حتى مستقبل بعيد وهذا بحد ذاته يعطينا أمل بأن ما ننتظهر يستحق أن نعمل لأجله لأنه في حال قدومه يجب أن نكون مستعدين لاستقباله بالشكل المناسب, وما ينتظره المبرمج هو نجاح نظامه الذي يعمل عليه بغض النظر عن طبيعة النجاح, فهذا النجاح هو بداية حياة هذا النظام وكأنه مولود جديد أنجبه أبوه ;) وليس أمه وهذا كاف ليشعرنا بحنان نحو أنظمتنا وأعمالنا تدفعنا إلى إتقانها وإبقائها حية قدر ما نستطيع بل ونعطيها جزءاً من حياتنا البرمجية, وشخصياً أرى بأني لن أعمل عملاً برمجياً بدون مقابل بغض النظر عن المقابل بحد ذاته. وأخيراً أقول لمجتمع المبرمجين المقابل هو بث الحياة في عروق نظام ينتظر الولادة والقدوم إلى هذه الحياة فلا تبخسوا هذا المقابل حقه
وشكراً

الجمعة، 4 سبتمبر 2009

إضافة لتحديد طول النص في العنصر textarea

إضافة لتحديد طول النص في العنصر textarea

هذه الإضافة على مكتبة jQuery الهدف منها هو منع المستخدم من إدخال محارف أكبر من طول معين في حقل نصي متعدد الأسطر أو ما يعرف بـ TextArea HTML Control وهذا هو الإصدار الأول من هذه الإضافة وقد توجد بعض الحالات التي لم تتم معالجتها, وستتم معالجتها في حال وجود أي ثغرة في الإصدارات التالية.
كيف تستخدم هذه الإضافة

1 - إضافة السطر التالي بعد تضمين مكتبة jQuery:


<script src="jquery.textarea.js" type="text/javascript"></script>


2 - استدعاء التابع checkTextAreaLength بتمرير الإعدادات التالية:
- textId: قيمة الخاصية id للحقل النصي textarea الذي يجب تحديد عدد المحارف المدخلة فيه.
- spanId: قيمة الخاصية id لعنصر span الذي ستعرض فيه عدد الأحرف التي تمت كتابتها في الحقل النصي المشار إليه في textId.
- maxLength: عدد المحارف الأعظمي التي يستطيع المستخدم كتابتها في الحقل النصي textId, والقيمة الافتراضية تساوي 255.

حقوق الاستخدام

هذه الإضافة متاحة للإستخدام العام بشرط المحافظة على الترويسة في بداية شيفرة الإضافة, والإضارة إلى كاتب هذه الإضافة.

3 - اضغط هنا لتحميل مثال عن كيفية استخدام هذه الإضافة