سناريوي محتمل زير را در نظر بگيريد:
قصد داريد يك ورك فلوي سفارشي براي سايت شيرپوينت خود توليد و كد نويسي كنيد. براي اين كار امكانات موجود در ورك فلو ديزاينر SPD را كافي نميدانيد و تصميم ميگيريد كه خودتان دست بكار شده و با ابزارهاي موجود در ويژوال استوديو، كارتان را انجام دهيد. يا ميخواهيد يك ويندوز اپليكيشن دلخواه بنويسيد كه البته قرار است از آبجكت مدل موجود در Microsoft.Sharepoint.Dll استفاده كند. براي انجام اين كار چه راه حلي پيشنهاد ميكنيد؟ توجه كنيد كه كپي و پيست كردن اين كتابخانه توابع بر روي كامپيوتر فرد برنامه نويس و افزودن آن به رفرنسهاي پروژه، به هيچ وجه جوابگو نيست. پس به اين روش فكر نكنيد.
بعضي موارد مشاهده شده كه طراحان اقدام به نصب ويژوال استديو بر روي سرور شيرپوينت كرده و مستقيما كد نويسي خود را آنجا انجام ميدهند. معايب و محدوديتهاي اين روش زياد است و عملا در بعضي موارد امكان پذير نيست. برخي ديگر اقدام به نصب يك ويندوز سرور 2003 در كنار سيستم عامل فعلي خود كرده و سپس MOSS يا WSS را نصب كرده و در واقع يك سرور مشابه سرور محصول نهايي ايجاد مي كنند. سپس نرم افزار توليد شده را به سرور اصلي MOSS انتقال داده و آن را اجرا ميكنند. اين روش غالبا به دليل انكه بايد سيستم عامل جديد و نرم افزارهاي جديد بر روي كامپيوتر برنامه نويس نصب شود مناسب نيست و بسيار دست و پا گير است.
اما راه حل چيست؟ شما با همين ويندوز XPخود كه ويژوال استديو 2005يا 2008 بر روي آن نصب شده مي توانيد كار توسعه و برنامه نويسي براي شيرپوينت را انجام دهيد. چگونگي آن را در اين مقاله از MSDN مطالعه بفرماييد.
http://msdn.microsoft.com/en-us/library/ms479423.aspx
براي برنامه نويساني هم توسعه شيرپوينت را به صورت گروهي انجام ميدهند مطالعه مقاله زير را مفيد ميدانم:
http://msdn.microsoft.com/en-us/library/bb428899.aspx
اميدوارم اين مطلب براي شما مفيد بوده باشد.
نهايتا خواندن اين مقاله هم مي تواند برايتان لازم باشد:
اين مقالات از وب سايت MSDN هم مفيد و جامع هستند:
پيكربندي و راه اندازي قابليت جستجو در يك شيرپوينت فارم البته نياز به دانش كافي و تجربه بالايي دارد و لازم است تا با توپولوژي فارم و وظايف سرورهاي آن آگاهي لازم را داشته باشيد. اما اگر دنبال روشي ميگرديد تا فوري و براي آموزش،قابليت جستجو را به شيرپوينت خود اضافه كنيد، اين مقاله گزينه خوبي براي مطالعه است.
اميدوارم بپذيريد و مفيد باشد.
يك مقاله بسيار مفيد با آموزش گام به گام، دوستان حتما بخوانند. از خواندنش راضي خواهيد بود. مخصوصا اگر با ابتكارات شخصي خودتان اين مثال را توسعه داده و كاربردي كنيد.
ضمناُ اين روزها مشغول پروژهاي هستم كه پس از پايان يافتنش حرفهاي زيادي براي گفتن خواهد بود. تجربياتي كه اميدوارم براي علاقه مندان مفيد باشد.
Get Current User for Infopath and set file name
1. ميدانيد وقتي يك فرم Infopath در مرورگر باز شده و كاربر قصد ذخيره آن را دارد، popup ي باز ميشود و از شما يك نام ميپرسد تا اطلاعات آن فرم به آن نام در ليست ذخيره شود.
برخي مواقع شايد بخواهيد اختيار تعيين نام براي فايل را از كاربر بگيريد و فايلها را با نام يا فرمت معيني در ليست ذخيره كنيد. اگر به اين راه حل نياز داريد،روش اجراي آن را ميتوانيد در اينجا بخوانيد:
بخش اول: http://baigadil.blogspot.com/2008/07/get-current-user-for-infopath-and-set.html
بخش دوم: http://baigadil.blogspot.com/2008/07/get-current-user-for-infopath-and-set_2480.html
Password-Protecting Sensitive InfoPath Form Fields
2. ميدانيد كه اطلاعات فرمهاي Infopath به صورت XML ذخيره ميشوند. مشكل چيست؟ مشكل امنيت فايلهاي XMLاست. اين فايلها به راحتي با ويرايشگرهاي عادي باز شده و محتواي آنها قابل مشاهده است.
اگر بخواهيد از يك فرم Infopath براي ذخيره password و يا هر اطلاعات ارزشمند ديگري، استفاده كنيد، جاي نگراني جدي وجود خواهد داشت. در اين مقاله ميآموزيد كه چگونه نگراني خود را از اين موضوع كاهش دهيد.
http://aspalliance.com/784_PasswordProtecting_Sensitive_InfoPath_Form_Fields.all
Simple SharePoint Workflow with InfoPath Task Form
3. پياده سازي Workflow بر اساس يك فرم infopath هم ميتواند بسيار مفيد و كارگشا باشد. اگر با من هم عقيده هستيد، ميتوانيد يك مثال ساده و سر راست و گام به گام را در اينجا ببينيد:
http://sharepointgear.wordpress.com/2009/03/22/simple-sharepoint-workflow-with-infopath-task-form/
اگر دنبال مرجع غني از راهحلهاي Infopath ، آموزش و مقاله هستيد اين سايت http://www.bizsupportonline.net را فراموش نكنيد!!
اميدوارم مفيد بوده باشد.
دنياي شيرپوينت حد و مرزي ندارد و براي يادگيري آن پاياني نميتوان متصور بود. اما خب بعضي تكنيكها پركاربردتر هستند و بهتر است بيشتر با آنها آشنا شد. از جمله:
1. طراحي حالت نمايش Master – Detail بين دو ليست شيرپوينتي.
صورت مسئله فرضي: قرار است اطلاعات كارمندان همراه با تعداد نامحدودي فايل اسكن شده كه محتواي پرونده هر كارمند را نشان ميدهد،داشته باشيد. چه كار بايد كرد؟
ابتدا يك ليست براي ذخيره اطلاعات كارمندان ميسازيم. شماره پرسنلي را هم به عنوان فيلد كليدي اين ليست در نظر ميگيريم. مدارك را كجا ذخيره كنيم؟
براي ذخيره مدارك (تصويري) يك ليست از نوع “گالري تصاوير” ايجاد ميكنيم. ستونهاي دلخواه را به آن اضافه ميكنيم. ستوني هم براي “شماره پرسنلي” در نظر ميگيريم.
خب،تا اينجاي كار آسان بود و بيزحمت. مانده ارتباط بين اين دو ليست. جوري كه كاربر با كليك روي نام يك كارمند، تمام فايلهاي پرونده او را مشاهده كند. خب به جاي حساس رسيديم، ادامه موضوع را از اين لينك ببينيد:
http://claytonj.wordpress.com/2008/05/21/master-detail-view-data-view-web-part/
2. طراحي حالت نمايش Master-Detail در فرمهاي InfoPath
فرض كنيد يك ليست شيرپوينت داريد كه استانهاي كشور را در آن وارد كردهايد. يك ليست ديگر هم داريد كه شهرهاي هر استان را در آن وارد كردهايد. اكنون ميخواهيد يك فرم InfoPathطراحي كنيد كه كاربر بعد از انتخاب يك استان در يك كامبو باكس تنها شهرهاي مربوط به آن استان را در يك كامبو باكس ديگر ببينيد.
روش كار را در اين لينك مشاهده كنيد:
http://www.sharepoint-tips.com/2007/01/infopath-form-services-implementing.html
من كه از خواندن اين دو مقاله بسيار لذت بردم،شما چي؟
ممكن است روزي روزگاري، كارفرماي محترم (همان ميرغضب هميشگي) از شما بخواهد منوي دسترسي آسان (Quick Lunch) سايت را آبشاري كنيد. مبادا خم به ابرويتان بنشيند. كار آساني است. با هم انجام مي دهيم.
1. سايت خود را در Share point designer باز كنيد.
2.در بخش Folder List به مسير زير برويد و فايل MasterPage سايت را باز كنيد.
http://<Your Site Name>/_catalogs/masterpage/default.master
3. در كدهاي فايلي كه باز شده است دنبال اين قطعه كد بگرديد:
در اين كد تنظيمات نحوه نمايش منوي Quick Lunch وجود دارد و مي توانيد بعضي خصوصيات را به دلخواه تغيير دهيد.
<SharePoint:AspMenu
id="QuickLaunchMenu"
DataSourceId="QuickLaunchSiteMap"
runat="server"
Orientation="Vertical"
StaticDisplayLevels="2"
ItemWrap="true"
MaximumDynamicDisplayLevels="0"
StaticSubMenuIndent="0"
SkipLinkText="">
4. براي رسيدن به هدف خود،مقدارهر دو خصوصيت StaticDisplayLevels و MaximumDynamicDisplayLevels را به عدد1 تغيير دهيد.
5. فايل را ذخيره كرده و نتيجه را مشاهده كنيد.
نكته ديگر
يكي ديگر از خصوصياتي كه ممكن است به درد كارتان بخوردItemWrap است. مقدار پيش فرض آن true است. اگر آن را به false تغيير دهيد، نام ليستهايي كه طولاني هستند در يك خط نشان داده ميشود و از دو يا چند خط شدن نام ليستها جلوگيري ميشود.
اميدوارم اين مطلب هم به درد خورده باشد.
ابزار رايگاني است كه در System Tray سيستم عامل مقيم شده و امكان دسترسي سريع به تعداد زيادي عمليات رايج IIS را براي مديران سرورهاي شيرپوينت فراهم ميسازد. اين نرم افزار همچنين براي ساير استفاده كنندگان و مديران IIS ابزار مناسبي است. اين ابزار فهرستي از poolهاي سيستم فراهم مي كند.
با اين نرم افزار مي توانيد Pool هاي موجود در IIS را از طريق آدرس URL آنها مديريت كرده و از رويدادهاي مختلف آنها با خبر شويد. بهتر است براي آشنايي بيشتر با قابليتهاي جذاب اين نرم افزار خودتان دست بكار شده و آن را نصب كنيد.اين نرم افزار براي نصب به IIS نسخه 6 يا بالاتر نياز داشته و با هر دو نگارش WSS و MOSS سازگار است.
به شوخي مي توان گفت KPI ها عكسهاي زيبايي هستند براي مديراني كه خواندن بلد نيستند. حالا اگر اهل طنز باشيد يا نباشيد، بايد بگويم KPIها ابزار بسيار مفيدي هستند كه مي توانند حجم اطلاعات زيادي را خلاصه كرده و شما را از اطلاعات متنوعي كه در سازمان وجود دارد به شيوه بصري و گرافيكي آگاه كنند. لذا از آنها مي توان براي توليد داشبوردهاي مديريتي كارآمدو جذاب استفاده كرد.
يك Key Performance Indicator يا KPI آگاهي دهنده تصويري است كه كاربران را از وضعيت اطلاعات مهمي كه در جايي ذخيره شده اند و مرتبط با موضوع خاصي هستند بوسيله نمايش تصاوير و علائم بيان ميكند. مثلا فرض كنيد شما مدير يك موسسه مالي هستيد و مي خواهيد از وضعيت موجودي حساب بانكي خود بوسيله شكلهاي رنگي آگاه شويد. مثلا دوست داريد اگر موجودي حساب شما 20 درصد حد مطلوب شود با رنگ قرمز و اگر بين 20 تا 50 درصد حد مطلوب شود با رنگ زرد و اگر بين 50 تا 80 درصد شود با رنگ سبز و بيشتر از اين را با رنگ آبي نشان دهد. عملي كردن چنين ايده اي در شيرپوينت با بكارگيري KPI ها محقق مي شود. اما چگونه؟
از قبل شروع بايد بدانيد كدام نوع KPI براي كار شما مناسبتر است.
انواع KPI
KPI ها بر حسب اينكه منبع اطلاعات آنها چيست به چهار گروه زير تقسيم مي شوند:
- مبتني بر اطلاعات موجود در ليستهاي شيرپوينت اگر ليستهاي شيرپوينتي داريد كه فرضا با WorkFlow هايي در ارتباط است، مي توانيد KPI ي توليد كنيد كه نشان دهد يك عمليات خاص چقدر زمان برده، چند تا از آنها هنوز به پايان نرسيده و چند درصد فعاليتها انجام شده است. همچنين مي توانيد با KPI مجموع زمان صرف شده براي كل فعاليتهاي ورك فلو مورد نظر را نمايش دهيد.
- مبتني بر اطلاعات موجود در مستندات اكسل مي توان يك KPI را در فايل اكسل ايجاد و آن را به شيرپوينت لينك كرد. به محض تغيير اطلاعات درون فايل اكسل،نحوه نمايش KPIهم به روز شده و آخرين تغييرات را نشان خواهد داد.
- مبتني بر اطلاعات موجود در سرويس آناليزر 2005 SQL Server
SharePoint Server 2007 اين قابليت را دارد كه به اطلاعات موجود در Microsoft SQL Server 2005 Analysis Services لينك شده و تغييرات آن را نمايش دهد. مدير بانك اطلاعاتي KPI هاي لازم را توليد و data connection لازم را با SharePoint Server ايجاد مي كند. سپس كاربران مجاز خواهند بود تا به اين KPIها از طريق شيرپوينت دسترسي داشته باشند.
- مبتني بر اطلاعاتي كه بصورت دستي وارد مي شوند در مواردي كه فاقد سيستم ذخيره داده آنلاين نباشيد يا اصولا مايل باشيد اطلاعات را به صورت دلخواه ثبت كنيد مي توانيد از اين نوع KPIاستفاده كنيد. اين نوع از KPI مي تواند در مواقعي كه اطلاعات خود را از منابع غير استاندارد مانند ايميل دريافت مي كنيد كاربرد داشته باشد.
ساخت يك ليست KPI با استقاده از اكسل در شيرپوينت
از Site Actions كزينه Create را انتخاب كنيد. از بخش Custom Lists گزينه KPI List را انتخاب كنيد. اگر اين گزينه وجود نداشت لازم است تا قابليت مربوط به آن با مراجعه به Site Settings و سپس Site Features فعال شود.
بعد از ساختن ليست KPI لازم است يك منبع داده براي تغديه آن ايجاد كنيم. در اين مثال ما از يك فايل اكسل به عنوان منبع داده استفاده مي كنيم. براي اين كار يك كنابخانه مستندات دلخواه بسازيد كه فرمت اكسل به عنوان فرمت پيش فرض در آن تعريف شده باشد.بهdocument library جديد رفته و از منوي New آيتم New Documnet را مانند شكل زير انتخاب كنيد.
در Sheet اول از فايل اكسل اطلاعاتي را وارد مي كنيم كه قرار است مورد استفاده ليست KPI قرار بگيرد. در اين مثال اطلاعات را زير عنوان اين ستونها وارد كرده ايم:
Indicator: مقدار فعلي يك كميت را نشان مي دهد.
Warning: مقدار مرزي كه قبل و يا بعد از آن به عنوان هشدار تلقي مي شود.
Goal: مقدار آرماني و مطلوب كميت مورد نظر
فايل اكسل را ذخيره كنيد. نام KPI Source براي اين فايل نام مناسبي به نظر مي رسد. زماني كه مي خواهيم يك KPI جديد ايجاد كنيم، به اين فايل به عنوان منبع استخراج اطلاعات KPI نياز است.
به ليست KPI كه در مرحله قبل ايجاد كرده بوديم برويد. از نوار منو گزينه New را انتخاب كنيد.
گزينه هاي منوي New براي شما بايد آشنا باشد. شرح كاربرد آنها را در بالا ذكر كرديم. براي ادامه كار خود گزينه “Excel Workbook” را انتخاب مي كنيم. براي ثبت تنظيمات لازم پنجره اي به شكل زير باز مي شود.
آپشن مهم موجود در اين صفحه در بخش Indicator Value وجود دارد. در اين بخش لازم است تا URL فايل اكسلي كه قبلا ايجاد كرديم را وارد كرده و سپس در بخش Cell Address for Indicator Value روي دكمه مربوطه كليك كنيد. پنجره زير باز مي شود:
در پنجره اي كه باز شده ما بايد فيلدهايي را براي Indicator ، Goal، Warning مشخص كنيم. لذا به ترتيب زير عمل مي كنيم:
روي سلولي كه معادل مقدار Indicator است كليك كرده و سپس دكمه “Set Indicator” در پايين صفحه را مي فشاريم.
روي سلولي كه معادل مقدار Goal است كليك كرده و سپس دكمه “Set Goal” در پايين صفحه را مي فشاريم.
روي سلولي كه معادل مقدار Warning است كليك كرده و سپس دكمه “Set Warning” در پايين صفحه را مي فشاريم.
پس از انجام اين مراحل 2 بار OK كرده و به صفحه اصلي KPI بر مي گرديم.
كار ما تمام شده است. حالا براي اينكه ببينيد KPIدرست عمل مي كند كافيست تا فايل اكسل را باز كرده و مقادير سلولهاي آن را تغيير دهيد.
اميدوارم اين مقاله شما را با كاربرد KPI و مباني توليد آن آشنا كرده باشد.
منابع:
-
-
شايد براي شما پيش آمده باشد كه در هنگام طراحي يك زير ساخت مناسب براي ايجاد يك شيرپوينت فارم دچار سردرگمي هايي شده باشيد. مثلا اينكه چند سرور نياز هست؟ مشخصات سخت افزاري آنها چگونه باشد؟ اين تعداد سرور توانايي شان تا چه ميزان است؟ تا چند ماه يا چند سال مي توان كارايي چنين سيستمي را تضمين كرد؟ و پرسشهاي بسيار ديگر.
SharePoint Capacity Planning Tool ابزار رايگاني است كه امكان مدل سازي براي هر دو سيستم Windows SharePoint Services 3.0 و Microsoft Office SharePoint Server 2007 را فراهم مي كند. با استفاده از اين ابزار مي توانيد زير ساخت نرم افزاري خود را مدل كنيد و مدل طراحي شده را شبيه سازي و بعد به طور مجازي كارايي آن را ارزيابي كنيد. استفاده از اين ابزار كمك بسياري به مشخص شدن پيش نيازهاي لازم براي طراحي توپولوژي شبكه خواهد كرد و ديد مناسبي از آنچه كه بايد انجام شود به شما خواهد داد.
نكته: بر اساس نتايج حاصله از اين نرم افزار مدل پيشنهادي براي حالت پايداري مناسب WSS farm استفاده از 4 سرور (2 WFE/2 SQL) و استفاده از 5 سرور براي SharePoint Server 2007 (2 WFE/Query, 1 Index, 2 SQL) است. خب شايد خيلي ها كه فكر مي كنند يك سرور براي مقياس هاي متوسط و كوچك مناسب است به اين موضوع توجهي نكنند. اما احتمالا چنين افرادي هم از اين ابزار براي مدل سازي يك سرور استفاده نمي كنند.
برخي امكانات نرم افزار:
· ارائه توپولوژي پيشنهادي به كاربر به صورت گرافيكي
· امكان صدور طرح توپولوژي ساخته شده به Visio و صدور مشخصات سرور به فرمت اكسل
· امكان تعريف سخت افزارهاي سفارشي
· براي اجراي اين نرم افزار به نرم افزار ديگري به نام System Center Capacity Planner 2007 نياز داريد.
دانلود كنيد:
مراجع:
1. http://blogs.msdn.com/sharepoint/archive/2008/02/06/microsoft-sharepoint-capacity-planning-tool-released.aspx
2. http://blogs.msdn.com/joelo/archive/2008/02/06/sharepoint-capacity-planning-tool-released-behind-the-scenes.aspx
3. http://www.microsoft.com/downloads/details.aspx?FamilyId=DBEE0227-D4F7-48F8-85F0-E71493B2FD87&displaylang=en
4. http://old.markharrison.co.uk/blog/2008/02/sharepoint-capacity-planning-tool-v10.htm