Skip Ribbon Commands
- محتویات اصلی صفحه

حمید رفعتی

:

منوی سمت راست

بهمن 06
اتصال به داده های خارجی به کمک SharePoint Designer 2010 و BCS

یکی از پیشرفت های عمده ای که در شرپوینت 2010 اتفاق افتاده امکان اتصال به پایگاه داده های خارجی می باشد. در ویدئویی که لینک آن در ادامه این مطلب آمده است نحوه ایجاد یک External Content Type و یک لیست  بر اساس آن نشان داده می شود. همچنین در این ویدئو شما با یکی دیگر از سرویس های کاربردی شرپوینت 2010 به نام Secure Store Service که به نظر من جایگزین بسیار مناسبی برای SSO می باشد آشنا می شوید و مشاهده خواهید کرد که به کمک این سرویس به زیبایی می توانید Credential وارد شده توسط کاربر را تبدیل نموده و به او امکان مشاهده اطلاعاتی که در پایگاه های داده دیگر ذخیره شده اند بدهید.

http://office.microsoft.com/en-us/sharepoint-designer-help/video-business-connectivity-services-authentication-from-the-browser-VA101873629.aspx

دی 12
Planning worksheets for SharePoint Server 2010 and 2007

به اعتقاد من یکی از مهم ترین مراحل برای نصب و راه اندازی شرپوینت داشتن طرح درست می باشد. ما همیشه در سازمان های مختلف شاهد مشکلات ناشی از عدم برنامه ریزی درست بوده ایم لذا همواره چه در دوره های آموزشی و چه در ملاقات ها به برنامه ریزی پیش از نصب به عنوان یکی از مهمترین مراحل اشاره نموده ایم. با این وجود بازهم (البته نسبت به سابق به میزان کمتر)  شاهد کم توجهی به این بخش هستیم. عدم برنامه ریزی درست پیش از نصب می تواند مشکلات زیادی را در زمان استفاده برای سازمان ها ایجاد نماید. مثلا در بسیار از موارد کاربرد شرپوینت در سازمان ها کاربران با مشکلاتی چون کندی سرویس ها( مانند سرویس جستجو Excelو…) کند شدن نمایش صفحات و… مواجه می شوند.

همانطور که اشاره شد یکی از مباحثی که در دوره های مدیریت شرپوینت بررسی می شود برنامه ریزی(Planning) می باشد. شما می توانید مراحل کامل برنامه ریزی برای راه اندازی شرپوینت 2007 را در اینجا و 2010 را در اینجا مشاهده نمایید. در نهایت کاربرگ هایی نیز قرار داده شده که بهتر است بسته به نیاز تکمیل شوند تا به عنوان راهنمایی برای راه اندازی شرپوینت همیشه برای رجوع در دسترس باشند. شما می توانید این کاربرگ ها را به طور یکجا برای نسخه 2007 از اینجا و 2010 از اینجا دانلود نمایید.

آذر 30
تعیین کاربر جاری در فرم های InfoPath

همانطور که می دانید یکی از کاربردهای شرپوینت در سازمان ها طراحی فرم های سازمان به صورت دیجیتال و حذف مستندات کاغذی می باشد. در این صورت می توان از امکانات شرپوینت هم در زمینه مدیریت مستندات از جمله نگهداری نگارش های مختلف، تخصیص دسترسی روی مستندات و استفاده از فرآیندهای کاری روی مستندات استفاده نمود. راهکار مایکروسافت برای پیاده سازی فرم نرم افزار Office InfoPath می باشد که امکانات کاملی در این زمینه در اختیار می گذارد. در این پست به یکی از سازگاری هایی که این نرم افزار با شرپوینت دارد  پرداخته می شود.

یکی از موارد پرکاربرد در طراحی فرم ها این است که کاربران مختلف بتوانند نماهای متفاوتی از فرم را مشاهده کنند. به عنوان مثال در فرم درخواست هزینه، کاربری که در حال پر کردن فرم است تنها باید بخش های دریافت اطلاعات را مشاهده نماید. پس از اینکه فرم پر شد، مسئول بخش مالی فرم را بررسی می کند تا در صورت تایید پرداخت صورت گیرد. به این منظور این شخص باید فیلد های دیگری را برای درج نظرات خود داشته باشد. در نهایت پس از اظهار نظر مسئول مالی فرم باید با تمامی نظرات آن برای کاربر درخواست دهنده قابل مشاهده باشد و البته بهتر است که در این حالت دیگر محتویات فرم قابل ویرایش نباشد.

همانطور که در سناریوی فوق آشکار است و همچنین در بسیاری از سناریوهای مشابه، یکی از نیازها در طراحی فرم این است که بدانیم هم اکنون چه کاربری در حال مشاهده فرم است تا با توجه به این امر تصمیم گیری نماییم که چه نمایی به او نشان داده شود. یکی از راه هایی که به این منظور وجود دارد و قابل استفاده در فرم های قابل نمایش در وب یا browser-enabled نیز می باشد استفاده از وب سرویس ها می باشد. در این پست نحوه تنظیم این کار نشان داده می شود.

ابتدا از منوی Tools گزینه Data Connections را انتخاب نموده و یک Connection جدید اضافه می کنیم و نوع آن را Recieve data انتخاب می کنیم.

Data Connection 

در پنجره بعد محل دریافت اطلاعات را Web Service انتخاب می کنیم.

web service 

در پنجره بعد آدرس وب سرویس مورد نظرمان که در اینجا UserProfileService.asmx است را به صورت نسبی به سرور وارد می کنیم.

User profile service 

در صفحه بعد متد GetUserProfileByName را انتخاب می کنیم.

Method 

پنجره های بعد را هم با همان تنظیمات پیش فرض Next می زنیم. فقط باید دقت داشته باشیم که در پنجره آخر پیش از finish گزینه Automatically retrieve data when form is opened انتخاب شده باشد. در این قسمت نامی هم برای این Connection وارد کنید.

حال کافیست تا یک Text box به فرم خود اضافه کنید. سپس روی این آن دابل کلیک نموده و در پنجره مشخصات در قسمت Default Value روی دکمه fx کلیک نمایید.

 Default value

در پنجره باز شده روی Insert field or group کلیک کنید. در این پنجره از قسمت Data source همان Connection که در قسمت قبل ایجاد کردید را انتخاب نمایید. سپس مشابه شکل زیر فیلد value را انتخاب کنید ولی پیش از Ok روی Filter Data کلیک کنید

Filter Data 

در پنجره باز شده یک فیلتر جدید اضافه (add) کنید. در قسمت اول پنجره باز شده مطابق شکل زیر مقدار دهی به فیلد یا گروه را انتخاب کنید.

 filter data

سپس مطابق شکل زیر مقدار Name را انتخاب کنید

Name 

قسمت وسط با مقدار پیش فرض یعنی Is equal to باقس بماند و در بخش نهایی گزینه Type Text… را انتخاب کنید. در این قسمت لازم به ذکر است که متدی که ما در حال استفاده از آن هستیم دارای ویژگی های مختلفی می باشد که در انتهای این مطلب لیست شده اند و شما از هر کدام از آنها می توانید استفاده کنید. در این پست ما از مشخصه UserName استفاده می کنیم. به این منظور در قسمت آخر این پنجره متن UserName را وارد کنید.

filter 

پنجره های باز را Ok کرده تا به فرم برگردید حال اگر پیش نمایش فرم را مشاهده کنید در این Text Box مقدار UserName از کاربری که هم اکنون وارد سیستم شده است نشان داده می شود.

UserProfile_GUID
AccountName
FirstName
LastName
PreferredName
WorkPhone
Office
Department
Title
Manager
AboutMe
PersonalSpace
PictureURL
UserName
QuickLinks
WebSite
PublicSiteRedirect
SPS-Dotted-line
SPS-Peers
SPS-Responsibility
SPS-Skills
SPS-PastProjects
SPS-Interests
SPS-School
SPS-SipAddress
SPS-Birthday
SPS-MySiteUpgrade
SPS-DontSuggestList
SPS-ProxyAddresses
SPS-HireDate
SPS-LastColleagueAdded
SPS-OWAUrl
SPS-ResourceAccountName
SPS-MasterAccountName
Assistant
WorkEmail
CellPhone
Fax
HomePhone

آبان 11
کم کردن مقادیر تاریخ از هم

در این مطلب می خواهم روش ساده ای برای تعیین اختلاف دو مقدار تاریخی از هم بر حسب روز را نشان دهم. هر چند که ممکن است بسیاری از خوانندگان عزیز با این مطلب آشنایی داشته باشند. فرض کنیم که دو فیلد از نوع تاریخ داشته باشیم، به عنوان مثال “تاریخ صدور” و “تاریخ سررسید” و بخواهیم در فیلد دیگری اختلاف این دو مقدار نشان داده شود. برای این کار کافیست تا فید دیگری از نوع محاسباتی ایجاد نماییم و در قسمت فرمول آن دو ستون از نوع تاریخ را از هم کم کنیم  و نوع خروجی فرمول آن را از نوع عددی انتخاب نماییم. در این حالت همانطور که در تصاویر زیر نشان داده شده است در ستون سوم اختلاف مقدار دو ستون محاسبه و بر حسب روز نشان داده می شود.

ایجاد ستون     

نمونه

آبان 04
Hidden Content types

همگی با مفهوم انواع محتوا (Content Type) در شرپوینت آشنا هستیم. امروز می خواهم نکته ای ظریف ولی کاربردی در این مورد را بیان کنم. ممکن است بنا به کاربرد، شما نوع محتوای خاصی را ایجاد کرده باشید و بخواهید که آن را از دسترس کاربران دیگر پنهان کنید تا مثلا نتوانند آن را ویرایش کنند و یا در زمان ایجاد یک نوع محتوای جدید از آن به ارث ببرند. و یا اینکه مثل موردی که من با آن مواجه شدم ممکن است پس از نصب یک Application خاص روی شرپوینت بخواهید از انواع محتویات ایجاد شده توسط این برنامه استفاده کنید و یک نوع محتوای جدید بر اساس آنها ایجاد کنید ولی نوع محتوای مورد نظر شما در زمان ایجاد، برای به ارث بردن نشان داده نمی شود. در این حالات این نوع محتوا به اصطلاح در گروه hidden قرار داده شده و پنهان شده است!

نوع محتوای پنهان 

برای پنهان کردن یک نوع محتوا به سادگی کافیست تا شما در قسمت نتظیمات آن نوع محتوا و در قسمت “نام، شرح و گروه” (Tittle ,Description and Group) گروه نوع محتوای مورد نظر را “_Hidden” وارد کنید. در این حالت این نوع محتوا دیگر در لیست انواع محتویات سایت نشان داده نمی شود و تغییر مجدد در آن تنها با به روز رسانی فیلد گروه (Group) از طریق Object Model شرپوینت امکان پذیر می باشد.

لازم به ذکر است که برای دسترسی به انواع محتویات پنهان شده، اگر یک نوع محتوای دیگر از آن به ارث برده باشد، شما می توانید در صفحه تنظیات نوع محتوای به ارث برنده و در قسمت “مادر”(Parent) به نوع محتوای پنهان دسترسی پیدا کنید و با کلیک روی آن به تنظیمات نوع محتوای پنهان شده دسترسی پیدا کنید و گروه آن را از _Hidden به مقدار دیگری تغییر دهید تا به شما نشان داده شود.

به عنوان مثال من گروه نوع محتوای List Item را برابر _Hidden قرار دادم. با این کار نوع محتوا در لیست دیگر به من نشان داده نمی شود؛ در این حالت می توان با کلیک روی یکی از انواع محتوایی که از این مورد به ارث برده اند(مثل Contact) در صفحه تنظیمات آن به نوع محتوای پنهان دسترسی یافت.

مورد لیست       تماس

آبان 01
تغییر Authentication Mode در شرپوینت 2010

یکی  از امکانات جالبی که در نسخه 2010 شرپوینت اضافه شده است Claim Based Authentication Mode می باشد. این حالت به شما این امکان را می دهد که برای یک Web Application خاص به طور همزمان دو مد مختلف برای احراز هویت کاربران داشته باشید. یعنی کاربران به هنگام ورود می توانند انتخاب کنند که به طور مثلا به صورت Form Based و یا Windows Based احراز هویت شوند.

 Login

برای این کار کافیست تا در زمان ایجاد Web Application ، گزینه Authentication Mode  را Claim Based انتخاب نمایید. البته در هر زمانی می توان این مد را تغییر داد به عنوان مثال برای تغییر از Classic Mode به Claim Based کافیست تا دستورات زیر را در PowerSell اجرا نمایید.

$App = Get-SPWebApplication "http://<server>/"

$App.UseClaimsAuthentication = 1

$App.Update()

$App.ProvisionGlobally()

برای انجام تنظیمات مربوط به Form Based Authentication می توانید از پست کامل وبلاگ خانم ملکی استفاده کنید. همچنین این فایل هم در ضورت نیاز شامل توضیحات بیشتر در این زمینه می باشد.

شهریور 27
وب پارت رسم نمودار در شرپوینت 2010

همانطور که می دانیم یکی از کاربردهای اصلی شرپوینت فراهم نمودن امکاناتی برای پشتیبانی از Business Intelligence می باشد. در شرپوینت 2007 این امکان با استفاده از ابزارهایی چون KPI List ها، Dashboard Page ها و Excell Service فراهم شده است. در نسخه 2010 شرپوینت پیشرفت ها و تغییراتی زیادی در زمینه پشتیبانی از BI اضافه شده که از جمله مهمترین آنها BCS می باشد. در این پست به یکی دیگر از این امکانات به نام Charting web part در شرپوینت 2010 می پردازم. چارت ها همواره مورد توجه مدیران سازمان هستند؛ چون این اشخاص بیشتر میل دارند تا نتیجه حجم زیادی از اطلاعات را به صورت گویا و گرافیکی مشاهده نمایند تا در کوتاهترین زمان به نتیجه مورد نظر دست پیدا کنند. در نسخه 2007 شرپوینت این امکان به طور پیشفرض وجود نداشت و باید از وب پارت های مختلفی که هم به صورت رایگان و هم قابل خرید برای این کار فراهم شده اند استفاده می شد.

وب پارت تهیه نمودار به طور پیش فرض در نسخه Enterprise شرپوینت 2010 وجود دارد و برای استفاده از آن لازم است تا Enterprise Feature در سطح مجموعه سایت فعال باشد. 

 Feature Activation

در این حالت شما می توانید این وب پارت را در زیر قسمت Business data در لیست وب پارت ها مشاهده نمایید. با اضافه کردن این وب پارت به صفحه در ابتدا یک نمودار به صورت نمایشی به شما نشان داده می شود که باید آن را تنظیم نمایید.

first Image 

با کلیک روی گزینه Data&Appearance شما می توانید انتخاب کنید که اطلاعات از کجا در این نمودار نشان داده شوند یا در واقع Source چارت را انتخاب نمایید. همچنین می توانید تنظیمات مربوط به نحوه نمایش این وب پارت را نیز از این طریق تغییر دهید.

 Webpart setting

با کلیک روی گزینه Connect Chart To Data همانطور که در شکل زیر می بینید شما می توانید این وب پارت را به یک وب پارت دیگر، به یک لیست، به BCS و یا Excell Service متصل نمایید.

Connection types 

در اینجا به عنوان نمونه Connect to a list انتخاب شده است. در صفحه بعد شما باید لیست مورد نظرتان را انتخاب کنید. این لیست می تواند در سایت های دیگر از همین مجموعه سایت وجود داشته باشد.

list selection 

در مرحله بعد اطلاعات از لیست دریافت می شود و نشان داده می شود، شما می توانید فیلتر هایی را نیز در این بخش اعمال کنید که داده های خاصی نشان داده شوند.

filter setting 

در بخش بعد تنظیمات مربوط به نمودار دریافت می شود. شما می توانید نوع نمودار، اینکه چه اطلاعاتی در چه محوری نشان داده شود و یا برخی فرمول های خاص را نیز اضافه کنید.

Display Options 

در قسمت Advance Setting و Customize your webpart هم می توانید تنظیمات جالب و مفیدی برای این وب پارت پیدا کنید.

Final Chart

شهریور 22
وب سرویس ها در شرپوینت

همانطور که می دانیم WSS3 وب سرویس هایی را فراهم می کند که به کاربر اجازه می دهد تا به صورت راه دور با محیط شرپوینت تعامل داشته باشد. شما می توانید لیست کاملی از این وب سرویس ها را در اینجا مشاهده نمایید. وب سرویس های هر سایت برای شما این امکان را فراهم می نمایند که از هر محل دیگری به عنوان مثال یک سایت دیگر آن وب سرویس را فراخوانی نموده تا عملیات مورد نظر شما را در سایت مقصد انجام دهد. همانطور که در لینک فوق نیز می توانید مشاهده نمایید این وب سرویس ها به گروه های مختلفی دسته بندی شده اند که برخی از آنها عبارتند از امکاناتی برای کار در سطح سایت ها در سطح لیست ها و مخازن اسناد، در زمینه دسترسی و  همینطور موارد دیگر.

با توجه به آزادی عملی که این وب سرویس ها برایمان فراهم می کنند و محدودیت سایت و یا حتی نهایتا فارم را هم ندارند می توانند در بسیاری از موارد محدودیت هایی که سایت ها و یا مجموعه سایت ها تحمیل می کنند را برطرف نمایند. در این پست نحوه استفاده از وب سرویس ها در طول اجرای یک فرآیند کاری را بیان می کنم. ابزار طراحی هم که در نظر گرفته شده Nintex Workflow 2007 می باشد. این ابزار عملگری را برای فراخوانی وب سرویس ها فراهم می کند که به کمک آن شما به راحتی و به طور پارامتریک می توانید این وب سرویس ها را فراخوانی نمایید. تنها کافیست که در این عملگر آدرس وب سرویس مورد نظر و همچنین شناسه کاربری برای دسترسی به این وب سرویس را وارد نمایید. با توجه به تابع انتخاب شده پارامترها موجود به طور پویا نشان داده می شود که البته شما می توانید مستقیما به فایل xml  مربوطه هم دسترسی داشته باشید.

تنظیمات       تنظیمات
در ادامه به عنوان نمونه نحوه استفاده وب سرویس Update list item در رابطه با لیست ها  که به کمک آن می توان یک مورد جدید در لیست ایجاد و یا یک آیتم را بروز رسانی کرد نشان داده می شود. برای این کار همانطور که در شکل فوق نشان داده شده در قسمت آدرس از تنظیمات عملگر call web service، آدرس مربوط به وب سرویس لیست ها و در قسمت بعد شناسه و رمز عبور کاربری برای دسترسی به این وب سرویس وارد می شود. در قسمت web method تابع updatelistitems را از لیست وب سرویس های موجود در این گروه انتخاب می کنیم. محدوده این وب سرویس همان سایتی است که از آن فراخوانی می شود،یعنی شما باید این وب سرویس را از همان سایتی که لیست مقصدتان قرار دارد فراخوانی نمایید. این وب سرویس دو پارامتر اصلی دارد که یکی نام لیست مورد نظر(که البته در این قسمت می توان شناسه لیست مربوطه را نیز به صورت {list ID} وارد کرد) و دیگری یک فایل Batch حاوی اطلاعات مورد نیاز برای فراخوانی این وب سرویس است. در واقع در این فایل مشخصی می کنیم که چه نوع بروز رسانی می خواهیم انجام دهیم(Create,delete,update). همچنین در این فایل اطلاعاتی که می خواهیم در فیلد های لیست مقصد قرار داده شوند وارد می شوند. در ادامه نمونه ای از این فایل نشان داده شده است. برای سهولت کار با استفاده از یک عملگر Build dynamic string این فایل Batch در یک متغییر متنی ذخیره شده که این متغییر را به عنوان ورودی به متد وب سرویس می دهیم. در این حالت آزدای عمل بیشتری هم فراهم می شود مثلا شما می توانید از مشخصات مربوط به آیتم جاری هم در این فایل استفاده کنید.

Batch 

برای به روز رسانی هم کافیست تا متد update از این وب سرویس را فراخوانی نمایید. نمونه ای از این متد هم در ادامه نشان داده شده است.

<Batch OnError="Continue" ListVersion="1"
ViewName="7773715C-AC2E-41B5-8695-A060F1683330">
   <Method ID="1" Cmd="Update">
      <Field Name="ID">16</Field>
      <Field Name="Title">New2</Field>
      <Field Name="testcol">16</Field>
   </Method>
</Batch>

مرداد 29
نمایش صفحات شرپوینت در Outlook

شرپوینت به عنوان یکی از محصولات مایکروسافت سازگاری زیادی با سایر محصولات این شرکت از جمله مجموعه پرکاربرد Office دارد. همه ما از این سازگاری ها با InfoPath ، Excel و Outlook استفاده میکنیم. در این پست یکی از سازگاری های شرپوینت با Outlook که می تواند در بسیاری از موارد راه حل مناسبی برای مسائلمان باشد نشان داده می شود.

برای این کار مطابق شکل زیر در Outlook خود یک پوشه جدید با نامی مناسب ایجاد کنید.

پوشه جدید 

روی پوشه جدید خود کلیک راست نموده و گزینه Properties را انتخاب کنید. در قسمت Home Page ادرسی صفحه ای از سایت خود را که می خواهید مشاهده کنید وارد نمایید. و چک مارک “Show home page by default for this folder” را نیز انتخاب کنید.

 تنظیمات پوشه

در تصویر زیر نتیجه این کار برای یک صفحه نشان داده شده است. با این کار شما می توانید صفحه مورد نظر سایت خود را مستقیما از طریق Outlook مشاهده نمایید. این روش برای کاربرانی که به طور سنتی به نرم افزار Outlook خود به عنوان ابزار Collaboration وابسته هستند می تواند بسیار کارآمد باشد.

صفحه در Outlook

خرداد 30
وب پارت Site Aggregator

وب پارت های زیادی به طور پیش فرض در شرپوینت وجود دارد که ممکن است بعضا با آنها آشنا نباشیم تا در صورت نیاز بتوانیم به عنوان راه حلی برای مشکلمان از آنها استفاده کنیم. یکی از این وب پارت ها “Site Aggregator” می باشد. این وب پارت امکانی برای نمایش صفحات دیگر سایت درون صفحه مورد نظر شما می باشد. در واقع این وب پارت همان وب پارتی است که به طور پیش فرض در روی صفحه اصلی “سایت من”(My Site) وجود دارد. در شکل زیر نمونه ای از این وب پارت که به صفحه اضافه شده است نشان داده شده است.

Site Aggregator 

از این وب پارت می توان برای مشاهده مستنداتی که لازم است اشخاص مواردی را از سایت های دیگر مشاهده و تایید کننده  استفاده می شود. همجنین می توان وظایف لیست وظایف سایت های دیگر را نیز به این طریق مشاهده نمود. در تنظیمات این وب پارت هم امکاناتی برای تنظیم حدکثر کارکترهای مجاز برای نمایش در نام هر یک از tab ها را تعیین نمود.

1 - 10صفحه بعد