اين روزها طراحي گرافيكي صفحات در شرپوينت بسيار گسترش يافته و اكثر سايتهاي شرپوينتي ديگر صورت قديمي استاندارد شرپوينت را ندارند .در اين خصوص ميتوانيد پست آرش را در زمينه سايتهاي برتر طراحي شده با شرپوينت را اينجا بخوانيد .
همانطور كه ميدانيد استفاده از CSS در طراحي گرافيكي سايتها بسيار متداول است در اين پست چند ترفند در خصوص دستكاري كردن كلاسهاي خود شرپوينت عنوان ميكنم .
ابتدا با قرار دادن تكه كد زير در صفحه ASPX ميتوانيد متوجه شويد كه اسم كلاس مورد نظر هر كدام از اجزاء صفحه چيست ؟
<script language="jscript">
function ClassInfo()
{
if (window.event.srcElement.className != null)
{
stsclass.innerText = window.event.srcElement.className;
}
else
{
stsclass.innerText = "";
}
}
window.document.body.onmouseover = ClassInfo;
</script>
<div style="border-style:solid;border-width:1px; width: 281px; height: 34px;
position: absolute; left: 286px; top: 41px; z-index:15; padding-left:4px;
padding-right:4px; padding-top:2px; padding-bottom:2px; background-color:#EEEEF4">
position: absolute; left: 286px; top: 41px; z-index:15; padding-left:4px;
padding-right:4px; padding-top:2px; padding-bottom:2px; background-color:#EEEEF4">
<p id="stsclasstitle"><font face="Tahoma" id="stsclasstitle">Classname: </font>
<font face="Tahoma"id="stsclass"> </font>
</p></div>بعد از انجام اين كار با بردن ماوس روي هر يك از اجزاء نام كلاس CSS آنها طبق شكل زير نمايش داده ميشود.

نكته مهمي كه ميتوان اشاره كرد اين است كه تغيير مستقيم در كلاسهاي CSS شرپوينت موجب ميشود كه اين تغييرات در كل سايتها و زير سايتها اعمال شود حال براي جلوگيري از اين تاثير ميتوان با استفاده از ترفند CSS اين تغييرات در بصورت موقتي در سطح يك صفحه انجام داد. اين كار با استفاده از keyword !important در CSS انجام ميشود استفاده از اين keyword به شما اين امكان را ميدهد كه تعاريف قبلي اين كلاسها را به نوعي رونويسي كنيد . براي نمونه در زير فونت CSS كلاسي با نام SampleClass تغيير پيدا كرده است.
<style type="text/css">
.SampleCSSClass
{
font-family:Tahoma !important;
}
</style>حال ميتوانيد كلاسهاي مورد نظر را تغيير دهيد . اگر خواستيد فايلهاي CSS شرپوينت را تغيير دهيد يا ببينيد ميتوانيد در مسيرهاي زير آنها را پيدا كنيد :
Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\STYLES
Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\PublishingLayouts\en-us
اطلاعات كاملي در خصوص كلاسهاي CSS در WSS را ميتوانيد در اين آدرس مطالعه كنيد.
http://msdn.microsoft.com/en-us/library/ms438349.aspx
موفق باشيد.
آشنايي با مدارک مايکروسافت در تکنولوژي شرپوينت- Microsoft SharePoint Certification Overview
نزديک به دو سال قبل مايکروسافت نسل جديدي از مدارک فني خود را با تکيه بر تکنولوژيهاي سرور خود معرفي کرد. اين سري مدارک در سه سطح متخصصان فناوري اطلاعات را طبقه بندي ميکند . مدارک این سه سطح به ترتيب MCTS , MCM , MCA نام دارد . در اين مطلب سعي ميکنيم مطالبي مرتبط با مدارک مايکروسافت در حوزه شرپوينت ارائه کنيم .

در حال حاضر مدارک مایکروسافت در محصولات حوزه شرپوينت شامل سه عنوان زير است :
§ Microsoft Certified Technology Specialist (MCTS)
§ Microsoft Certified Master (MCM)
§ Microsoft Certified Architect (MCA)
مدرک Microsoft Certified Technology Specialist certification - MCTS

در ابتدايي سطح کارشناسان IT با توجه به محصول يا تکنولوژي تخصصي خودشان و شرکت در آزمون مربوطه موفق به کسب مدرک Microsoft Certified Technology Specialist (MCTS) ميشوند .در حوزه شرپوينت آزمونهاي اين مدارک با توجه به دو محصول Windows SharePoint Service 3.0 و Microsoft Office SharePoint Server 2007 ترتيب داده شده است و در هر يک از اين محصولات در دو بخش توسعه و مديريت آزمون برگزار ميشود . با گذراندن يکي از اين چهار آزمون متقاضي به دريافت مدرک MCTS نائل ميشود .
آزمون 70-542
نام رسمي اين آزمون Microsoft Office SharePoint Server 2007 Application Development ميباشد و تمرکز اصلي مطالب اين امتحان بر مفاهيم توسعه برنامه هاي کاربردي بر پايه محصول Microsoft Office SharePoint Server 2007 است . مايکروسافت دو کتاب زير را براي گذراندن اين امتحان پيشنهاد کرده است:
Inside Microsoft Office SharePoint Server 2007
Inside the Index and Search Engines: Microsoft Office SharePoint Server 2007
آزمون 70-630
نام رسمي اين آزمون Microsoft Office SharePoint Server 2007 – Configuration ميباشد و هدف اصلي اين امتحان آزمايش متقاضي در خصوص تسلط وي بر کاربري و مديريت شرپوينت نسخه 2007 است . شرکت کنندگان اين آزمون بايد دانش و تجربه کافي در همه عناوين زير را داشته باشند :
· مفاهيم استقرار
· روشهاي Upgrade از نسخه قبل
· پيکربندي جستجو
· پيکربندي مديريت محتوا
· پيکربندي فرمهاي کسب و کار
· مفاهيم و مديريت هوش تجاري ( BI )
· امنيت
مايکروسافت دو کتاب زير را براي گذراندن اين امتحان پيشنهاد کرده است:
Microsoft Office SharePoint Server 2007 Administrator’s Companion
Inside Microsoft Office SharePoint Server 2007
آزمون 70-541
نام رسمي اين آزمون Microsoft Windows SharePoint Services 3.0 – Application Development ميباشد و
تمرکز اصلي مطالب اين امتحان بر مفاهيم توسعه برنامه هاي کاربردي بر پايه Windows SharePoint Service 3.0 است .
آزمون 70-631
نام رسمي اين آزمون Microsoft Windows SharePoint Services 3.0 – Configuration ميباشد و هدف اصلي اين امتحان تسلط بر کاربري و مديريت بر پايه WSS 3.0 است .
- پيکربندي سرويس دهنده وب IIS
- آشنايي با سرويس Active Directory مايکروسافت
- آشنايي با زيرساختهاي شبکه
- آشنايي با Microsoft Office SharePoint 2007
- درک مطالب وابسته به دات نت 2.0 و ارتباطات آن با شرپوينت ويندوز سرويس 3.0
- آشنايي با Microsoft Internet Security and Acceleration (ISA) Serve
- آشنايي با مفاهيم Network load-balancing براي نرم افزارها و سرويسها
- مديريت پايگاه داده SQL Server 2000-2005
- آشنايي با الگوها و مفاهيم امنيت در شرپوينت سرويس
- آشنايي با تهيه نسخه پشتيبان و بازگرداندن آن در شرپوينت سرويس
مدرک Microsoft Certified Master – MCM
کارشناساني که موفق به کسب هر چهار مدرک MCTS در حوزه شرپوينت شوند به کسب مدرک MCM نائل ميشوند . دارنده مدرک MCM توانايي طراحي ، ساخت ، پيکربندي ، استقرار و پشتيباني محيطهاي پيچيده و بزرگ را با استفاده از MOSS 2007 داراست . جدول زير گزارش تعدادي از داندگان اين مدرک در حوزه هاي مختلف را نمايش ميدهد :
مدرک | تعداد دارندگان |
|
Microsoft Certified Master: Microsoft Exchange Server 2003 Microsoft Certified Master: Microsoft Exchange Server 2007 Microsoft Certified Master: Microsoft Office Communications Server 2007 Microsoft Certified Master: Microsoft Office SharePoint Server 2007 Microsoft Certified Master: Microsoft SQL Server 2008 Microsoft Certified Master: Windows Server 2008 Directory | 150 50 10 8 2 27 |
|
اطلاعات بيشتر را در خصوص Microsoft Certified Master (MCM) ميتوانيد در اينجا مطالعه کنيد .
مدرک Microsoft Certified Architect – MCA

MCA از نظر فني معتبرترين مدرک در تکنولوژي هاي مايکروسافت است و دارندگان اين مدرک از توانايي فني بسيار بالايي برخوردارند و پس از کسب اين مدرک از کلاس جهاني خاصي برخوردار ميشوند و کاملا مورد اعتماد مايکروسافت قرار ميگيرند .
دارندگان اين مدرک اشخاصي هستند که تجربه و تسلط کاملي بر يکي از سري تکنولوژي هاي سرور مايکروسافت دارند و توانايي درک و تفسير نيازهاي کسب و کار و ارائه بهترين تکنولوژي را دارا ميباشند و ميتوانند طراحي هايي تکنولوژيک با مقياسهاي بسيار بزرگ را براي نيازهاي پروژه هاي پيچيده انجام دهند. از مهمترين توانايي اين اشخاص ارائه استراتژي هاي متناسب کسب و کار است در تيمهاي فني به اشخاصي با اين توانايي اصطلاحا معمار خطاب ميشود .
متقاضيان کسب مدرک MCA : SharePoint بايد مدرک Microsoft Certified Master ( MCM ) را کسب نمايند و پس از قبولي برنامه خاص اين مدرک که حتي شامل مصاحبه با کارشناسان و معماران مايکروسافت است موفق به کسب اين مدرک ميشوند البته تعداد دارندگان اين مدرک که از سال 2008 ارائه ميشود نسبت به ساير مدارک مايکروسافت بسيار کم است . جالب است که تعداد دارندگان اين مدرک را در هر يکي تکنولوژيهاي سرور مايکروسافت در جدول زير مشاهده کنيد :
مدرک | تعداد دارندگان |
|
Microsoft Certified Architect: Database Microsoft Certified Architect: Infrastructure Microsoft Certified Architect: Messaging Microsoft Certified Architect: Solutions Microsoft Certified Architect: SharePoint | 18 38 65 77 0 |
|
همانطور که در جدول مقايسه کرديد به دليل جديد بودن اين مدرک هنوز شخصي موفق به دريافت مدرک Microsoft Certified Architect: SharePoint نشده است . اطلاعات بيشتر را در خصوص Microsoft Certified Architect (MCA) ميتوانيد در اينجا مطالعه کنيد .
مراجع :
www.microsoft.com/learning/mcp/sharepoint/2007/default.mspx
Microsoft® Office SharePoint® Server 2007 Certification Paths
www.microsoft.com/learning/mcp/certified.mspx
اکثر تیمهای توسعه نرم افزاری از نظر افراد و نقش آنان ساختار یکسانی دارند اما اين ساختار درتيمهاي شرپوینت کمی متفاوت است زیرا فعاليتهاي مرتبط با پروژه های شرپوينت توسعه و برنامه نويسي تنها نیست ، گاها برخي از پروژه ها اصلا نيازي به برنامه نويسي ندارند . در این مقاله سعی میشود با استفاده از راهنمایی های متدولوژي توليد مایکروسافت (Microsoft Solution Framework) بر افراد تشکيل دهنده يک تيم شرپوينت و نقش هاي آن مروري انجام دهيم .البته شرح نقشها در MSF دارای جزئیات متفاوتی است ، برای آشنايي بیشتر ميتوانيد اين مطلب را مطالعه کنید MSF Team Model Overview .
کلیدی ترین نقش در تیم شرپوينت به عهده مشاور شرپوينت (SharePoint Consultant) است . مشاور شرپوينت آشنايي کاملي با تمامي محصولات و تکنولوژي هاي ارائه شده توسط مايکروسافت دارد و علت آن هم اين است که راه حلهاي او بايد با استفاده از محصولات متفاوت و گسترده مايکروسافت ارائه شود . برای درک بيشتر بايد اشاره کرد که اين مشاور با توجه به نياز پروژه بايد از بين راه حلهاي موجود بهينه ترين راه حل از لحاظ ابزار ، تکنولوژي ، نيازمنديها ، کارآيي ، هزينه License و ... را انتخاب کند. این نقش بايد توانايي تشخيص مسائل کليدي رقابت در کسب و کار پروژه را دارا باشد و بتواند با شناخت از امکانات شرپوينت براي اين مسائل بهترين پاسخ را ارائه دهد.
يک SharePoint Consultant در تيمهاي فروش و بازاريابي نيز وظايفي را مانند تهيه اسناد قبل از فروش و و ارائه راهکارهاي مرتبط با پروژه را به عهده دارد . در برخي از تيمهاي کوچک اين مشاور نقش مديريت پروژه را نيز به عهده ميگيرد . غیر از مشاور چند نقش ديگر نیز در اين پروژه ها فعاليت دارند که در ادامه مروري بر اين نقشها و وظايف آنان در تيمهاي شرپوينت داريم . قابل ذکر است که معمولا در تيمهاي کوچک اعضاي همزمان چند نقش را به عهده ميگيرند .
مدير محصول (Product Manager) :
عموما هدف مدير محصول جلب رضايت مشتري ميباشد . در پروژه هاي شرپوينت اين نقش علاوه بر جلب رضايت مشتري فعاليتهايي براي بازاريابي هاي جديد در محدوده آن پروژه نيز انجام ميدهد شايان ذکر است در MSF نقشي با نام Account Manager وجود دارد که مسئوليت اصلي آن شناخت فرصتهاي جديد فروش در حوزه پروژه و مشتري است. معمولا Account Manager از تکنولوژي مرتبط با پروژه دانش مقدماتي دارد ولي در فرآيندهاي کسب و کار دانش بسيار بالاتري دارد.
توسعه گر شرپوينت (SharePoint Developer) :
يک توسعه گر شرپوينت فردي است که غير از برنامه نويسي بايد مهارتهاي ديگري را مانند برنامه نويسيASP.NET ، JavaScript ، CSS ، HTML داشته باشد . سطح آشنايي يک توسعه گر با مفاهيم گسترده شرپوينت با توجه به نياز پروژه کاملا متفاوت است.
آزمونگر (Tester) :
اين نقش پس از تهيه و توليد محصول شرپوينت تاييدهاي از قبيل کارکرد ، کيفيت و کارآيي را انجام ميدهد. به علت گستردگي محصولات و تکنولوژي هاي استفاده شده در شرپوينت عموما تست پروژهاي توليدي آن به خودي خود از پيچيدگي و سختي خاصي برخوردار است . بر اساس مفاهيم MSF در پروژه هاي بسيار بزرگ نقشي با نام QALead مديريت تست را به عهده ميگيرد. اين نقش وظايفي مثل رسيدگي به Unit Test و جامعيت محصول توليدي تاييد نسخه نهايي و انطباق آن با نيازهاي مطرح شده در تعريف پروژه را به عهده دارد.
گرافيست (Designer) :
بي شک يکي از مهمترين نکات در توليد محصولات نرم افزاري زيبايي و يکپارچگي فرمهاي ورود اطلاعات است . گرافيست علاوه بر ذوق و تجربه در طراحي ، آشنايي خوبي بر ASP.NET تسلط بسيار زيادی بر HTML و CSS دارد.
مدير نشر (Release Manager) :
اين نقش وظيفه نشر و استقرار محصول را به عهده دارد . اين نقش تخصصهاي خاصي را نياز دارد که آشنايي با اجزاء تشکيل دهنده زيرساخت شرپوينت و شبکه آن است . براي اين نقش علاوه بر آشنايي کامل با زير ساخت شرپوينت تسلط بر IIS , SQL , ISA و شبکه بسيار مهم است .
يکي از نيازهاي مديران IT گزارش گيري و کنترل دسترسي کاربران به سرويسهاي سازمان مربوطه است . اين امکان در شرپوينت سرويس 3.0 توسط زير ساخت قدرتمندي ارائه ميشود اين امکان اجازه ميدهد دسترسي کاربران به ليست و آيتم هاي آن ، Document ها و صفحات را ردگيري کنيد . نکته قابل توجه اين است که اين سطح دسترسي و مواردي که ميتواند در رخدادها ذخيره شود ميتواند کاملا شخصي سازي شود . نکته ديگر اين که براي انجام اين کار بايد با برنامه نويسي شرپوينت و Object Model آشنا باشيد .
براي آنکه به رخدادهاي ذخيره شده توسط شرپوينت دسترسي پيدا کنيد بايد توسط متد GetEntries در کلاس Audit طبق تکه کد زير رخدادهاي ذخيره شده را بازيابي کنيد و در صورت نياز آن را به کاربر نمايش دهيد :
SPSite siteCollection = SPContext.Current.Site; SPAuditQuery wssQuery = new SPAuditQuery(siteCollection); SPAuditEntryCollection auditCol; auditCol = siteCollection.Audit.GetEntries(wssQuery); foreach (SPAuditEntry entry in auditCol) { // Display Entry }
|
در صورتي که بخواهيد دسترسي ها يا رخدادهاي خاص را Log کنيد نياز داريد آن را مشخص کنيد . براي اين منظور بايد از enumeration SPAuditMaskType استفاده کنيد، که در زير ليست عضوهاي آن را مشاهده ميکنيد و همانطور که مشخص است ميتوانيد بصورت بسيار جزئي نيز ذخيره سازي Log ها را تغيير دهيد :
SPAuditMaskType.CheckIn SPAuditMaskType.CheckOut SPAuditMaskType.ChildDelete SPAuditMaskType.Copy SPAuditMaskType.Delete SPAuditMaskType.Move SPAuditMaskType.ProfileChange SPAuditMaskType.SchemaChange SPAuditMaskType.Search SPAuditMaskType.SecurityChange SPAuditMaskType.Undelete SPAuditMaskType.Update SPAuditMaskType.View SPAuditMaskType.Workflow
|
براي درک بهتر به مثال زير توجه کنيد ، در اين مثال ميخواهيم تمامي عمليات هاي حذف و ويرايش که روي ليست Presentation انجام ميشود را در ليست رخدادها داشته باشيم :
SPSite siteCollection = SPContext.Current.Site; SPWeb site = siteCollection.RootWeb; SPList docLib = site.Lists("Presentations”); docLib.Audit.AuditFlags = SPAuditMaskType.Update | SPAuditMaskType.Delete docLib.Audit.Update;
|
نکته مهم : براي دستیابي بايد سطح دسترسي Site Administratorرا داشته باشيد .
براي درک بيشتر ميتوانيد فيلم آموزشي مايکروسافت را از اينجا مشاهده کنيد.
موفق باشيد
يکي از مهمترين عوامل موفقيت يا عدم موفقيت پروژه هاي SharePoint ، طراحي يا به عبارتي معماري زيرساختي آن پروژه است . اينگونه طراحي ها کاملا وابسته به نوع پروژه و Infrastructure شبکه اي سازمان مربوطه ارائه ميگردد . به نظر يکي از مشاوران با تجربه SharePoint 80 درصد موفقيت پروژه هاي SharePoint در گرو طراحي صحيح آن ميباشد. بصورت کلي ميتوان طراحي پروژه هاي شرپوينت را از دو بعد نرم افزار و سخت افزار نگاه کرد. قابل ذکر است در راهنما ، کتابها و اسناد فني مرتبط با SharePoint معمولا از اصطلاح Logical Design براي طراحي هاي نرم افزاري و از اصطلاحات Physical Design يا Farm Topology براي طراحي هاي زير ساختي سخت افزاري استفاده ميکنند .
براي درک بيشتر بايد گفت که بعد نرم افزاري طراحي زير ساختي در SharePoint به چگونگي قرار گرفتن و چيدمان سرويسها وکامپوننت ها مانند سايت ها ، web application ، Shared Service Provider ،Excel Services ، Form Service و ... در کنار يکديگر و تشکيل Farm هاي اشاره ميکند.
در صورتي که طراحي زيرساختي سخت افزاري به نحوه ارتباط و قرار گيري سرورهاي مرتبط در محيط شبکه مثل موقعيت سرور پايگاه داده يا وب سرور يا موقعيت سرويسهاي شبکه اي و .. اشاره ميکند . شايان ذکر است که طراحي هاي پايه اي در پروژه هايي با مقياسهاي متوسط و بزرگ به مراتب با اهميت تر و پيچيده تر از پروژه هاي کوچک است ، زيرا طراحي هاي زيرساختي نقش بسيار مهمي در کارايي ، در دسترس بودن ، نگهداري آسان و امنيت پروژه هاي SharePoint را دارد .
در Logical Design يا طراحي زيرساختي نرم افزاري مفاهيم زير مورد نظر قرار دارد :
· Server farms
· Shared Services Providers
· IIS application pools
· Web applications
· Zones
· Policy for Web applications
· Content databases
· Site collections
· Sites
· Host-named site collections
براي درک بيشتر ميتوانيد نمونه ارائه شده مايکروسافت را به نام Logical Architecture Sample Design از اينجا دانلود کنيد (فايل Visio -1.13 MB)

الگويي از طراحي زير ساختي نرم افزاري يا Logical Design
بخشي از طراحي زير ساختي سخت افزاري يا Physical Design
در پست هاي بعدي سعي ميشود جزئيات بيشتري از اين مفاهيم همراه با الگوهاي کاربردي طراحي ها ارائه شود .
اگه شما از کاربران علاقه مند به ويندوز هستيد حتما با کارکردن با ابزارهاي Command Line کمي مشکل داريد مخصوصا اينکه از اين ابزارها استفاده دائمي نداشته باشيد . وقتي صحبت از ابزارهاي جانبي SharePoint به ميان مي آيد ناخودآگاه ابزار STSADM بخاطر مياد ، ابزاري با کارايي بسيار زياد و متفاوت و در بعضي مواقع منحصر بفرد که به نظر بعضي ها تنها مشکلش Command Line بودن آن است .
اگه با اين ابزار کار کرده باشيد از تعدد دستورات و پارامترهاي زياد آن حتما خبر داريد . شايد بعضي ها آرزوي کرده باشند که اين ابزار با ابزاري گرافيکي توسط مايکروسافت جايگزين شود.
البته اين آرزو بر آورده شده J ولي نه توسط مايکروسافت .
اسم اين ابزار STSADMWIN است که تمامي دستورات STSADM را پشتيباني ميکند . نرم افزار STSADMWIN محيطي را براي شما فراهم کرده تا تمامي دستورات مربوط به STSADM را اجرا کنيد .
براي نمونه هنگام استفاده از STSADM براي اضافه کردن Solution هاي آماده به SharePoint بايد از دستور زير با اين دو پارامتر استفاده کرد :
stsadm -o addsolution
-filename <solution file name>
[-lcid] <language>
Parameters
Parameter | Value | Required? | Description |
filename | Any one of the following formats: · *.cab · *.wsp · *.wpp | Yes | File name on disk |
lcid | A valid locale ID, such as "1033" for English | No | By specifying this parameter, you stores the solution as a language pack. If the core neutral solution does not exist, the following error message is displayed: "Cannot add a language pack resource for the solution without adding the main solution package." |
اين هم تصويري از نرم افزار STSADMWIN آماده براي اجراي دستور AddSolution
چند نکته جالب در مورد STSADMWIN :
· در صورت نياز ميتوانيد تغييراتي در دستورات يا پارامترهاي آنان براي استفاده شخصي خودتان انجام دهيد
· ميتوانيد تمامي دستورات مربوط به WSS و MOSS را با تمامي پارامترها اجرا کنيد .
· ميتوانيد تمامي دستورات مربوط به SharePoint سرور 2003 و 2007 را با تمامي پارامترها اجرا کنيد .
ليست کاملي از دستورات STSADM در اين آدرس قرار دارد : http://technet.microsoft.com/en-us/library/cc263384.aspx
براي دانلود نرم افزار STSADMWIN ميتوانيد از لينک زير که مربوط به وبلاگ ronalus است استفاده کنيد :
http://blogs.msdn.com/ronalus/attachment/1411643.ashx
از STSADMWIN لذت ببريد
</Mahdi>