الخميس، 7 أكتوبر 2010

كيف يتم تخصيص قالب "موقعي MySite" في شيربوينت 2010

في هذه المقالة سيتم سرد جميع عناصر قالب الموقع "موقعي MySite" في شيربوينت 2010 SharePoint مع مكان وجود كل عنصر من عناصر الموقع دون التطرق إلى كيفية التعديل عليها, وفي مقالة لاحقة سيتم التطرق إلى عمليات التخصيص بشكل مستفيض.

الجزء الأول هو الروابط التي تظهر في القسم العلوي من الموقع كما في الشكل التالي:




هذه الروابط يتم رسمها باستخدام عنصر اسمه MySiteTopNavigation.ascx موجود في المجلد ControlTemplates, وسيتم شرح كيفية التعديل على هذه الروابط وتغيير شكلها لاحقاً, ولكن يجب الانتباه إلى أنه من غير الصحيح التعديل على نفس العنصر لأن هذا سيؤثر على جميع المواقع في بيئة شيربوينت الحالية.
الجزء الثاني هو الصفحة الرئيسية Master Page, اسم هذه الصفحة هي mysite.master وهي موجودة على الموقع الجذري لتطبيق الويب الذي يستضيف خدمة "موقعي MySite", ويمكن إيجاد هذه الصفحة إما باستخدام SharePoint Designer 2010 أو على المسار التالي:



C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\FEATURES\MySiteLayouts


الجزء الثالث هي صفحة الترحيب default.aspx التي تظهر كصفحة افتراضية للموقع, وتعتبر هذه الصفحة جزء من قالب "موقعي MySite" واسم القالب هو SPSPERS حيث توجد الصفحة default.aspx.
الجزء الرابع هو العناصر التي تظهر في صفحة الترحيب default.aspx وهي كما يلي:
  • المستندات المشتركة Shared Documents.
  • المستندات الشخصية Personal Documents.
  • آخر مواضيع المدونة Recent Blog Posts.
وجميعها عبارة عن أجزاء ويب Web Parts يتم إدراجها في صفحة الترحيب كما يلي:
  • المستندات المشتركة Shared Documents تتم إضافتها من خلال الملف onet.xml الموجود ضمن القالب SPSPERS كما يلي:


    <View
    List="Shared Documents"
    BaseViewID="1"
    MobileView="TRUE"
    WebPartZoneID="MiddleLeftZone"
    WebPartOrder="1" />



  • المستندات الشخصية Personal Documents أيضاً تتم إضافها من خلال الملف onet.xml الموجود ضمن القالب SPSPERS كما يلي:

    <View
    List="Personal Documents"
    BaseViewID="1"
    MobileView="TRUE"
    WebPartZoneID="MiddleLeftZone"
    WebPartOrder="2" />



  • آخر مواضيع المدونة Recent Blog Posts تتم إضافتها من خلال الملف onet.xml الموجود ضمن القالب SPSPERS بعد التعليمة التالية:


    <AllUsersWebPart WebPartZoneID="MiddleRightZone" WebPartOrder="1">



الجزء الخامس هو القوائم التي يتم إنشاؤها بشكل افتراضي بعد إنشاء الموقع الشخصي مباشرة حيث يتم إنشاء القوائم التالية:
  • مكتبة المستندات الشخصية Personal Documents, يتم إنشاء هذه المكتبة من خلال الملف onet.xml الموجود ضمن القالب SPSPERS ضمن قسم Configurations.
  • مكتبة المستندات المشتركة Shared Documents, يتم إنشاء هذه المكتبة من خلال الملف onet.xml الموجود ضمن القالب SPSPERS ضمن قسم Configurations.
  • مكتبة الصور المشتركة Shared Pictures, يتم إنشاء هذه المكتبة من خلال الملف onet.xml الموجود ضمن القالب SPSPERS ضمن قسم Configurations.

السبت، 2 أكتوبر 2010

المنهج TryGetList في شيربوينت 2010 SharePoint



في شيربونيت 2007 كان الحصول على مرجع برمجي لأية قائمة يتم باستخدام SPWeb.Lists[“List Title”] وفي حال عدم وجود هذه القائمة في الموقع يظهر خطأ, أو يجب استخدام طريقة أخرى وهي باستخدام حلقة for للمرور على جميع القوائم في الموقع ومقارنة القيمة SPList.Title مع عنوان القائمة التي نريدها وكلن جميع هذه الطرق هي التفاف على مشكلة موجودة, في شيربوينت 2010 SharePoint تم إضافة منهج جديد اسمه TryGetList موجود ضمن SPWeb.Lists, وظيفة هذا المنهج هي إعادة مرجع برمجي للقائمة باستخدام عنوان القائمة في حالة أن القائمة موجودة وإلا تعيد القمية null.


الجمعة، 1 أكتوبر 2010

المطورون السوريون ... واقع وطموحات - استراتيجات – 3

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

الاستراتيجة الأولى – تكلم كثيراً عن الأمر

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

الاستراتيجية الثانية – تثقيف المطور السوري

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

في المقالة القادمة سنطرح استراتيجيات أخرى نعتمدها لترسيخ مهنة التطوير والبرمجة في سوريا, وسنبقى مثابرين عليها وعلى هدفنا في "المطورون السوريون" لمهنة أرقى وسوريا أفضل.

الخميس، 19 أغسطس 2010

خطأ عند تحميل شيربوينت 2010 على جهاز كان يحتوي على إصدار سابق من شيربونيت 2010



عند محاولة تحميل شيربونيت 2010 مرة أخرى على جهاز كان يحتوي على شيربونيت 2010 وخاصة في حال وجود Office Web Apps فإن رسالة الخطأ التالية تظهر ولا تستطيع تحميل شيربونيت 2010 على الخادم:


The install in progress conflicts with a previously installed Microsoft Office 2010 Server product

سبب ظهور هذه الرسالة هو أن التطبيقات المرتبطة بأوفيس 2010 Office Web Apps لا يتم حذفها بشكل كامل من خلال إضافة/إزالة البرامج Add\Remove Programs لذلك يجب استخدام الرابط التالي لتحميل الأداة المناسبة لحذف جميع ملفات Office Web Apps من الخادم بشكل صحيح:


حيث يوجد في أسفل الصفحة رابط لتحميل الأداة المناسبة حسب إصدار أوفيس, وبالنسبة لـ Office Web Apps يجب الضغط على الصورة التالية:





بعد تحميل الأداة المرفقة شغلها على خادم الشيربونيت وانتظر إلى أن تنتهي من تنفيذ عملها ثم حاول تحميل شيربونيت 2010 مرة أخرى.


الأربعاء، 4 أغسطس 2010

أول شهادة أحصل عليها في شيربوينت 2010







الجمعة، 9 يوليو 2010

شرح أنواع تطبيقات الهدف في خدمة التوثيق الآمن Target Application Type in Secure Store Service


كنا قد تحدثنا في مقالة سابقة عن وجود عدة أنواع للتطبيق الهدف Target Application وسنشرح بشكل مفصل في هذه المقالة النوعين Group و Individual حيث أنهما الأكثر استخداماً, وسنبدأ أولاً بالنوع Individual, عند اختيار قيمة الحقل Target Application Type إلى القيمة Individual كما في الشكل التالي:



فهذا يعني بأن كل مستخدم سيتصل إلى مصدر البيانات من خلال خدمة اتصال الأعمال يجب يستخدم اسم دخول وكلمة مرور عند محاولة الوصول إلى بيانات خارجية من خلال خدمة اتصال الأعمال, فبفرض أننا أنشأنا نوع محتوى خارجي يتصل بقاعدة بيانات من نوع SQL Server وحاول 3 مستخدمين الوصول إلى هذه البيانات من خلال مثلاً قائمة خارجية, فإن كل مستخدم يجب أن يدخل معلومات الاتصال (اسم دخول وكلمة مرور) بقاعدة البيانات وإلا فإنه لن يستطيع الوصول إلى المعلومات الموجودة في المصدر الخارجي وستظهر له رسالة كما في الشكل التالي:



وعند الضغط عليها يظهر نموذج لإدخال اسم الدخول وكلمة المرور كما يلي:



حيث ينبه هذا النموذج بأن معلومات الاتصال سيتم إرسالها من خلال نموذج غير محمي باستخدام HTTPS مع خيار للمتابعة وخيار آخر لإلغاء عملية الدخول, اضغط على "المتابعة إلى هذا الموقع":



الآن يجب الانتباه إلى أن معلومات المستخدم في النموذج السابق قد تكون اسم مستخدم موجودة في الجāلد النشط Active Directory ولديه صلاحيات على قاعدة البيانات عندها يستطيع المستخدم الوصول إلى البيانات, أو اسم مستخدم موجود في SQL Server نفسه, والسؤال هو متى نستخدم معلومات الدخول من الج لد النشط Active Directory ومتى نستخدم معلومات الدخول من SQL Server؟

الجواب يكمن في كيفية إعداد الاتصال مع مصدر البيانات عند إنشاء نوع محتوى خارجي باستخدام SharePoint Designer 2010 وبالأخص في الشاشة التالية:



فعند استخدام الخيار الأول عندها سيتم استخدام معلومات المستخدم الحالي الذي يطلب المعلومات لتوثيق الدخول إلى مصادر البيانات الخارجية (Connect with User’s Identity) وطبعاً هذه الطريقة لا ينصح باستخدامها, أما الخيار الثاني (Connect with Impersonated Windows Identity) فهي تعتمد على توثيق الدخول من خلال معلومات التوثيق التي تم إعدادها في مخزن التوثيق الآمن Secure Store Service ومن خلال إنشاء التطبيق الهدف Target Application ID حيث عند اختيار الخيار الثاني في النموذج السابق يتم تفعيل الحقل Secure Store Application ID, وفي حالتنا عند استخدام النوع Individual وظهور النموذج الذي يطلب معلومات الدخول عند طلب معلومات من مصادر البيانات الخارجية فيجب استخدام معلومات الدخول من الج لد النشط Active Directory, أي يجب إدخال معلومات الدخول في النموذج التالي بحيث أن اسم المستخدم يكون من الشكل domainName\UserName:



وعندما يدخل المستخدم معلومات الدخول بشكل صحيح ولديها الصلاحية للوصول إلى مصدر البيانات الخارجي عندها لن يتم سؤاله عن هذه المعلومات مرة ثانية عند زيارته للصفحة إلا إن تغيرت هذه المعلومات (تغيرت كلمة المرور – لم يعد للمستخدم صلاحيات على مصدر البيانات الخارجي).

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



حيث يدخل في الحقل Credential Owner اسم المستخدم وفي باقي الحقول يدخل معلومات المستخدم (اسم دخول وكلمة مرور) الذي لديه صلاحية الاتصال إلى مصدر البيانات الخارجي, لذلك فإن المستخدم الذي تم إدخال معلوماته في الحقل Credential Owners لن يحتاج إلى توثيق لمعلوماته عند طلب بيانات من مصادر خارجية لأن الإدارة أعطته هذه الصلاحيات مسبقاً. طبعاً نلاحظ بأن استخدام النوع Individual قد يكون مفيداً في بعض الحالات التي يُطلب فيها مراقبة العمليات التي قام بها كل مستخدم, لكنها غير عملية في معظم الحالات, لذلك يجب التخطيط بشكل صحيح قبل استخدام هذه النوع, وطبعاً النوع الأكثر استخداماً هو Group.


الخميس، 8 يوليو 2010

إنشاء تطبيق هدف لاستخدامه مع خدمة اتصال الأعمال Create Target Application ID


يستخدم تطبيق هدف Target Application لتوثيق الدخول إلى أحد الأنظمة وخاصة عند استخدام خدمة اتصال الأعمال BCS حيث يجب استخدام Target Application ID للاتصال يمصادر البيانات, ولإنشاء تطبيق هدف جديد اضغط على الزر جديد كما في الشكل التالي:



بعدها يظهر النموذج التالي:



املأ النموذج كما هو مبين أعلاه, ويجب ملاحظة أنه لا يمكن تغيير الحقل Target Application ID ولا يمكن تغيير الحقل Target Application Type.
ملاحظة: سنشرح وبالتفصيل الفرق بين القيمتين Individual و Group في الحقل Target Application Type في مقالة منفصلة.
ومن ثم اضغط Next ليظهر النموذج التالي:



حدد القيم في النموذج السابق كما هي ومن ثم اضغط Next ليظهر النموذج التالي:



في النموذج السابق يجب تحديد اسم المستخدم أو اسم الج موعة التي لديها تحكم كامل على التطبيق الذي نحن بصدد إنشائه, أدخل اسم المستخدم الخاص بك أو اسم مجموعة موجودة في الج لد النشط Active Directory ومن ثم اضغط OK لإنهاء عملية إنشاء التطبيق الجديد. بعد ذلك تظهر الشاشة التالية ومنها اختر Set Credentials كما يلي:



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



في الحقل Credential Owner أدخل اسم المستخدم الذي ستُعطى له الصلاحيات, أما في الحقول الأخرى أدخال معلومات المستخدم الذي لديه صلاحيات على مصدر البيانات الخارجي ولنفترض في مثالنا هو SQL Server.

ملاحظة: يمكن إدخال معلومات مستخدم من مستخدمي الجفلد النشط Active Directory أو معلومات مستخدم من مستخدمي SQL Server, وهذا يعتمد على كيفية استخدام Target Application ID عند استخدام SharePoint Designer 2010, وسيتم شرح هذه النقطة في مقالة منفصلة.

بعد تنفيذ جميع الخطوات السابقة أصبح التطبيق الهدف MyTestID جاهزاً للاستخدام مع خدمة اتصال الأعمال BCS.


الأربعاء، 7 يوليو 2010

مخزن التوثيق الآمن في شيربوينت 2010 Secure Store Service (SSS) in SharePoint


يعتبر مخزن التوثيق الآمن في شيربوينت 2010 أو Secure Store Service بديلاً عن خدمة الدخول الموحد SSO في شيروبنيت 2007, والهدف من هذه الخدمة هو تأمين توثيق بين شيربوينت وخاصة خدمة اتصال الأعمال Business Connectivity Service وبين مصادر البيانات الخارجية التي تحتاج إلى التوثيق للوصول إلى المعلومات المخزنة فيها, مثل MS SQL Server, خدمات الويب Web Services أو WCF, وأوراكل وغيرها من المصادر الأخرى, وهذه الخدمة مجرد وسيط بين خدمة اتصال الأعمال BCS ومصاردر البيانات الخارجية.
وهذه الخدمة مشتركة على مستوى مزرعة شيربوينت SharePoint Farm لذلك من أجل تفعيلها يجب التأكد من أن الخدمة Secure Store Service الموجودة في Central Administration – Application Management – Manage services on server كما في الشكل التالي:



في حال أنها موقفة يجب الضغط على Start لبدء تشغيلها. بعد ذلك يجب إنشاء تطبيق لخدمة مخزن التوثيق من Central Administration – Application Management – Manage Service Applications ومن ثم اختر الأمر New واختر Secure Store Service كما في الشكل التالي:



عندها سيظهر نموذج يشبه النموذج التالي:






طبعاً ككل الخدمات الأخرى يجب إنشاء قاعدة بيانات خاصة فيها, إضافة إلى تحديد Application Pool, إما موجود أو إنشاء جديد, ويفضل هنا استخدام Application Pool جديد واختيار حساب مُدار Managed Account غير معروف ولا يتم استخدامه في مكان آخر وذلك للحفاظ على سرية المعلومات التي يتم تشفيرها في قاعدة بيانات هذه الخدمة, بعد إنشاء تطبيق خدمة مخزن التوثيق الآمن يجب إعداد هذه الخدمة وذلك من خلال الضغط على اسمها, وفي أول مرة ستظهر رسالة تفيد بأنه يجب توليد مفتاح لهذه الخدمة, وهذا المفتاح يستخدم لتشفير البيانات التي تخزن في قاعدة بيانات هذه الخدمة, لذلك اضغط على الأمر "توليد مفتاح جديد Generate New Key" كما في الشكل التالي:



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



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


الثلاثاء، 6 يوليو 2010

مقالة ليست عن شيربوينت 2010


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

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

أتمنى أن تنضج أفكارنا كفاية لكي نستطيع أن نستخدم شيربوينت 2010, ولنفكر ونحن نستخدمه بنفس الطريقة التي فكر بها أصحاب الفعل وليكن فعلنا مساو لفعلهم وفي نفس الاتجاه لعل الطبيعة يظهر فيها قانون جديد اسمه "قانون شيربوينت 2010".


الاثنين، 5 يوليو 2010

إضافة دعم للبحث في ملفات أوفيس إلى شيربوينت 2010


في شيربوينت 2010 لا تتم فهرسة ملفات أوفيس بشكل افتراضي بعد تحميل شيربوينت 2010 SharePoint Server على المخدم, وحتى بعد تشغيل عملية الفهرسة لا تتم عملية فهرسة ملفات أوفيس, ولإضافة هذا الدعم يجب تحميل حزمة مايكروسوفت أوفيس 2010 فيلتر Microsoft Office 2010 Filter Packs من الرابط التالي:


بعد ذلك يجب تشغيل الملف على المخدم المسؤول عن عملية الفهرسة, وبعدها يجب تنفيذ عملية فهرسة كاملة Full Crawling للبيانات المراد البحث عنها, ومن ثم ابحث عن أي كلمة في ملفات أوفيس وستظهر في نتائج البحث, كما في الشكل التالي:




ملاحظة: لا تتم عملية فهرسة الملفات الموجودة في مكتبة المستندات الافتراضية "المستندات Documents" لذلك يجب إنشاء مكتبة أخرى وإضافة ملفات الأوفيس إليها, وحقيقة لا أعلم ماهو السبب وراء عدم فهرسة الملفات الموجودة في المكتبة الافتراضية.