بعد تثبيت التحديث 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();

استمتع