28-09-12, 12:40 PM
بناء مكونات شيربوينت معينة
سوف نشرح في هذا القسم لمحة تطويرية عن اكثر مكونات الشيربوينت شيوعاً
تطوير Web Parts
هناك وعان من الWeb Parts يمكن انشاءهم في الفيجوال ستديو 2010 وهما :
- *ASP.NET Web Parts : والتي هي جديدة على SharePoint 2010 ومشتقة من System.Web.UI.WebControls.WebParts.WebPart
ويمكننا استعمالها خارج الشيربوينت في اي تطبيق ويب للASP.NET يعمل implement لها . ويوجد في الفيجوال ستديو 2010 مصمم لها .
ملاحظة : لا يمكن استعمال ASP.NET Web Parts في Sandbox Solutions .
- *SharePoint-based Web Parts : وهي كنترول مشتق من كلاس Microsoft.SharePoint.WebPartPages.WebPart
يمكن استعمال هذه الWeb Parts في مواقع الشيربوينت فقط ولا يوجد أي دعم للdesign لهذه الWeb Parts في الفيجوال ستديو 2010 . لكن يمكنك بناء التصميم في الكود عن طريق عمل override للmethods : CreateChildControls() أو Render().
يفضل دائماً استخدام ASP.NET Web Parts لتطوير Web Part جديد ولعمل ذلك نضغط بالزر الأيمن على الProject في الSolution Explorer ونختار Add وبعدها New Item ونختار Visual Web Part ونكتب اسم MyWebPart ونضغط على Add.
لاحظ أنه تم اضافة عدة ملفات للمشروع . يمثل الملف MyWebPart.cs (أو MyWebPart.vb اذا كنت تستعمل VB) هي نقطة الدخول للWeb Part وهو الكلاس الذي يتم عمل instance منه عندما يتم تحميل الWeb Part اثناء وقت التشغيل runtime.
ملفا Elements.xml و MyWebPart.webpart هما عبارة عن ملفات mainifest مبنية على XML والتي تقدم metadata للشيربوينت حول هذه الWeb Part . اما ملف MMyWebPartUserControl.ascx هو عبارة عن .NET user control يقدم UI للWeb Part وهو المكان الذي يجب عليك تعديل الlayout والwebcontrol والcode behind فيه اذا كان ذلك مطلوباً .
بعد أن تقوم بتصميم الWeb Part واضافة ما تريد له اعمل للمشروع build وrun وسوف يقوم الفيجوال ستديو بعمل package ونشر للWeb Part بشكل تلقائي إلى موقع الشيربوينت المحلي. يمكنك اضافة الWeb Parts إلى صفحة معينة في الشيربوينت عن طريق اختيار Site Actions *ومن ثم Edit Page ونضغط على الtab المسمى Insert وبعدها نختار Web Part من الشريط من اجل عرض قائمة الWeb Parts المتوفرة . بعد ذلك سوف يتم عرض الWeb Parts تحت مجلد Custom بالوضع الإفتراضي كما هو مبين بالصورة التالية:
ملاحظة : يمكنك تغيير المجلد الذي تظهر الWeb Parts تحته عن طريق تعديل ملف Elements.xml.
انشاء انواع المحتويات Content types والقوائم lists
تعتبر انواع المحتويات Content types والقوائم lists من كتل البناء الأساسية في الشيربوينت ويستخدما لعمل implement لعديد من المميزات features.
قم بانشاء نوع محتوى جديد Content type عن طريق الضغط بالزر الأيمن على الproject في الSolution Explorer ونختار Add وبعدها New Item ومن ثم نختار Content type .وندخل My Content Type كاسم واضغط Add .
نختار بعدها Task كنوع محتوى اساسي من ال SharePoint Customization Wizard حتى نشتق منه ثم نضغط على finish . سوف يقوم الفيجوال ستديو بانشاء نوع محتوى جديد Content type والذي هو ببساطة تعريف مبني بالXML لنوع المحتوى في ملف Elements.xml .
بعدها ننشأ حقل خاص *لكي يتم استخدامه من قبل نوع المحتوى الجديد عن طريق اختيار new Empty Element من صندوق Add New Item وندخل اسم owner ونضغط add . بعد ذلك نضيف سطر الXML التالي لملف Elements.xml (الذي تم انشاءه مسبقاً) ضمن <Elements> :
ملاحظة هامة : يجب على كل حقل ننشأه أن يحتوي على ID مناسب . يمكنك توليد GUID جديد ضمن الفيجوال ستديو عن طريق اختيار Tools ثم Create GUID .
نعود الان لملف Elements.xml للMyContentType ونضيف سطر XML التالي تحت <FieldRefs> :وبذلك يصبح حقل owner متوفر لنوع المحتوى الجديد Content Type .
بعديها ننشأ تعريف قائمة جديد SharePoint List Definition للContent Type عن طريق الضغط على Add New Item ونختار new List Definitions from Content Type ونسميه MyCustomTasksLists ونضغط Add وبعدها ستلاحظ أن الفيجوال ستديو سوف يعرض ال SharePoint Customization Wizard كما هو مبين في الصورة التالية:
ادخل display name وبعدها تأكد أنك اخترت MyContentType الذي انشأناه سابقاً من القائمة المنسدلة وايضاً تأكد أنك قد وضعت صح على add a list instance
نحتاج اخيراً لعمل customization للlist instance حتى يتم عرض عنوان مفيد لانه يكون ProjectName – ListInstanceName بالوضع الإفتراضي . نفتح ملف Elements.xml تحت مجلد الlist instance : Listinstance1 وعدل الattribute المسمى Title في XML وبعدها احفظ الملف واضغط F5 لبناء وتشغيل المشروع .
عندما يتم فتح موقع الشيربوينت سوف ترى قائمة list جديدة في العمود على يسار الصفحة الرئيسية . نضغط على القائمة list وبعدها نضغط على items tab ونضغط على زر New Item لعرض صندوق اضافة عنصر جديد كما هو موضع في الصورة التالية:
لاحظ أن الحقل الجديد موضوع في اسفل الصندوق .
ملاحظة: يمكنك تعديل جوانب عدة للقائمة list ومن ضمنها اي الحقول التي يجب أن تظهر في الشكل التلقائي عن طريق تعديل ملف تعريف القائمة list definition المسمى Schema.xml.
--------------------------------------------------------------------------------
سوف نشرح في هذا القسم لمحة تطويرية عن اكثر مكونات الشيربوينت شيوعاً
تطوير Web Parts
هناك وعان من الWeb Parts يمكن انشاءهم في الفيجوال ستديو 2010 وهما :
- *ASP.NET Web Parts : والتي هي جديدة على SharePoint 2010 ومشتقة من System.Web.UI.WebControls.WebParts.WebPart
ويمكننا استعمالها خارج الشيربوينت في اي تطبيق ويب للASP.NET يعمل implement لها . ويوجد في الفيجوال ستديو 2010 مصمم لها .
ملاحظة : لا يمكن استعمال ASP.NET Web Parts في Sandbox Solutions .
- *SharePoint-based Web Parts : وهي كنترول مشتق من كلاس Microsoft.SharePoint.WebPartPages.WebPart
يمكن استعمال هذه الWeb Parts في مواقع الشيربوينت فقط ولا يوجد أي دعم للdesign لهذه الWeb Parts في الفيجوال ستديو 2010 . لكن يمكنك بناء التصميم في الكود عن طريق عمل override للmethods : CreateChildControls() أو Render().
يفضل دائماً استخدام ASP.NET Web Parts لتطوير Web Part جديد ولعمل ذلك نضغط بالزر الأيمن على الProject في الSolution Explorer ونختار Add وبعدها New Item ونختار Visual Web Part ونكتب اسم MyWebPart ونضغط على Add.
لاحظ أنه تم اضافة عدة ملفات للمشروع . يمثل الملف MyWebPart.cs (أو MyWebPart.vb اذا كنت تستعمل VB) هي نقطة الدخول للWeb Part وهو الكلاس الذي يتم عمل instance منه عندما يتم تحميل الWeb Part اثناء وقت التشغيل runtime.
ملفا Elements.xml و MyWebPart.webpart هما عبارة عن ملفات mainifest مبنية على XML والتي تقدم metadata للشيربوينت حول هذه الWeb Part . اما ملف MMyWebPartUserControl.ascx هو عبارة عن .NET user control يقدم UI للWeb Part وهو المكان الذي يجب عليك تعديل الlayout والwebcontrol والcode behind فيه اذا كان ذلك مطلوباً .
بعد أن تقوم بتصميم الWeb Part واضافة ما تريد له اعمل للمشروع build وrun وسوف يقوم الفيجوال ستديو بعمل package ونشر للWeb Part بشكل تلقائي إلى موقع الشيربوينت المحلي. يمكنك اضافة الWeb Parts إلى صفحة معينة في الشيربوينت عن طريق اختيار Site Actions *ومن ثم Edit Page ونضغط على الtab المسمى Insert وبعدها نختار Web Part من الشريط من اجل عرض قائمة الWeb Parts المتوفرة . بعد ذلك سوف يتم عرض الWeb Parts تحت مجلد Custom بالوضع الإفتراضي كما هو مبين بالصورة التالية:
ملاحظة : يمكنك تغيير المجلد الذي تظهر الWeb Parts تحته عن طريق تعديل ملف Elements.xml.
انشاء انواع المحتويات Content types والقوائم lists
تعتبر انواع المحتويات Content types والقوائم lists من كتل البناء الأساسية في الشيربوينت ويستخدما لعمل implement لعديد من المميزات features.
قم بانشاء نوع محتوى جديد Content type عن طريق الضغط بالزر الأيمن على الproject في الSolution Explorer ونختار Add وبعدها New Item ومن ثم نختار Content type .وندخل My Content Type كاسم واضغط Add .
نختار بعدها Task كنوع محتوى اساسي من ال SharePoint Customization Wizard حتى نشتق منه ثم نضغط على finish . سوف يقوم الفيجوال ستديو بانشاء نوع محتوى جديد Content type والذي هو ببساطة تعريف مبني بالXML لنوع المحتوى في ملف Elements.xml .
بعدها ننشأ حقل خاص *لكي يتم استخدامه من قبل نوع المحتوى الجديد عن طريق اختيار new Empty Element من صندوق Add New Item وندخل اسم owner ونضغط add . بعد ذلك نضيف سطر الXML التالي لملف Elements.xml (الذي تم انشاءه مسبقاً) ضمن <Elements> :
إقتباس :<Field*ID=”{3BA8B2E2-4BEA-4305-ACD2-9511C5E45738}”
Type="User"
Name="Owner"
DisplayName="Task Owner">
</Field>
ملاحظة هامة : يجب على كل حقل ننشأه أن يحتوي على ID مناسب . يمكنك توليد GUID جديد ضمن الفيجوال ستديو عن طريق اختيار Tools ثم Create GUID .
نعود الان لملف Elements.xml للMyContentType ونضيف سطر XML التالي تحت <FieldRefs> :وبذلك يصبح حقل owner متوفر لنوع المحتوى الجديد Content Type .
إقتباس :<FieldRef*ID="{3BA8B2E2-4BEA-4305-ACD2-9511C5E45738}"*Name="Owner"/*>
بعديها ننشأ تعريف قائمة جديد SharePoint List Definition للContent Type عن طريق الضغط على Add New Item ونختار new List Definitions from Content Type ونسميه MyCustomTasksLists ونضغط Add وبعدها ستلاحظ أن الفيجوال ستديو سوف يعرض ال SharePoint Customization Wizard كما هو مبين في الصورة التالية:
ادخل display name وبعدها تأكد أنك اخترت MyContentType الذي انشأناه سابقاً من القائمة المنسدلة وايضاً تأكد أنك قد وضعت صح على add a list instance
نحتاج اخيراً لعمل customization للlist instance حتى يتم عرض عنوان مفيد لانه يكون ProjectName – ListInstanceName بالوضع الإفتراضي . نفتح ملف Elements.xml تحت مجلد الlist instance : Listinstance1 وعدل الattribute المسمى Title في XML وبعدها احفظ الملف واضغط F5 لبناء وتشغيل المشروع .
عندما يتم فتح موقع الشيربوينت سوف ترى قائمة list جديدة في العمود على يسار الصفحة الرئيسية . نضغط على القائمة list وبعدها نضغط على items tab ونضغط على زر New Item لعرض صندوق اضافة عنصر جديد كما هو موضع في الصورة التالية:
لاحظ أن الحقل الجديد موضوع في اسفل الصندوق .
ملاحظة: يمكنك تعديل جوانب عدة للقائمة list ومن ضمنها اي الحقول التي يجب أن تظهر في الشكل التلقائي عن طريق تعديل ملف تعريف القائمة list definition المسمى Schema.xml.
--------------------------------------------------------------------------------

