‏إظهار الرسائل ذات التسميات شيربوينت 2010. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات شيربوينت 2010. إظهار كافة الرسائل

الثلاثاء، 29 يناير 2013

حذف نوع محتوى من موقع شيربوينت 2010



لحذف نوع المحتوى Content Type يمكن اتباع الخطوات التالية:
1. من إجراءات الموقع Site Actions اختر إعدادات الموقع Site Settings.
2. تحت قسم معارض Galleries اختر أنواع محتويات الموقع Site Content types.
3. اضغط على اسم نوع المحتوى الذي تريد حذفه

في حال أن نوع المحتوى الذي تريد حذفه مستخدم ضمن أي موقع عندها ستظهر الرسالة التالية

نوع المحتوى مستخدم
The content type is in use

طبعاً شبه مستحيل معرفة جميع العناصر التي تستخدم نوع المحتوى من خلال تصفح الموقع. ولكن يمكن تنفيذ ذلك بتنفيذ استعلام على قاعدة بيانات المحتوى Content Database لمعرفة مسار القوائم والعناصر التي تستخدم نوع المحتوى كما يلي:

SELECT CTU.SiteId, AW.FullUrl, AL.tp_Title
FROM ContentTypeUsage CTU inner join dbo.AllLists AL on CTU.ListId = AL.tp_ID  inner join dbo.AllWebs AW on AL.tp_WebId = AW.Id
WHERE (sys.fn_varbintohexstr(ContentTypeId) LIKE 'CONTENT_TYPE_ID%')

حيث يتم عرض مسار القائمة التي تستخدم نوع المحتوى الذي تريد حذفه.

ملاحظة: عند حذف عنصر من قائمة قد يتم نقله إلى سلة المحذوفات في حال أنها مفعلة, لذلك عند إعادة محاولة حذف نوع المحتوى ستظهر نفس الرسالة. لذلك يجب التأكد من حذف العنصر من سلة المحذوفات Recycle Bin أيضاً.


الاثنين، 28 يناير 2013

أداة لنقل إعدادات البحث من بيئة شيربوينت 2010 إلى بيئة شيربوينت 2010



يمكن باستخدام الأداة Search Migration Tool نقل إعدادات البحث من Search Service Application ضمن بيئة عمل شيربوينت 2010 إلى Search Service Application أخرى ضمن نفس البيئة أو في بيئة عمل أخرى

ويمكن تحميل هذه الأداة من الرابط التالي:


وقد تمت إضافة ميزة نقل الخصائص المدارة Managed Properties أيضاً من قبل أحد المحترفين على الرابط التالي:



الأربعاء، 9 يناير 2013

بطء شديد في موقع شيربوينت بسبب مشاكل في عناصر التنقل



بعد تثبيت التحديث August 2012 لشيربوينت 2010 قد تظهر إحدى الأخطاء التالية

SharePoint 2010 publishing site quick launch items randomly duplicating

An unexpected error occured while manipulating the navigational structure of this Web

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

لحل هذه المشكلة يوصى بتنفيذ ما يلي:
1 - تحميل آخر تحديث لشيربوينت 2010 علماً أن مايكروسوفت لم تعلن صراحة في التحديث December 2012 بأن المشكلة هذه قد تم حلها لذلك فإن تحميل هذا التحديث لن يحل المشكلة , ولكن يجب دائماً تحميل آخر تحديث لشيربوينت 2010.
2 - من أجل معرفة الموقع الذي تظهر فيه المشكلة هنا يجب أن نلجأ لمنفذ سطر الأوامر PowerShell حيث يمكن من خلاله الوصول إلى عناصر التنقل إلى أي موقع حتى في حال وجود المشكلة السابق. وللوصول إلى عناصر التنقل لأي موقع فرعي يجب تنفيذ الشيفرة التالية:

$web = Get-SPWeb http://SITE_URL/SUB_SITE_URL;
$publishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web);
$webNavigation = $publishingWeb.Navigation.CurrentNavigationNodes;

حيث أن المتغير $webNavigation يحتوي على جميع عناصر التنقل للموقع, ولمعرفة العنصر المكرر نفذ الشيفرة التالية:

for($i = $webNavigation.Count - 1; $i -ge 0; $i--)
{
Write-Host $$webNavigation[$i].Title " " $$webNavigation[$i].Url;
}

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

$repeatedNode = $webNavigation | where { $_.url -eq "RELATIVE_URL_PROBLEM" }
for($i = $repeatedNode.Count - 1; $i -ge 0; $i--)
{
$repeatedNode[$i].Delete();
}

$web.Dispose();

استمتع


الثلاثاء، 1 يناير 2013

خطأ عند اختيار "إعدادات الصفحة" عند الترقية من شيربوينت 2007 إلى 2010



بعد الترقية من شيربوينت 2007 إلى شيربوينت 2010 يظهر خطأ له علاقة بصفحات النشر عند محاولة الدخول إلى صفحة "إعدادات الصفحة", يظهر خطأ يشير إلى أن مخطط الصفحة الحالي Page Layout غير موجود والسبب هو أن مسار ملف مخطط الصفحة Page Layout ما زال يشير إلى بيئة العمل القديمة. والحل لهذه المشكلة هي اتباع الخطوات التالية:

1. تحميل SharePoint 2010 Server Cmdlets (x86, x64) من الرابط التالي:


2. تثبيت Lapointe.SharePoint2010.Automation.wsp من خلال موقع الإدارة المركزي Central Administration Web Site.
3. تنفيذ الأمر التالي على سطر الأوامر PowerShell:

stsadm –o gl-fixpublishingpagespagelayouturl –url "http://YOUR_URL/" -scope webapplication -pagelayout "http://OLD_URL/_catalogs/masterpage/WelcomeLinks.aspx, /_catalogs/masterpage/WelcomeLinks.aspx"

4. طبعاً الأمر السابق يمكن استبدال webapplication بأحد الخيارات التالية:
- Site
- Web
- Page

طبعاً هذه المشكلة إحدى الثغرات عند الترقية من 2007 إلى 2010, وقد لا يحدث في بعض بيئات العمل.


الثلاثاء، 25 ديسمبر 2012

حل مشكلة إعدادات الذاكرة المخبئية Object Cache في شيربوينت 2010



عند إنشاء تطبيق ويب Web Application جديد على شيربوينت 2010 ستلاحظ ظهور التحذير التالي في سجلات ويندوز

Object Cache: The super reader account utilized by the cache does not have sufficient permissions to SharePoint

databases.
To configure the account use the following command 'stsadm -o setproperty -propertyname portalsuperreaderaccount

-propertyvalue account -url webappurl'. It should be configured to be an account that has Read access to the

SharePoint databases.
Additional Data:
Current default super reader account: NT AUTHORITY\LOCAL SERVICE

لحل هذه المشكلة يجب اتباع الخطوات التالية:
1 - افتح موقع الإدارة المركزي Central Administration
2 - من المجموعة Application Management اختر Manage web applications
3 - حدد تطبيق الويب الذي يسبب المشكلة السابقة
4 - من أيقونة شريط الأدوات العلوي اختر User Policy
5 - اضغط على Add Users ومن ثم التالي Next
6 - أضف مستخدم مع الصلاحية تحكم كامل Full Control
7 - أضف مستخدماً آخر مع الصلاحية Full Read
8 - نفذ الأوامر التالي باستخدام سطر الأوامر PowerShell

كود:
$wa = Get-SPWebApplication “http://WEB_APPLICATION_URL"
$wa.Properties["portalsuperuseraccount"] = "اسم المستخدم كما يظهر في شاشة User Policy تماماً"
$wa.Properties["portalsuperuseraccount"] = "اسم المستخدم كما يظهر في شاشة User Policy تماماً"
$wa.Update()
في حال تريد إلغاء استخدام الإعدادات السابقة استخدم الأوامر التالية:

كود:
$wa = Get-SPWebApplication “http://WEB_APPLICATION_URL"
$wa.Properties.Remove("portalsuperuseraccount")
$wa.Properties.Remove("portalsuperreaderaccount")
$wa.Update()


الثلاثاء، 18 ديسمبر 2012

المحافظة على شكل شيربوينت 2007 عند الترقية إلى شيربوينت 2010



بعد تنفيذ عملية الترقية من شيربوينت 2007 إلى 2010, أكثر شيء يجب أن تقلق بشأنه هو التصميم حيث أن الانتقال إلى طريقة عرض وستايلات وتصاميم 2010 قد يكلف الكثير من العمل! لكن ماذا لو أن العميل يريد أن تبقى واجهات وطريقة
  • عرض الصفحات وإجراءات الموقع وكيفية إضافة أجزاء الويب على حالها بعد الترقية أي بنفس الشكل, لتنفيذ ذلك اتبع الخطوات التالية:
  • 1 - لا تنفذ الترقية الظاهرية من صفحة إعدادات الموقع
  • 2 - عند إنشاء موقع جديد تحت بيئة عمل شيربوينت 2010 الجديدة عندها سيتم استخدام الإصدار 4 لشكل الموقع الجديد حتى لو لم يتم تنفيذ الترقية الظاهرية Visual Upgrade, ولحل هذه النقطة التي قد تكون مشكلة لأنك ستضطر عندها لترقية الصفحة الرئيسية Master Page للموقع من 2007 إلى 2010 أو إنشاء صفحة رئيسية Master Page إصدار 2010 خاصة بالمواقع الجديدة. لكن يوجد حل بسيط وهو بإعادة تهيئة إصدار الموقع الجديد إلى 2007 بتنفيذ الأمر التالي على سطر الأوامر PowerShell:


$web = Get-SPWeb http://WEB_SITE_URL
$web.UIVersion = 3
$web.UIVersionConfigurationEnabled = $true
$web.Update()
ويجب الانتباه إلى أن الأمر السابق يتم تنفيذه على مستوى الموقع SPWeb وليس على مستوى مجموعة المواقع Site Collection


الاثنين، 8 أكتوبر 2012

حل مشكلة صلاحية الوصول إلى موقع على شيربوينت من خلال خدمة البحث


Access is denied. Verify that either the Default Content Access Account has access to this repository, or add a crawl rule to crawl this repository. If the repository being crawled is a SharePoint repository, verify that the account you are using has "Full Read" permissions on the SharePoint Web Application being crawled.

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

الحل الأول:
يعتمد الحل الأول التعديل على مسجل ويندوز باتباع الخطوات التالية:
  1. أنشئ قيمة جديدة من النوع DWORD 32 اسمه DisableLoopbackCheck وقيمته تساوي 1 تحت السجل HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro  l\Lsa
  2. في بعض الأحيان قد تضطر لإعادة تشغيل الخادم
  3. يجب تنفيذ هذا التعديل على جميع خوادم شيربوينت


الحل الثاني:
  • يعتمد الحل الثاني على تعديل الملف hosts تحت المسار C:\Windows\System32\drivers\etc وذلك بإضافة الرقم IP الخاص بالخادم بالضيغة التالية:

SERVER_IP       SERVER_NAME


  • قد تضطر إجراء التعديل على جميع خوادم شيربوينت


  • الحل الثالث:
    يجب التأكد من أن المستخدم الافتراضي المستخدم لفهرسة البيانات لديه صلاحية Full Read على البيانات التي ستتم فهرستها, وتتم هذه العملية باتباع الخطوات التالية:
    • من موفع الإدارة المركزي Central Administration اختر Manage Service Application
    • اضغط على اسم خدمة البحث
    • ابحث عن القيمة Default content access account لمعرفة اسم المستخدم الافتراضي المستخدم لفهرسة البيانات
    • يمكن تغيير اسم المستخدم بالضغط عليه
    • يجب أن يكون لهذا المستخدم صلاحية Full Read


    الجمعة، 13 يوليو 2012

    تثبيت شيربوينت 2010 على Windows Server 8


    مقدمة
    مع إصدار مايكروسوفت لإصدار جديد من نظام التشغيل ويندوز المخصص للخوادم Servers, توجب علينا محاولة تثبيت شيربوينت 2010 على هذا الإصدار الجديد وهو Windows Server 8. وقد تبين أثناء عملية التثبيت وجود عدة مشاكل تواجه عملية التثبيت, وفي هذه المقالة سنبين كيفية تجاوز هذه المشاكل وتثبيت شيربوينت 2010 على Windows Server 8 بشكل ناجح.

    متطلبات تثبيت شيربوينت 2010
    كما نعلم بأنه قبل تثبيت شيربوينت 2010 على أي إصدار من إصدارات نظام التشغيل ويندوز يجب أولاً تثبيت المتطلبات المسبقة لشيربوينت 2010 SharePoint Server 2010 Prerequisites, ولكن بسبب بيئة عمل Windows Server 8 الجديدة فإن هذه العملية تفشل, لذلك سيتم استخدام ملف PowerShell اسمه Configure-WinSvr8BetaForSP2010.ps1 ويمكن تحميله من الرابط التالي:

    http://gallery.technet.microsoft.com...0-and-dee17600

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

    Set-ExecutionPolicy RemoteSigned

    بعد ذلك يجب تنفيذ الملف السابق الذي ينفذ الخطوات التالية:

    • تثبيت كل الـ Roles/Features اللازمة لعمل شيربوينت 2010.
    • تثبيت Windows Identity Framework.
    • تثبيت .NET Framework 3.5 و .NET Framework 3.5 SP1.
    • تغيير منصة العمل الافتراضية لـ Default App Pool من 4.0 إلى 2.0.
    • تحميل ملفات المتطلبات المسبقة من الإنترنت.
    • تثبيت ملفات المتطلبات المسبقة على بيئة العمل.


    ملاحظة: تنفيذ الملف السابق يتطلب وجود إنترنت على الخادم لتحميل ملفات المتطلبات المسبقة من الإنترنت.

    محاكاة الملف ServerManagerCMD.exe
    قبل أن يبدأ ملف تثبيت شيربوينت 2010 بالعمل يبحث عن الملف ServerManagerCMD.exe ضمن المسار التالي:

    c:\windows\system32

    وينتظر أن يعيد إليه القيمة 1003كنتيجة لتنفيذه بحيث يتأكد ملف تثبيت شيربوينت 2010 من أن بيئة العمل جاهزة لتثبيت شيربوينت 2010, وبما أن هذا الملف غير موجود مع Windows Server 8 النسخة التجريبية, لذلك يجب إنشاء هذا الملف ونسخه تحت المسار المطلوب. ولتوفير هذا الملف يجب إنشاء Console Application وكتابة الكود التالي:

    static void Main(string[] args)
    {
    System.Environment.ExitCode = 1003;
    }

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


    الخميس، 26 أبريل 2012

    طلب تسجيل الدخول عند الضغط على ملف اكسل 2010 في شيربوينت 2010


    عند محاولة تحميل ملف اكسل 2010 يحمل الامتداد xlsx ضمن شيربوينت 2010, يُطلب من المستخدم تسجيل الدخول للحصول لتحميل الملف, طبعاً الملف متاح للتحميل من قبل المستخدمين الغير مسجلين أي متاح لجميع زوار الموقع.

    كيف يتم حل المشكلة
    افتح الملف serverfilesExcelServer.xml من المسار التالي على جميع خوادم بيئة عمل شيربوينت 2010:

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

    احذف السطر التالي أو ضعه ضمن إشارة تعليق comment:

    <Mapping FileExtension="xlsx" RedirectUrlTemplate="/_layouts/xlviewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate="/_layouts/xlviewer.aspx?new=1"/>

    تأكد من تنفيذ iisreset على جميع الخوادم.

    الجمعة، 6 أبريل 2012

    تثبيت شيربوينت 2010 بدون خدمات المجلد النشط


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

    تثبيت شيربوينت 2010
    إن تثبيت الملفات الثنائية Binaries لخادم شيربوينت 2010 على خادم بدون استخدام المجلد النشط لا يختلف في حال استخدام المجلد النشط وخطوات تثبيت خادم شيربوينت 2010 هي ذاتها كما يلي:












    ومن ثم يتم تثبيت الملفات الثنائية للغة العربية 2. SharePoint Server 2010 Arabic Language Pack حيث يمكن الحصول عليه من الرابط التالي:


    وإلى تاريخ كتابة هذه المقالة فإن حزمة آخر تعديلات متوفرة لخادم شيربوينت 2010 هي SharePoint Server 2010 cumulative update package (SharePoint server-package): March 7, 2012 ويمكن الحصول عليها من الرابط التالي:


    بعد تثبيت جميع البرمجيات المطلوبة لخادم شيربوينت 2010, يجب التأكد من تثبيت خادم قواعد البيانات وذلك للبدء بتنفيذ عملية ضبط إعدادات خادم شيربوينت 2010.

    ضبط إعدادات خادم شيربوينت 2010
    عادة يتم تشغيل الأداة Configures SharePoint Products and Technologies. لضبط إعدادات خادم شيربوينت 2010 وذلك في حال وجود خادم للمجلد النشط Active Directory, لكن بما أنه في حالتنا هذا الخادم غير متوفر فيجب استخدام سطر الأوامر Power Shell لضبط إعدادات خادم الشيربوينت, وسنبدأ بعملية إنشاء قاعدة بيانات إعدادات بيئة عمل شيربوينت 2010 كما يلي:

    كود PHP:
    New-SPConfigurationDatabase -DatabaseName "CONFIG_DB_NAME" -DatabaseServer "DB_SERVER" -Passphrase (ConvertTo-SecureString "PASS_PHRASE" -AsPlainText -force) -FarmCredentials (Get-Credential
    يجب تنفيذ الأمر السابق باستخدام الأداة SharePoint 2010 Management Shell, حيث يجب الانتباه إلى القيم التالية:

    • CONFIG_DB_NAME: هو اسم قاعدة البيانات التي ستحتوي على إعدادات بيئة عمل شيربوينت 2010.
    • DB_SERVER: اسم خادم قواعد البيانات مثل MachineName\sql2008.
    • PASS_PHRASE: كلمة السر التي يجب إدخالها في كل مرة يتم فيها ضم خادم جديد إلى بيئة عمل شيربوينت 2010.


    عند تنفيذ الأمر السابق ستظهر شاشة مشابهة للشكل التالي:


    حيث يجب إدخال اسم المستخدم الذي تم إنشاؤه على الجهاز المحلي وكلمة المرور الخاصة به, حيث سيتم استخدامه للاتصال بقواعد البيانات, لذلك يجب التأكد من أن هذا المستخدم لديه الصلاحية المناسبة للاتصال بخادم قواعد البيانات وإنشاء قاعدة بيانات جديدة. بعد إدخال بيانات المستخدم اللازمة, سيتم إنشاء قاعدة إعدادات بيئة عمل شيربوينت 2010 مع إنشاء قاعدة البيانات الخاصة بموقع الإدارة المركزي Central Administration. بعد الانتهاء من تنفيذ الأمر السابق بنجاح يجب الآن الانتقال إلى الخطوة التالية وهي تشغيل الأداة Configures SharePoint Products and Technologies.

    تشغيل الأداة Configures SharePoint Products and Technologies
    بعد الانتهاء من تنفيذ الخطوة السابقة بنجاح يجب تشغيل الأداة Configures SharePoint Products and Technologies وذلك لإنهاء عملية ضبط إعدادات خادم شيربوينت 2010. وبعد تشغيل الأداة يجب تحديد رقم المنفذ Port الذي سيعمل عليه موقع الإدارة المركزي:




    بعد تنفيذ الخطوة الأخيرة سيتم ضبط إعدادات بيئة عمل شيربوينت 2010 بشكل كامل, وسيكون شيربوينت 2010 جاهز للاستخدام.

    إضافة حساب مدار Managed Account
    لاعتبارات لها علاقة بالأمان وتطبيق الممارسات الأفضل في بيئة عمل شيربوينت 2010, يُنصح باستخدام حسابات مستخدمين مختلفة لتشغيل الخدمات المختلفة في شيربوينت 2010, وقد وفرت بيئة عمل شيربوينت 2010 إمكانية إضافة ما يُسمى حساباً مداراً Managed Account وذلك من خلال اتباع الخطوات التالية:

    • افتح موقع الإدارة المركزي Central Administration.
    • من القائمة اليسرى اختر Security.
    • من المجموعة General Security اختر Configure managed accounts.
    • اضغط على الرابط Register Managed Account .
    • أدخل المعلومات المطلوبة في الشاشة التالية:



    بعد إدخال المعلومات المطلوبة اضغط OK عندها سيظهر الخطأ التالي:

    The specified user USER_NAME is a local account. Local accounts should only be used in standalone mode.

    والسبب هو أنك يمكن إضافة حساباً مداراً من خلال هذه الشاشة فقط في حالة وجود خادم للمجلد النشط أو تم تثبيت الشيربوينت من خلال النمط Standalone, ولحل هذه المشكلة يمكن تنفيذ الأمر التالي في الأداة SharePoint 2010 Management Shell:

    كود PHP:
    $ma Get-Credential MachineName\UserName 
    عندها ستظهر الشاشة التالية حيث يجب إدخال كلمة المرور الخاصة بالمستخدم:


    ومن ثم نفذ الأمر التالي مباشرة:

    كود PHP:
    New-SPManagedAccount -Credential $ma 
    بعدها سيتم تسجيل المستخدم الجديد على أنه حساب مدار Managed Account ويمكن استخدامه لتشغيل خدمات شيربوينت 2010.

    الخميس، 5 أبريل 2012

    أين تجد القيمة الأصلية لـ قيمة العنصر MachineKey


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

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken

    تخزن في قاعدة بيانات إعدادات بيئة عمل شيربوينت 2010 في الجدول Objects, ومن خلال تنفيذ الاستعلام التالي ستجد القيمة الأصلية للعنصر machinekey:

    كود HTML:
    SELECT     Id, ClassId, ParentId, Name, Status, Version, Properties
    FROM         Objects WHERE     (Properties LIKE '%YOUR_KEY%')
    طبعاً يجب استبدال القيمة YOUR_KEY بالقيمة المخزنة في الملف web.config ضمن العنصر machinekey.

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

    لعل الموضوع القادم يكون عن كيفية تغيير هذه القيمة بالشكل الصحيح وعدم تطبيق الحل الذي قدمناه في الموضوع السابق.

    الاثنين، 2 أبريل 2012

    مشكلة تغيير قيمة العنصر MachineKey في الملف web.config


    إحدى خطوات تفعيل نماذج المصادقة Forms Based Authentication على شيربوينت 2010 هي تحديد قيمة العنصر machinekey في الملف web.config للتطبيق الخاص بك, وتغيير أو إضافة قيم العنصر machinekey في الملف web.config للخدمة Security Token Service تحت المسار التالي:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken

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

    An exception occurred when trying to issue security token: The security token username and password could not be validated.

    طبعاً هذا الخطأ يوضح بأن معلومات الدخول مثل اسم المستخدم أو كلمة المرور خطأ أو الاثنين هما خطأ, لكن غالباً نكون متأكدين من معلومات الدخول, إذا ما السبب؟

    بعد بحث طويل تبين بأن قيمة العنصر machinekey للخدمة Security Token Service تحت المسار التالي:

    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken

    أعد القيمة المتغيرة إلى القيمة القديمة التي تم تعيينها في بداية ضبط إعدادات نماذج المصادقة, عندها سيعود كل شيء للعمل بشكل صحيح, ويمكنك الآن تسجيل دخول على الموقع بشكل ناجح مرة أخرى, لكن تبين أن عملية دخول تعود لتفشل مرة أخرى في اليوم التالي! بسبب تغير قيمة العنصر machinekey في الملف web.config السابق!, إذا ما لذي يغير هذه القيمة.

    تبين بعد بعض تنفيذ عمليات البحث بأن هناك مهمة يتم تنفيذها كل يوم ضمن مهام شيربوينت 2010 المجدولة تغير هذه القيمة, ولإيقاف عملية تغيير هذه القيمة يجب اتباع الخطوات التالية:

    1. افتح موقع الإدارة المركزية Central Administration.
    2. اضغط على الرابط Monitoring في القائمة اليسرى.
    3. من المجموعة Health Analyzer اختر الرابط Review rule definitions.
    4. تحت التصنيف Configuration ابحث عن القاعدة التالية:
    Web.config files are not identical on all machines in the farm.
    5. اضغط على Edit Item وألغي تحديد الخيار Repair Automatically واضغط حفظ.

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

    استمتع :)

    الأربعاء، 28 مارس 2012

    تثبيت شيربوينت 2010 على Windows Server 8


    طبعاً بعد فترة سينتشر Windows Server 8 بشكل كبير وسيبدأ العملاء باستخدامه لذلك يجب معرفة ماهي المشاكل التي ستظهر عند تثبيت شيربوينت 2010. وفيما يلي سرد مختصر لهذه المشاكل:


    • يجب تثبيت المتطلبات المسبقة Prerequisites الخاصة بشيربوينت 2010 بشكل يدوي نظراً لأن شاشة تثبيت شيربوينت 2010 لا تعمل حتى تاريخ كتابة هذا الموضوع على Windows Server 8.
    • بعد تثبيت المتطلبات المسبقة يجب تشغيل ملف تثبيت شيربوينت 2010, والذي يعمل على التأكد من أن الوظائف والميزات Roles & Features المطلوبة قد تم تثبيتها على نظام التشغيل, لكن هذه العملية تفشل بشكل كامل وذلك لأن شيربوينت 2010 يعتمد على تطبيق اسمه ServerManagerCmd.exe الذي ما عاد موجوداً في Windows Server 8. وهناك طريقة لتجاوز هذه المشكلة سيتم شرحها في مقالة منفصلة.
    • بعد النجاح في تثبيت شيربوينت 2010, ستظهر مشكلة أخرى تتعلق بتثبيت موقع الإدارة المركزي Central Administration, وهذه المشكلة سببها وجود تضارب في الملف web.config بسبب الإعدادات الافتراضية لـ IIS8. وهذا التضارب يجب حله بشكل يدوي ومن ثم إعادة تشغيل Configures SharePoint Products and Technologies لتثبيت موقع الإدارة المركزي.
    • بعد تثبيت موقع الإدارة المركزي Central Administration يجب ضبط جميع المواقع المرتبطة بشيربوينت 2010 بحيث تعمل على ASP.NET 2.0 وذلك لأن الإعدادات الافتراضية لـ IIS8 هي ASP.NET 4.0.


    سيتم تخصيص موضوع كامل لتثبيت شيربوينت 2010 على Windows Server 8 بالتفصيل.

    الجمعة، 16 مارس 2012

    لا يمكن إكمال البحث لأنه لم يتم تعيين هذا الموقع إلى مفهرس



    في بعض الأحيان قد يظهر الخطأ التالي في صفحة نتائج البحث:

    لا يمكن إكمال البحث لأنه لم يتم تعيين هذا الموقع إلى مفهرس. اتصل بالمسؤول للحصول على المزيد من المعلومات

    أو

    Your search cannot be completed because this site is not assigned to an indexer. Contact your administrator for more information

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

    1. من موقع الإدارة المركزي Central Administration اضغط على Application Management.
    2. من المجموعة Service Applications اختر Manager services on server.
    3. تأكد أن حالة الخدمة SharePoint Foundation Search هي Started, وإلا فاضغط على Start لبدء هذه الخدمة.
    4. الآن ارجع إلى الصفح الرئيسية لموقع الإدارة المركزي واختر Manage content databases.
    5. تأكد من اختيار تطبيق الويب الذي يظهر فيه الخطأ من القائمة في الطرف الأيمن.
    6. اضغط على اسم قاعدة البيانات المرتبطة بتطبيق الويب ومن ثم ابحث عن الخيار "Select Microsoft SharePoint Foundation search server", واختر من القائمة المنسدلة أحد الخوادم المتوفر, ومن ثم اضغط OK.


    الثلاثاء، 13 مارس 2012

    إيقاف ميزة التحويل إلى نسخة الموبايل في شيربوينت 2010



    إيقاف ميزة التحويل إلى نسخة الموبايل في شيربوينت 2010

    عند تصفح موقع شيربوينت 2010 من خلال جهاز محمول يتم تحويل المستخدم إلى صفحة خاصة بإصدار الموبايل في شيربوينت 2010 ولإلغاء هذه العملية, اتبع الخطوات التالية:
    افتح الملف web.config للتطبيق الخاص بموقعك.
    ابحث عن العنصر <browserCaps>
    أضف العنصر <filter>isMobileDevice=false</filter> ضمن العنصر السابق

    كود HTML:
    <browserCaps>
          <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
          <filter>isMobileDevice=false</filter>
        </browserCaps>
    جرب الآن


    الاثنين، 7 نوفمبر 2011

    حزمة تعديلات أكتوبر 2011 لشيربوينت 2010

    تم إصدار جديد من حزمة تعديلات شيربوينت 2010, ويمكن تحميله من الرابط التالي http://support.microsoft.com/kb/2596505

    خطوات تثبيت حزمة تعديلات أكتوبر 2011:
    1. يجب أولاً تنفيذ الخطوات في الرابط التالي. باستثناء الخطوة رقم 7.
    2. ثبت حزمة تعديلات أكتوبر 2011 على جميع خوادم بيئة عمل شيربوينت 2010.
    3. أعد تشغيل الخادم بعد تثبيت حزمة تعديلات أكتوبر وقبل تشغيل Configuration Wizard.
    4. شغل Configuration Wizard أولاً على الخادم الذي يستضيف موقع الإدارة المركزي Central Administration.
    5. شغل Configuration Wizard على بقية الخوادم في حال نجاح الخطوة السابقة.

    الثلاثاء، 25 أكتوبر 2011

    تغيير اسم خادم قواعد بيانات لبيئة شيربوينت 2010

    تغيير اسم خادم قواعد بيانات الذي يعمل عليه شيربوينت 2010
    في أحد المشاريع التي نعمل عليها حدثت مشكلة على خادم قواعد البيانات المستخدم لاستضافة قواعد البيانات الخاصة ببيئة عمل شيربوينت 2010, مما اضطرنا إلى إعادة تثبيت خادم قواعد البيانات, وأثناء ذلك تم تغيير اسم خادم قواعد البيانات SQL Server instance name بدون أن ننتبه إلى الاسم القديم, حيث كان الاسم القديم هو:
    sqlcluster\MS2008
    وتم تثبيته باسم جديد هو:
    sqlcluster\sql2008
    وعند محاولة إعادة تشغيل بيئة عمل شيربوينت 2010 على خادم قواعد البيانات الجديد, ظهرت الرسالة التالية:
    Cannot connect to the configuration database.
    والسبب هو أن بيئة عمل شيربوينت 2010 تتصل باستخدام الاسم القديم sqlcluster\MS2008.

    كيف يتم حل هذه المشكلة
    تم حل هذه المشكلة بإنشاء اسم مستعار للاتصال بخادم قواعد البيانات الجديد, والاسم المستعار Alias name هو نفسه الاسم القديم لخادم قواعد البيانات sqlcluster\MS2008.

    الجمعة، 21 أكتوبر 2011

    خدمة اتصال البيانات - 09

    مرشح تحديد عدد العناصر الكلي Limit Filter
    يُستخدم مرشح تحديد عدد العناصر الكلي لإرجاع عدد محدد من السجلات من مصدر البيانات, وذلك يساهم في التأكد من عمل نوع المحتوى الخارجي بطريقة لا تؤثر على أداء النظام بشكل عام. ويمكن إضافة هذا المرشح باتباع نفس خطوات إضافة أي مرشح آخر من خلال SharePoint Designer 2010 لكن مع اختلاف في اختيار نوع المرشح في الشاشة التالية:


    وبعد تنفيذ الشاشة السابقة يجب تحديد عدد العناصر الكلي التي سيتم عرضها بناء على تطبيق هذا المرشح, وفي مثالنا سيتم تحديد فقط 2 (عنصرين):


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

    مرشح الصفحات Page Number Filter
    يُستخدم هذا المرشح لتقسيم البيانات التي يتم عرضها من مصدر البيانات وفي مثالنا هو MS SQL Server إلى عدة صفحات, ويمكن إضافة هذا المرشح باتباع نفس خطوات إضافة أي مرشح آخر من خلال SharePoint Designer 2010 لكن مع اختلاف في اختيار نوع المرشح في الشاشة التالية:

    • Filter Type: يجب تحديد الخيار Page Number.
    • Filter Field: باعتبار أن هذا النوع من المرشحات لا يطبق على أي حقل فلا داعي لتحديد اسم الحقل.
    • Page Size: تحدد هذه القيمة عدد السجلات التي سيتم عرضها في كل صفحة, وفي مثالنا السابق سيتم عرض سجل واحد في كل صفحة.
    • Order: من خلال هذه القيمة يمكن تحديد طريقة ترتيب السجلات التي سيتم عرضها, حيث يمكن ترتيبها تصاعدياً أو تنازلياً بناء على المفتاح الرئيسي لمصدر البيانات.


    مرشح الاستبدال Wildcard Filter
    يُستخدم مرشح الاستبدال Wildcard Filter مع الحقول ذات القيم النصية وذلك لتوفير عملية البحث ضمن القيم النصية, ويمكن إضافة هذا المرشح باتباع نفس خطوات إضافة أي مرشح آخر من خلال SharePoint Designer 2010 لكن مع اختلاف في اختيار نوع المرشح في الشاشة التالية:



    والشاشة التالية تبين كيفية استخدام هذا المرشح للبحث ضمن سجلات مصدر البيانات:

    خدمة اتصال البيانات - 08

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

    مرشح المقارنة Comparison Filter
    مرشح المقارنة Comparison Filter يعني توفير طريقة للمقارنة بين قيمتين, القيمة الأولى يتم إدخالها من قبل المستخدم والقيمة الثانية مخزنة في مصدر البيانات وفي مثالنا مخزنة في قاعدة بيانات MS SQL Server. وأنواع المقارنات المتوفرة هي:
    • Equals, ويعني قيمة تساوي قيمة أخرى.
    • Not Equal, ويعني قيمة لا تساوي قيمة أخرى.
    • Less Than, ويعني أن القيمة المخزنة في مصدر البيانات أصغر من القيمة المُدخلة من قبل المستخدم.
    • Greater Than, ويعني أن القيمة المخزنة في مصدر البيانات أكبر من القيمة المُدخلة من قبل المستخدم.
    • Less Than or Equals, ويعني أن القيمة المخزنة في مصدر البيانات أصغر أو تساوي القيمة المُدخلة من قبل المستخدم.
    • Greater Than or Equals, ويعني أن القيمة المخزنة في مصدر البيانات أكبر أو تساوي القيمة المُدخلة من قبل المستخدم.

    ملاحظة: يمكن إضافة مرشح Filter المقارنة لأي نوع من البيانات لكن يجب على المطور الجيد الانتباه إلى أن إضافة بعض أنواع المقارنات لبعض أنواع البيانات غير مجدي, مثلاً لا معنى لإضافة مرشح مقارنة Less Than (أصغر من) لقيمة نصية, حيث سيعمل المرشح بالشكل الصحيح ولكن لا استخدام حقيقي له.
    في الخطوات التالية سيتم إضافة مرشح مقارنة بالاعتماد على نوع المحتويات الخارجي SharePoint4ArabECT الذي يعتمد على الجدول Employees. وسيتم استخدام SharePoint Designer 2010 لتنفيذ هذه الخطوات, حيث سيتم في الخطوات التالي إضافة مرشح مقارنة لرقم الموظف EmployeeID:

















    • New Filter: هو اسم للمرشح ويفضل استخدام اسم يعبر بشكل واضح عن وظيفة المرشح.
    • Filter Type: هو نوع المرشح الذي سيتم استخدامه وهنا اخترنا مرشح المقارنة Comparison.
    • Operator: ويظهر هذا الحقل فقط مع مرشح المقارنة Comparison, وهنا اخترنا Equals والذي يعني أن القيمة المدخلة من قبل المستخدم يجب أن تتساوى مع القيمة المخزنة في مصدر البيانات لكي تظهر نتائج في البحث.
    • Filter Field: اسم الحقل الذي ستطبق عليه شروط المقارنة, وهنا تم اختيار الحقل EmployeeID.
    • Ignore filter if Value is: ويفيد هذا الخيار بتجاهل القيمة التي يدخلها المستخدم وعدم أخذها بعين الاعتبار عن تنفيذ عملية البحث, وتوفر ما يلي:
    • Null: أي لا يتم تطبيق مرشح المقارنة في حال أن المستخدم لم يدخل أي قيمة.
    • Custom value: يتم تجاهل القيمة التي أدخلها المستخدم ولا تدخل في عملية البحث في حال أنها تساوي قيمة ما, فمثلاً يمكن تحديد القيمة "1" لكي يتم تجاهل القيمة المدخلة من قبل المستخدم في حال أنها تساوي "1".
    • Is Default: في حال تحديد هذا الخيار فإن المرشح الذي يتم إنشاؤه الآن يكون المرشح الافتراضي الذي يظهر للمستخدم أثناء تنفيذ عملية البحث, ولا يمكن تحديد أكثر من مرشح افتراضي, وفي حال تحديد أكثر من مرشح افتراضي سيظهر خطأ عند محاول استخدام أي شاشة تحتوي على هذه المرشحات, علماً أن SharePoint Designer 2010 لا يمنعك من تحديد أكثر من مرشح على أنه افتراضي.
    • Use to create match list in external item picker: هذا الخيار يعني محاولة إظهار نتائج تتطابق مع البيانات المدخلة من قبل المستخدم للبحث حتى لو أن هذا التطابق ليس دقيق 100%. وغالباً ما يُستخدم هذا الخيار مع الحقول النصية.
    بعد تنفيذ الخطوات السابقة نكون قد أضفنا مرشح مقارنة للبحث باستخدام رقم الموظف EmployeeID والآن أكمل الخطوات التالية:


    تم إعطاء القيمة 0 للحقل Default Value وذلك لكي لا يتم عرض جميع المعلومات المخزنة في مصدر البيانات وهو الجدول Employees في مثالنا.


    ملاحظة: بالنسبة للخيار Show In Picker, يعني إظهار الحقل أو لا في شاشة البحث عن السجلات في مصدر البيانات, ويُفضل اختيار الحقول التي تريد عرضها, لأنه في حال عدم اختيار أي حقل فإن شيربوينت يعرض جميع الحقول المتوفرة وهذا قد يؤدي إلى عرض عدد كبير غير مرغوب به بالنسبة للمستخدم.
    بعد الانتهاء من تنفيذ الخطوات السابقة يمكن تجريب المرشح الذي تم إنشاؤه من خلال إما قائمة تعتمد على نوع المحتوى الخارجي SharePoint4ArabECT_Tasks أو باستخدام جزء الويب "عنصر بيانات الأعمال":


    يتم إدخال رقم الموظف ومن ثم الضغط على زر البحث, حيث يتم البحث عن السجل الذي قيمة الحقل EmployeeID هي ذاتها القيمة المدخلة في حقل البحث. وقد استخدمنا المعامل Equals لهذا المرشح, علماً أنه يمكن أيضاً استخدام أنواع أخرى من المعاملات مثل "أكبر من Greater Than" وغيرها.

    خدمة اتصال البيانات - 07

    جزء الويب - القائمة ذات الصلة ببيانات الأعمال
    مهمة جزء الويب "القائمة ذات الصلة ببيانات الأعمال" هي عرض بيانات من نوع محتوى خارجي مرتبط بنوع محتوى خارجي آخر, وفي مثالنا هذا تعتبر بيانات نوع المحتوى الخارجي الذي يعبر عن جدول المهام EmployeeTasks هي التي سيتم عرضها باستخدام جزء الويب هذا, حيث يعتبر ابن Child لنوع المحتوى الخارجي SharePoint4ArabECT الذي هو الأب Parent. ولتنفيذ ذلك اتبع الخطوات التالية:







    طبعاً الشاشة الأخيرة تعرض فقط أنواع المحتويات الخارجية التي تصنف على أنها أبناء Childes.





    والشكل الأخير يُظهر رسالة تطلب ربط جزء الويب الجديد مع جزء ويب "عنصر بيانات أعمال" يعرض سجلاً من النوع المحتوى الخارجي SharePoint4ArabECT والذي يمكن إضافته كما رأينا سابقاً بطريقتين, بعد إضافة جزء الويب المطلوب:



    نلاحظ من الخطوات السابقة كيفية عرض معلومات مرتبطة بمعلومات أخرى أو ما يُسمى Master Details.