السبت، 13 ديسمبر 2014

سلسلة شرح تطبيقات الخدمات (1) : تحليلات الشيربوينت 2013


1- مقدمة : 

لمن لم يتعامل مع تطبيق الخدمة SharePoint Search Analytics في نسخة 2010 افيدكم ان هذا التطبيق تم دمجه ضمن مكونات تطبيق البحث في نسخة شيربوينت 2013 نظرا لعلاقته الوثيقة بالبحث.
يوجد مكونين اساسيين للتحليلات في الشيربوينت 2013 :

- تحليلات البحث Search Analytics :  يعتمد هذا المكون بالاساس على ملفات ULS Logs لمعرفة "عن ماذا يبحث المستخدمون" ثم يستخرج هذا المكون تلك المعلومات و يحفظها في مجلد عمل "working folder". كما يقوم بتحليل المحتوى الذي في فهرس البحث (Search Index).
المسار الافتراضي لمجلدات العمل الخاصة بهذا المكون هو 

C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Analytics_c35af7f5-ace4-4f7f-92cb-9637a6f9b444\AE\AnalyticsProcessingComponent1\SearchAnalytics


اذا حاولت فتح احد الملفات التي في مجلد العمل ستجد انه غير قابل للقراءة لانه مضغوط و على شكل ثنائيات "Binaries"

- تحليلات الاستخدام Usage Analytics: يقوم المكون بتحليل سلوك المستخدم للشيربوينت. و تعتمد بالاساس على متجر الاحداث "event store" المسجل في خوادم الويب WFE و الذي تحفظ فيه نقرات المستخدمين على الملفات و دخولهم على المواقع.  ثم يستخرج هذا المكون تلك المعلومات و يحفظها في مجلد عمل "working folder ". كما يقوم بتحليل المحتوى الذي في فهرس البحث (Search Index).

C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Analytics_c35af7f5-ace4-4f7f-92cb-9637a6f9b444\AE\AnalyticsProcessingComponent1\UsageAnalytics

2 - ادارة التحليلات : 

لا يمكن ادارة مكون التحليلات الا من خلال PowerShell لانه لا توجد امكانية لعمل ذلك من خلال لوحة التحكم Central Admin. 
ولذلك اذا اردت التحكم الكامل في هذا المكون لابد من جلب جميع المكتبات االتالية الى جلسة الباورشل PowerShell Session : 



اما لمعرفة اعدادات تحليلات البحث قم بتنفيذ ما يلي:

Get-AnalysisConfiguration searchanalytics

ولتعرف اعدادات تحليلات الاستخدام قم بتنفيذ كود الباورشل التالي: 
Get-AnalysisConfiguration usageanalytics

ستلاحظ ان الخاصية المسؤولة عن استخراج الشيربوينت لتقارير التحليل كل 24 ساعة هي خاصية : ProcessingDate
يعتمد الشيربوينت في مكون تحليل الاستخدام على متابعة مجموعة من الاحداث اهما :
- View
- Recommendation display
- Recommendation Click
...
كما يمكنك انشاء عدد 12 حدث جديد غير التي يستخدمها الشيربوينت , فعلى سبيل اذا كنت تريد متابعة ثناء المستخدمين على الصفحة الرئيسية للانترانيت قم باضافة زر الى الشاشة وسمه " اعجبتني الصفحة" وفي حالة ضغط الزائر للصفحة عليه تقوم باستدعاء الحدث الذي انشأته سلفا من خلال اكواد جافاسكربت. وهكذا يصبح بامكانك استخراج تقارير احصائية بهذا الخصوص. كما ستلاحظ ان النقرات على ذلك الزر ستحفظ في ملفات Event Store كما في الصورة التالية :



3 -استخراج التقارير : 

هناك 3 طرق لاستخراج التقارير:
- تقارير جاهزة في الشيربوينت Out of the box reports
- تقارير باستخدام حلول PowerPivot مخصصة 
- تقارير مخصصة بالباورشل

بالنسبة للنوع الاول بالامكان الوصول اليه من خلال شاشة اعدادات الموقع Site Settings كما في الصور التالية 

* تحليلات الاستخدام :  


* تحليلات البحث : 



التقارير السابقة تكون على شكل ملفات اكسل مميزة تعرض حتى رسوم بيانية خاصة:




اترك لكم تجربة الانواع الاخرى من التقارير , طبعا كل حسب ميولاته :)
 لكن من باب التشويق اود اخباركم انه بالامكان الحصول على تقارير باستخدام الحلول البرمجية المعتمدة على PowePivot للوصول الى اجزاء ويب WebParts تعرض رسوم بيانات متقدمة جدا ...

الأربعاء، 3 ديسمبر 2014

سلسلة الاتمتة في ارض الشيربوينت (2) : استنساخ خادم الشيربوينت


كمدير للشيربوينت تحتاج ان لاتكرر الاعمال المتشابهة كما ذكرنا سابقا لان ذلك مرهق لك و مكلف للمؤسسة كما اشرت الى ذلك في موضوع سابق.
لذلك عندما تحتاج اضافة خوادم شيربوينت الى مزرعة موجودة او عندما تحتاج الى تجهيز خوادم افتراضية تعمل عليها فرق العمل على منصة الشيربوينت كالمبرمجين و المحللين و المديرين للشيربوينت ما عليك الا تجهيز نسخة واحدة لتقوم باستنساخها متى ما احتجت اليها .
لكن كيف ذلك؟
يتلخص الحل في الخطوات التالية : 
1- قم بانشاء الخادم الافتراضي الاول و امنح لحسابات التشغيلService Accounts  التي ستستخدمها الصلاحيات اللازمة عليه.
2- قم بتفعيل الانترنت على الخادم ان كان مسموحا بذلك في مؤسستك (هذه النقطة اختيارية)
3- قم باعداد الخادم من حيث تثبيت اخر تحديثات الامان windows security  
updates
4- قم بتثبيت Sql Server ان كنت ستستخدم الخادم كمزرعة كاملة بمفرده.
5- قم بتثبيت متطلبات تثبيت الشيربوينت SharePoint Prerequisites
6- هذه النقطة مهمة جدا من حيث الفهم : وهي ان تقوم بتثبيت الشيربوينت الى ان تصل الى الشاشة الاخيرة قبل تشغيل Configuration Wizard  وهي التالية


الغ علامة CheckBox التي بالاحمر ثم اضغط على "Close".
8- قم بتثبيت حزمة اللغات Language Pack الذي تحتاجه
7- قم باستنساخ الخادم "Clone the server" الى العدد الذي تحتاجه من الخوادم الاضافية  باستخدام الادواة المتاحة لديك ,مع مراعات تغيير اسم الجهاز  "Computer Name".
8- الان قم بالدخول على احد الخوادم المستنسخة , ستلاحظ انك تستطيع الدخول عليها بنفس الحسابات الاولى التي استخدمتها في الخادم الاول , كما ستجد كل الاعدادات التي جهزتها مسبقا.
9- ما عليك الان سوى اكمال عملية اعداد الشيربوينت من خلال تشغيل SharePoint Products Configuration Wizard لربطه بالمزرعة التي تريد:


لكن لسائل ان يسال لماذا نتوقف في الخطوة  -6- عن اكمال تثبيت الشيربوينت و لا نواصل عمل الاعدادات ؟ 
الجواب هو ان عملية الاعداد التي في الخطوة 9 تعتمد بشكل كبير على اسم الخادم خصوصا عندما يكون عليه sql server , لذلك فانك اذا حاولت الاستنساخ من خادم قد انهيت عليه مرحلة الاعداد, فان النسخة المستنسخة لن تعمل. اعني لن يعمل الشيربوينت على الخادم المستنسخ الجديد.
امل ان اكون قد افدت...


السبت، 22 نوفمبر 2014

سلسلة الاتمتة في ارض الشيربوينت (1) : القهوة الصباحية !



السلام عليكم
عنوان غريب شوي  :) 
المهم , نحن نعلم ان الروتين يعتبر من اكثر ما يزعج محترفي التقنية فالروتين و المهام المتكررة يوميا المتواصل لسنوات قد يقتل فينا الابداع و التفكير المتجدد. بالاضافة الى ان المهام المكررة تعتبر مكلفة للمؤسسات من حيث ساعات العمل.
لذلك نصيحتي لا تستسلم للروتين اليومي وحاول ان تصنع سكربتات تقوم بالاعمال الروتينية بدلا منك :) يعني بالعربي مثل الروبوت.
كمثال عن ذلك : ياتي محترف الشيربوينت الصباح ليبدأ مهامه بفحص سلجات الاحداث الخاصة بالشيربوينت : Event Logs For SharePoint. بالتالي فان المرور على كل تلك الاحداث و قراءة الجديدة منها يعتبر مهمة شاقة ... فما الحل ؟

الحل الذي يتمناه كل SharePoint Admin   هو يشرب قهوة ساخنة في حين يقوم النظام بعرض الاخطاء الجديدة فقط. 
لعمل هذا الامر نحتاج فقط تشغيل السكريبت التالي :


$date= (get-date).adddays(-1)
$errors= get-eventlog application -after $date -entrytype "Error" | ?{$_.source -match "SharePoint"}
$EGroup = $error | group InstanceID
$Code = $Egroup[0].name
$MSG = Get-Eventlog Application -InstanceID $code -Newest 1
write-host "There are Currently $($errors.count) SharePoint errors in the last 24 hrs"
write-host "Of witch the majority are error code:  $code and there have been $($Egroup[0].count) of these."
write-host "The error message is as follow $($msg.Message)"

كنتيجة لذلك سترى ان النظام سيعرض على شاشتك :
- عدد الاخطاء التي حدثت خلال الـ 24 ساعة الماضية 
- اكثر خطأ متكرر و الكود الخاص به
- رسالة الخطأ المتكرر


بل اكثر من ذلك بامكانك جعلك النظام يتكلم و يسمعك صوته بدلا من الكتابة على الشاشة , لن اكتب لك الكود هنا للتشويق لكن ساخبرك بالمكتبة الصوتية التي تستخدمها : SAPI.spVoice

اترك لكم التجربة ....

الثلاثاء، 4 نوفمبر 2014

سلسلة النسخ الاحتياطي و الاسترجاع : تصدير حزم الحلول WSP

بهذا السكربت السهل بامكانك تصدير جميع ما في المزرعة من حلول -SharePoint Solution Package - WSP تم رفعها على تطبيقات الويب لديك.
لانه لابد من اخذ نسخ احتياطية منها ضمن خطة النسخ الاحتياطي لاي مزرعة شيبروينت , طبعا يفضل ان يتم تنفيذ السكربت ضمن مهمة ويندوز مجدولة بحيث يتم ذلك اليا وفق الجدول الزمني الذي تحتاجه: كل يوم , كل اسبوع , كل شهر , او كل سنة اذا كان لا يهم ضياع عمل السنة السابقة :)

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue 
Get-SpSolution | forEach-Object {
$_.SolutionFile.SaveAs("c:\wspbackup\$($_.Name)")
}

لا تنس ان تختار مسار الحفظ المناسب لك...

الخميس، 30 أكتوبر 2014

منح صلاحيات باورشل لمستخدم على جميع قواعد بيانات المحتوى


اذا كنت تريد صلاحيات Power Shell Access لاحد المستخدمين لعمل اوامر على قواعد بيانات المحتوى ما عليك الا تنفيذ السكربت التالي

if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"})-eq $null)
{Add-PSSnapin Microsoft.SharePoint.PowerShell;}
cls
$username = Read-Host "Enter username";
Get-SPDatabase | ForEach-Object {Add-SPShellAdmin -UserName $username -database $_.Id}

الخميس، 23 أكتوبر 2014

سلسلة تقارير الباورشل : تقرير احجام قواعد بيانات المحتوى

هنا تقرير اخر لاحجام  "Content Databases Sizes". حيث يعرض قواعد بيانات المحتوى التي في المزرعة مع ذكر السعة Size التي استهلكها كل منها على مستوى خادم قواعد البيانات بالميجابايت MB.
لاكيد انه تقرير مهم جدا حيث يسمح بمتابعة الاحجام للمحافظة على احجام معقولة لقواعد البيانات حتى تبقى ضمن SharePoint Boundaries حسب ما يوضحه رابط تك نت التالي :

- Content Databases Limits - Software boundaries and limits for SharePoint 2013






Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue

# SHARED VARS
$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$date = get-date -format "yyyyMMdd"


#By DB
$filenameStart = "SizeByContentDatabase.csv"
$outfile = ("C:\Scripts_output\{0}_{1}.csv" -f $filenamestart, $timestamp)

$header = "Date,DBName,Size,SiteCollectionCount"
write-host $header 
$header | out-file $outfile

Start-SPassignment -global
$dblist = get-spcontentDatabase
foreach ($db in $dblist)
   #output the DB size 
   $size = $db.DisksizeRequired /1024/1024
   $dbname = $db.name
   $siteCount = $db.sites.count
   $line = "$date,$dbname,$size,$siteCount"
   

   write-host $line -foregroundcolor "yellow"
   $line | out-file $outfile -append 
}




سلسلة تقارير الباورشل : تقرير احجام مجموعات المواقع


استكمالا لسلسلة التقارير اعرض اليكم تقرير  احجام مجموعات المواقع "Site Collections Sizes". حيث يعرض كل مجموعات المواقع التي في المزرعة مع ذكر السعة Size التي استهلكها كل منها على مستوى خادم قواعد البيانات.
الاكيد انه تقرير مهم جدا حيث يسمح بمتابعة الاحجام للمحافظة على احجام معقولة لقواعد البيانات حتى تبقى ضمن SharePoint Boundaries حسب ما يوضحه رابط تك نت التالي :

Software boundaries and limits for SharePoint 2013 - Site Collections Limits

التقرير المستخرج يكون على هيئة ملف CSV كتالي و فيه الاحجام بالميجا بايت MB : 




Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$date = get-date -format "yyyyMMdd"
$filenameStart = "SizeBySiteCollection"
$outfile = ("C:\Scripts_output\{0}_{1}.csv" -f $filenamestart, $timestamp)

$WebappList = get-spwebapplication 

$header = "Date,SiteCollectionUrl,Size,DBName"
write-host $header 
$header | out-file $outfile

foreach ($WebApp in $WebAppList){
$sites = $webapp.sites
foreach ($site in $sites)
{
  $url = $site.url
   $size = $site.usage.storage /1024/1024
  $db = $site.contentdatabase.name
  
  $line = "$date,$url,$size,$db"
  write-host $line
  $line | out-file $outfile -append    
  Start-Sleep -Milliseconds 100 #give the server a small break between iterations
}
}



سلسلة تقارير الباورشل : تقرير المستخدمين و الصلاحيات


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








Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$filenameStart = "c:\scripts_output\AllFARMUsers"
$logfile = ("{0}_{1}.csv" -f $filenamestart, $timestamp)

$header = "type,user,group,weburl,webname"
$header | out-file -FilePath $logfile

$iissitelist = get-spwebapplication 
foreach($onesite in $iissitelist)
{

foreach ($SiteCollection in $onesite.sites)
{
write-host $SiteCollection -foregroundcolor Blue
foreach ($web in $SiteCollection.Allwebs)
write-host "    " $web.url $web.name "users:" -foregroundcolor yellow
# Write-host "        " $web.users | select name 
foreach ($userw in $web.users)
{
write-host "        " $userw -foregroundcolor white
#$msg = ("{0},{1} user:{2}" -f $web.url,$web.name, $userw)
$msg = ("RootUser,{0},-,{1},{2}" -f $userw, $web.url,$web.name) 
$msg | out-file -FilePath $logfile  -append
   
}


foreach ($group in $web.Groups)
{
Write-host "        " $web.url $group.name: -foregroundcolor green
foreach ($user in $group.users)
 Write-host "            " $user -foregroundcolor white
 #$msg = ("{0},{1},group:{2}, user:{3}" -f $web.url, $web.name, $group, $user)
 $msg = ("GroupUser,{0},{1},{2},{3}" -f $user, $group, $web.url, $web.name)
 $msg | out-file -FilePath $logfile  -append
}
}
$web.Dispose()
}
 
}
}


بقي ان تختبره بنفسك :)


الأحد، 19 أكتوبر 2014

اسهل طريقة لمعرفة قالب الموقع !

السلام عليكم
قد تكون هناك طرق عدة لمعرفة قالب موقع ما في الشيربوينت (Site Template) كأن يكون ذلك عن طريق عمل استعلام على قاعدة البيانات التي ينتمي اليها الموقع (تنصح مايكرسفت بالابتعاد عن الاستعلامات المباشرة لقواعد البيانات لانه يعمل Lock على الجداول الخاصة بالشير بوينت) او من خلال الاستفادة برمجيا من النموذج الشيئي للشيربوينت SharePoint Object Model لايتخراج المعلومة...
لكن في رأيي اسهل طريقة للوصول الى المطلوب هي فتح صفحة تنتمي للموقع ثم اضغط بالفارة يمين ثم عرض مصدر الصفحة (view page source)  و ابحث عن العبارة التالية : SiteTemplateID
كما هو موضح في الصورة :


ثم قم بالتعرف على نوع القالب من خلال الكود الخاص به بالرجوع الى جدول اكواد القوالب الذي قد تجده في مواقع كثيرة : 

لكن قد يسأل احدهم متى يمكن ان احتاج مثل هذا الاجراء؟
الجواب هو ان هناك ميزات في الشيربوينت لا يمكن تفعيلها على كل انواع المواقع بل لابد من قوالب محددة , على سبيل المثال لايمكن تفعيل ميزة : استراتيجية تنزيل الحد الأدنى او Minimal Download Strategy و هي تقنية تقدم تجربة تنقل ضمن الصفحات أسرع وأكثر سلاسة في صفحات وقوالب مواقع تعتمدها وذلك من خلال تنزيل وعرض أجزاء صفحة تتغير فقط.
و   يمكن تفعيل هذه التقنية  على الانواع التالية : موقع فريق , مدونة , موقع ويكي... لكن موقع النشرPublishing Site  يمنع تفعيلها بل ان تفعيلها على موقع النشر سيسبب مشاكل في الموقع ...


الثلاثاء، 14 أكتوبر 2014

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



منذ ايام حدث امر غريب في خوادم مزرعة الشيربوينت لدينا و احببت اشراككم الموضوع. 
لدينا خوادم شيربوينت تعمل بشكل طبيعي و توفر الخدمة  للمستخدمين الا ان احد الخوادم قام بتثبيت تحديث بشكل تلقائي (Automatic Updates).و للاسف كان التحديث هو التالي : 
Security Update for Microsoft Office SharePoint Enterprise Server 2013 (KB2880994) 64-Bit Edition
وكما هو واضح من اسم التحديث فانه متعلق بالشيربوينت 2013. حيث ان تفعيل التحديث التلقائي لنظام التشغيل يقوم "بدس" باتشات (patches) لها علاقة بالشيربوينت.
المهم صار التحديث على خادم واحد وطبعا لان خوادم الشيربوينت لم تعد بنفس المستوى من حيث التحديثات المثبتة فقد حصلت كل انواع المشاكل في المزرعة بسبب ذلك :(

المهم ما اردت ان انصح به هو ان لا تقوم ابدا بتفعيل التحديثات الالية في الخوادم ولكن قم بتحميل التحديثات و تثبيتها يدويا.
لمنع التحديثات الالية قم بالدخول على control panel > system and security > Turn automatic updates on or off
ستكون الشاشة التي تظهر لك كالاتية :

كما يمكن عمل ذلك من خلال سكربت الباورشيل التالي:
Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update' -Name AUOptions -Value "3"


هذا لا يعني اننا لا نقوم بتحديث نظام التشغيل بل على العكس لابد من عمل ذلك بشكل دوري وانصح باستخدام الاداة التالية من مايكرسفت لهذا الغرض :  Windows Server Update Services

HAPPY PATCHING  :)   



الأحد، 12 أكتوبر 2014

هاشتاج عن الشيربوينت



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

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

وحيث يعيش العالم حاليا تحولا هااائلا : وطفرة في التقنيات السحابية, في الموبايل و في الشبكات الاجتماعية.. جاءت النسخة 2013 من #SharePoint لتكون الجسر بين عصر الانفتاح على الانترنت و عصر تقنيات التواصل الحديثة و التقنيات السحابية...

نسخة 2013 من #SharePoint هي البداية لعصر معلوماتي جديد...

عصر ينتقل فيه #SharePoint من Site Centric Mode الى People Centric Mode

#SharePoint لم يعد فقط احدث و اقوى منتج لادارة محتوى المؤسسات بل اصبح اسلوب حياة لشريحة كبيرة من البشر حول العالم

مع مئات User Groups #SharePoint في مختلف بلدان العالم لعل اقربها لناRiyadh SharePoint User Group

يجتمعون كل شهر لتبادل افضل الممارسات في #SharePoint

الاف Most valuable professionals MVPs عبر العالم يحملون معهم اقوى المهارات في استخدام #SharePoint

عشرات Saturday Events #SharePoint تقام سنويا لمشاركة المعلومات بين المتخصصين و التعلم من خبرات الاخرين اخرها كان في القاهرة منذ ايام قليلة...

لماذا كل ذلك ؟ باختصار لان #SharePoint اصبح يمثل فعلا اسلوب العمل العصري    The New Way To Work Together  


الأحد، 29 يونيو 2014

تثبيت حزمة الخدمات Service Pack 1




ربما سمعتم بالضجة التي احدثها تحديث SharePoint Server 2013 SP1 الذي قامت مايكرسفت باتاحته على الانترنت ثم حذفه مرة اخرى لما كان فيه من مشكلات من اهمها ان من يقوم بتثبيت هذا التحديث لن يكون بامكانه تثبيت اي تحديث اخر بعده !!
ابشركم انه يوجد نسخة جديدة من SP1 بعد ان قامت الشركة باصلاح المشاكل التي فيها و هي متاحة في الرابط التالي : SharePoint Server 2013 SP1
كل المشاكل و الثغرات السابقة التي تم حلها في هذا التحديث موجودة في ملف الاكسل التالي :

لنقم الان بتثبيت التحديث لكن نصيحتي ان تقوم بعمل نسخ احتياطي لكامل المزرعة Full Farm Backup و ان تقوم باختبار التحديث على بيئة تطوير او اختبار قبل تثبيته على بيئة الانتاج Production Environment.

اولا : لسلامة مزرعتك قم بتثبيت التحديث اولا على الخادم المستضيف للوحة التحكم المركزي Central Administration قبل تثبيته على اي خادم اخر. يرجى التنبه ايضا الى تثبيت التحديث في كل خوادم المزرعة التي عليها SharePoint والا فانها لن تكون في الخدمة لاحقا.

ثانيا : قم بنسخ ملف التحديث على كل خادم شيربوينت ثم ابدء بعملية التثبيت 


اضغط على Continue  و استكمل التثبيت لتظهر لك نافذة التقدم التالية


ستختفي هذه النافذة و تظهر تلقائيا لذلك لا تقم بعمل اي انهاء للتثبيت الى حين تظهر لك النافذة التالية 


قد لا تظهر لك نافذة اعادة التشغيل السابقة لان ذلك مرتبط بالخادم المستضيف للشيربوينت لكن يفضل ان تقوم باعادة التشغيل حتى لو لم يطلب منك الخادم ذلك.
ستلاحظ من خلال لوحة التحكم المركزي ان قواعد بيانات الاعدادات SharePointConfig DB لم تحدث بعد و ان حالة الخوادم هي "Upgrade Required" كما هو موضح في الصورة التالية 


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

ثالثا : تشغيل معالج  SharePoint Products Configuration Wizard


لاتنس عمل الخطوات السابقة على جميع خوادم الشيربوينت التي في المزرعة.
عندما تنتهي العملية بنجاح ستلاحظ ان حالة الخوادم تغيرت لتصبح "No Action Required"
كما ستلاحظ ان Build Number لقواعد البيانات اصبح : 15.0.4569.1000
ارجو ان يكون الموضوع مفيدا لكم و كالعادة ارحب بجميع تعليقاتكم و استفساراتكم !


الأربعاء، 25 يونيو 2014

سلسلة تطبيق خدمة البحث Search Service Application - الجزء 1 - مكونات البحث

سوف نبدأ بعون الله في هذه السلسلة في الكلام عن احد اهم ميزات الشيربونت ككل و النسخة 2013 بالذات وهو Search Service Application.
في هذه السلسلة سنتناول مواضيع عدة من اهمها التعريف بمكونات البحث و التفاصيل الدقيقة لهيكل هذا التطبيق.
في هذا الجزء الاول اعرض عليكم اوامر PowerShell التي تسمح بعرض جميع المكونات الموجودة في المزرعة بعد ان قام المدير SharePoint Admin بالانتهاء من تثبيت مكونات البحث و توفيرها للاستخدام.


$ssa = Get-SPServiceApplication –Name "Search Service Application 1"
$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
Get-SPEnterpriseSearchComponent -SearchTopology $active


ستكون النتائج المعروضة مشابهة للشاشة التالية :


في الصورة السابقة نلاحظ سردا لجميع المكونات Search Components , لكل مكون معرف خاص به و معرف الطوبولوجيا التي ينتمي اليها بالاضافة الى مسار حفظ ملفات الاندكس Search Index Files Location في الخوادم الخاصة به. حيث ان تغيير مسار حفظ ملفات الاندكس من قرص تشغيل النظام الى قرص اخر مخصص يعتبر من افضل الممارسات نظرا لكثرة عمليات I/O التي تقع من الشيربوينت على القرص الخاص بالاندكس اثناء عملية الكراول. الامر الذي من شأنه التأثير على اداء المزرعة في حالة ما اذا كان مسار حفظ الاندكس على قرص نظام التشغيل (الذي غاليا ما يكون C Drive).


الأحد، 25 مايو 2014

حجم قواعد بيانات المزرعة


كما هو موضح في العنوان احببت ان اضع بين ايديكم الاوامر اللازمة لسرد جميع قواعد بيانات المزرعة و اظهار حجم كل واحدة فيها بالميجا بايت.

 قد يحتاج مدير المزرعة هذه الاوامر بين الفترة و الاخرى لمراقبة الاحجام و اضافة قواعد بيانات محتوى اضافية ان لزم الامر بناء على هذا التقرير.

سكربت الباورشيل :
Get-SPDatabase | Sort-Object disksizerequired -desc | Format-Table Name, @{Label =”Size in MB”; Expression = {$_.disksizerequired/1024/1024}}

ستحصل كنتيجة على تقرير مشابه للتالي :







بالتوفيق.





الأربعاء، 14 مايو 2014

SPCAF : SharePoint Code Analyser Framework



حياة مبرمج الشيربوينت مليئة بالتقنيات المحيطة بعمله , فهو يحتاج الى ان يكون ملما بـ :
- XML
- .NET
- JAVASCRIPT
- CSS
- POWERSHELL
- CSOM
- JSOM
و غير ذلك كثير ...
لكن مع هذا الزخم من التقنيات كيف نضمن ان تكون اكواد المصدر ذات جودة عالية و انها كتبت وفق افضل الممارسات ؟


في الحقيقة للاجابة على هذا السؤال يمكننا استخدام بعض الاداوات التي اشهرها : SPCAF SharePoint Code Analyser Framework.


توفر الاداة اكثر من 400 قاعدة لاكتشاف الاخطاء و المخاطر RISKS و  مشاكل الاداء و الثغرات الامنية بالاضافة الى التقارير و الاحصائيات و الحلول للاخطاء الموجودة في اكواد المصدر.

من يحتاج الى هذه الاداة في الشيربوينت ؟


- يحتاجه المبرمج لمعرفة ما اذا اكانت اكواده صحيحة و وفق افضل الممارسات ام لا

- بالنسبة للمبرمج قد يكون محتوى الحلول WSP او Apps معروفا لانه من قام بانتاجها لكن بالنسبة لمدير مزرعة الشيربوينت SharePoint Administrator قد لا يكون الامر كذلك لانها بالنسبة له مثل الصندوق الاسود , لذلك فهو يحتاج ان يتاكد من سلامة ما يقدم اليه من قبل المبرمج حتى يحافظ على امن , اداء , استقرار المزرعة وحتى التاكد من عدم استخدام تراخيص غير اصلية.

- مصمم النظام  Architect  يحتاجه للتاكد من الاكواد قابلة للصيانة في المستقبل و انها صممت بشكل جيد

- يحتاجه مدير الجودة ايضا للتاكد من موافقة الاكواد لمعايير و سياسات المؤسسة

اسباب اخرى تدعو الى اختياره :

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

- مكونات الشيربوينت البرمجية معقدة جدا و الالمام بها كلها صعب جدا حتى نستطيع استخراج جميع الاخطاء من اكواد المصدر

- بغض النظر عن اكتشاف الاخطاء يهمنا ايضا ان يكون الكود وفق افضل الممارسات

- يحتاج المبرمج ايضا الى التحليل الديناميكي Dynamic Analysis و الذي يخص تاثير الاكواد على الذاكرة RAM
من اجل ذلك و غيره ادعوكم الى الحصول على نسخة تجريبية بامكانك الدخول على الرابط التالي :
http://www.spcaf.com/trial


بالتوفيق !

الثلاثاء، 8 أبريل 2014

دعوة للتسجيل في فعاليات "2014 SharePoint Saturday Gulf"





تنطلق يوم السبت القادم الموافق لـ 12-04-2014 اول فعالية اولاين  للشيربوينت في الخليج تحت عنوان  "SharePoint Saturday Gulf"

ادعو الجميع الى التسجيل لحضور المحاضرات عبر الانترنت فهي لخبراء عالميين في الشيربوينت
للتسجيل  : اضغط هنا
  المثير في الامر ان عدد كبير من المحاضرات ستكون  باللغة العربية كما يوضحه الجدول التالي :

Agenda:
 

Time

Arabic Track

English Track 1

English Track 2
10:00 – 10:50 am (GMT +4)
Keynote : To Be Announced
11:00 – 11:50 am (GMT+4)
SharePoint 2013 Enterprise Search
Jamil Haddadin (MVP) &Iman Al-Maskari
External Collaboration with SharePoint Online and Yammer
Jasper Oosterveld
SharePoint Infrastructure Tips and Tricks for On-Premises and Hybrid Cloud Environments
Michael Noel (MVP)
12:00 – 12:50 pm (GMT+4)
Application Lifecycle Management in SharePoint 2013 & Office 365
Ayman El-Hattab (MVP)
Optimizing the release distribution process of SharePoint 2013 to minimize the impact on farm’s availability
Gokan Ozcifci (MVP)
Kinecting with your class: An interactive learning experience for Office 365 for Education
Stefano Tempesta
1:00 – 1:50 pm (GMT+4)
Exploring SharePoint 2013 Cross-Site Publishing
Marwan Tarek
What's new in SharePoint 2013 Service Pack 1 (SP1)?
Introduction to SharePoint Cloud Business Apps
Usama Khan (MCT, MVP)
Break
3:00 – 3:50 pm (GMT+4)
Overview of Office 365 and Yammer
Ahmed Mahmoud (MSFT)
SharePoint Branding 101: Concept to Production
D'arce Hess
The Ultimate User Adoption Cookbook: 6 recipes for success!
Eelco Vink
4:00 – 4:50 pm (GMT+4)
Client Side Rendering in SharePoint 2013
Muawiyah Shannak
Keep SharePoint "Always On"
Liam Cleary (MVP)  
Self-Service Site Creation in SP 2013, with SharePoint Designer: A Case Study for a Project Management Office
Jim Bob Howard
5:00– 5:50 pm (GMT+4)
SharePoint Server 2013 as a Digital Asset Management System
Ahmed Said Moussa
Getting Started with Office 365 and Power BI
Bjoern H Rapp (MVP)
Introduction to Intranet Planning
Haaron Gonzalez (MVP)
6:00 – 6:50 pm (GMT+4)
Workflow Manager Tips & Tricks
Mai Omar Desouki (MCT)
SharePoint Search - An Indispensable Tool
Saifullah Shafiq (MVP)
Winning Strategies for Successful SharePoint Backup and restore
David Toyne