PSPCommunity.org ورود | ثبت نام | كمك

مهدي شيخي (Mahdi Sheikhi)

SharePoint Blog نگاهي بر مايکروسافت شرپوينت

بيشترين بازديد شده

نمایش اعداد بصورت حروف فارسی در Sql Server

 

نمایش اعداد بصورت حروف فارسی

در آخرین پروژه ای که کار میکردم نیاز بود که داده های عددی  را بصورت کاراکترهای فارسی یا بهتر بگویم به حروف فارسی نمایش بدهم . تا به حال این کار را در خیلی از نرم افزارها با استفاده از توابعی که با زبانهای سطح بالاتر مثل c# یا Delphi  و ... نوشته شده بود انجام می دادیم اما اینجا نیاز به این تبدیل تا سطح پایگاه داده پایین اومده بود .

فکر کردم شاید دوستان دیگری هم به همچینین موردی برخورد کنند در زیر این تابع آورده شده است.

همانطور که میدانید اصطلاحا به توابع در پایگاه داده UDF  یا User Define Function  میگویند. در زیر نحوه استفاده و خروجی تابع را مشاهده میکنید.

 

صدا کردن تابع :

Select dbo. NumberToPersianWords(654321)

خروجی تابع :   ششصد و پنجاه و چهار هزار و سیصد و بیست و یک

مثال استفاده در Query

Select  FactorNumber , dbo. NumberToPersianWords(Amount)

From Factor

 

 

Create FUNCTION dbo.NumberToPersianWords(@Number Numeric (38, 0))

RETURNS VARCHAR(8000)

AS BEGIN

DECLARE @inputNumber VARCHAR(38)

DECLARE @NumbersTable TABLE (number CHAR(2), word VARCHAR(10))

DECLARE @outputString VARCHAR(8000)

DECLARE @length INT

DECLARE @counter INT

DECLARE @loops INT

DECLARE @position INT

DECLARE @chunk CHAR(3) -- for chunks of 3 numbers

DECLARE @tensones CHAR(2)

DECLARE @hundreds CHAR(1)

DECLARE @tens CHAR(1)

DECLARE @ones CHAR(1)

 

IF @Number = 0 Return 'صفر'

 

-- initialize the variables

SELECT @inputNumber = CONVERT(varchar(38), @Number)

     , @outputString = ''

     , @counter = 1

SELECT @length   = LEN(@inputNumber)

     , @position = LEN(@inputNumber) - 2

     , @loops    = LEN(@inputNumber)/3

 

-- make sure there is an extra loop added for the remaining numbers

IF LEN(@inputNumber) % 3 <> 0 SET @loops = @loops + 1

 

-- insert data for the numbers and words

INSERT INTO @NumbersTable   SELECT '00', ''

    UNION ALL SELECT '01', 'يك'      UNION ALL SELECT '02', 'دو'

    UNION ALL SELECT '03', 'سه'    UNION ALL SELECT '04', 'چهار'

    UNION ALL SELECT '05', 'پنج'     UNION ALL SELECT '06', 'شش'

    UNION ALL SELECT '07', 'هفت'    UNION ALL SELECT '08', 'هشت'

    UNION ALL SELECT '09', 'نه'     UNION ALL SELECT '10', 'ده'

    UNION ALL SELECT '11', 'يازده'   UNION ALL SELECT '12', 'دوازده'

    UNION ALL SELECT '13', 'سيزده' UNION ALL SELECT '14', 'چهاده'

    UNION ALL SELECT '15', 'پانزده'  UNION ALL SELECT '16', 'شانزده'

    UNION ALL SELECT '17', 'هفده' UNION ALL SELECT '18', 'هيجده'

    UNION ALL SELECT '19', 'نوزده' UNION ALL SELECT '20', 'بيست'

    UNION ALL SELECT '30', 'سي'   UNION ALL SELECT '40', 'چهل'

    UNION ALL SELECT '50', 'پنجاه'    UNION ALL SELECT '60', 'شصت'

    UNION ALL SELECT '70', 'هفتاد'  UNION ALL SELECT '80', 'هشتاد'

    UNION ALL SELECT '90', 'نود'  

 

WHILE @counter <= @loops BEGIN

 

      -- get chunks of 3 numbers at a time, padded with leading zeros

      SET @chunk = RIGHT('000' + SUBSTRING(@inputNumber, @position, 3), 3)

 

      IF @chunk <> '000' BEGIN

            SELECT @tensones = SUBSTRING(@chunk, 2, 2)

                 , @hundreds = SUBSTRING(@chunk, 1, 1)

                 , @tens = SUBSTRING(@chunk, 2, 1)

                 , @ones = SUBSTRING(@chunk, 3, 1)

 

            -- If twenty or less, use the word directly from @NumbersTable

            IF CONVERT(INT, @tensones) <= 20 OR @Ones='0' BEGIN

                  SET @outputString = (SELECT word

                                      FROM @NumbersTable

                                      WHERE @tensones = number)

                   + CASE @counter WHEN 1 THEN '' -- No name

                       WHEN 2 THEN ' هزار ' WHEN 3 THEN ' ميليون '

                       WHEN 4 THEN ' بيليون '  WHEN 5 THEN ' تريليون '

                       WHEN 6 THEN ' كادريليون ' WHEN 7 THEN ' كنتيليون '

                       WHEN 8 THEN ' سيكستيليون '  WHEN 9 THEN ' سپتيليون '

                       WHEN 10 THEN ' اكتيليون '  WHEN 11 THEN ' نونيليون '

                       WHEN 12 THEN ' دسيليون '  WHEN 13 THEN ' آندسيليون '

                       ELSE '' END

                               + @outputString

                END

             ELSE BEGIN -- break down the ones and the tens separately

 

             SET @outputString = ' '

                            + (SELECT word

                                    FROM @NumbersTable

                                    WHERE @tens + '0' = number)

                                       + ' و '

                             + (SELECT word

                                    FROM @NumbersTable

                                    WHERE '0'+ @ones = number)

                   + CASE @counter WHEN 1 THEN '' -- No name

                       WHEN 2 THEN ' هزار ' WHEN 3 THEN ' ميليون '

                       WHEN 4 THEN ' ميليارد '  WHEN 5 THEN ' تريليون '

                       WHEN 6 THEN ' كادريليون ' WHEN 7 THEN ' كنتيليون '

                       WHEN 8 THEN ' سيكستيليون '  WHEN 9 THEN ' سپتيليون '

                       WHEN 10 THEN ' اكتيليون '  WHEN 11 THEN ' نونيليون '

                       WHEN 12 THEN ' دسيليون '   WHEN 13 THEN ' آندسيليون '

                       ELSE '' END

                            + @outputString

            END

 

            -- now get the hundreds

            IF @hundreds <> '0' BEGIN

                  SET @outputString  = (SELECT word

                                      FROM @NumbersTable

                                      WHERE '0' + @hundreds = number)

                                          + ' صد '

                                + @outputString

            END

      END

 

      SELECT @counter = @counter + 1

           , @position = @position - 3

 

END

 

-- Remove any double spaces

SET @outputString = LTRIM(RTRIM(REPLACE(@outputString, '  ', ' ')))

SET @outputstring = UPPER(LEFT(@outputstring, 1)) + SUBSTRING(@outputstring, 2, 8000)

 

 

RETURN @outputString -- return the result

END

GO

 

GRANT EXEC on DBO.NumberToPersianWords TO PUBLIC

GO

 

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

 

موفق باشید

 

ترفندی برای کار بر روی کلاسهای CSS در شیرپوینت

اين روزها طراحي  گرافيكي صفحات در شرپوينت بسيار گسترش يافته و اكثر سايتهاي شرپوينتي ديگر صورت قديمي استاندارد شرپوينت را ندارند .در اين خصوص ميتوانيد پست آرش را در زمينه سايتهاي برتر طراحي شده با شرپوينت را اينجا بخوانيد . 
همانطور كه ميدانيد استفاده از 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">&#xa0;</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

آشنايي با مدارک مايکروسافت در تکنولوژي شرپوينت-   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

آشنايي با نقشهاي يک تیم توسعه شرپوينت - SharePoint Development Team Overview

اکثر تیمهای توسعه نرم افزاری از نظر افراد و نقش آنان ساختار یکسانی دارند اما اين ساختار درتيمهاي شرپوینت کمی متفاوت است زیرا فعاليتهاي مرتبط با پروژه های شرپوينت توسعه و برنامه نويسي تنها نیست ، گاها برخي از پروژه ها اصلا نيازي به برنامه نويسي ندارند . در این مقاله سعی میشود با استفاده از راهنمایی های متدولوژي توليد مایکروسافت (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  و شبکه بسيار مهم است .

روشي براي مميزي دسترسي هاي کاربران در Windows SharePoint Services

يکي از نيازهاي مديران 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

در پست هاي بعدي سعي ميشود جزئيات بيشتري از اين مفاهيم همراه با الگوهاي کاربردي طراحي ها ارائه شود .

 

STSADMWIN ابزاري براي تنبلها
 

اگه شما از کاربران علاقه مند به ويندوز هستيد حتما با کارکردن با ابزارهاي 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>

Posted: Friday, November 28, 2008 1:32 AM توسط Mahdi | پيام 2
در زمینه: