فصل 1: مقدمات شیرپوینت SE

معرفی کامل شیرپوینت SE

شیرپوینت SE (SharePoint Server Edition) یک پلتفرم جامع همکاری سازمانی است که توسط شرکت مایکروسافت توسعه یافته است. این پلتفرم به سازمان‌ها امکان می‌دهد تا اطلاعات، اسناد و دانش خود را به صورت متمرکز مدیریت کرده و در اختیار کارکنان قرار دهند.

اهداف یادگیری این فصل:

  • درک مفاهیم پایه شیرپوینت SE
  • شناخت تفاوت‌های شیرپوینت SE با SharePoint Online
  • آشنایی با معماری و اجزای شیرپوینت
  • کاربردهای اصلی شیرپوینت در سازمان‌ها

تاریخچه شیرپوینت

شیرپوینت برای اولین بار در سال ۲۰۰۱ توسط مایکروسافت معرفی شد. از آن زمان تاکنون نسخه‌های متعددی از این محصول ارائه شده است:

  • SharePoint 2001: اولین نسخه با قابلیت‌های محدود
  • SharePoint 2007: معرفی معماری MOSS (Microsoft Office SharePoint Server)
  • SharePoint 2010: بهبود رابط کاربری و افزودن قابلیت‌های اجتماعی
  • SharePoint 2013: طراحی ریسپانسیو و یکپارچگی بهتر با ابر
  • SharePoint 2016: بهینه‌سازی برای زیرساخت‌های هیبریدی
  • SharePoint 2019: آخرین نسخه On-Premises با ویژگی‌های مدرن
  • SharePoint SE: نسخه ویژه با قابلیت‌های توسعه‌یافته

تفاوت شیرپوینت SE با SharePoint Online

مقایسه شیرپوینت SE و SharePoint Online

ویژگی شیرپوینت SE SharePoint Online
میزبانی On-Premises (داخلی) Cloud (ابر مایکروسافت)
کنترل کنترل کامل توسط سازمان کنترل محدود، مدیریت توسط مایکروسافت
هزینه هزینه اولیه بالا، هزینه نگهداری هزینه ماهانه بر اساس کاربر
سفارشی‌سازی سفارشی‌سازی کامل سفارشی‌سازی محدود

کاربردهای اصلی شیرپوینت SE

۶ کاربرد اصلی شیرپوینت در سازمان‌ها:

  1. مدیریت اسناد سازمانی: ایجاد کتابخانه‌های اسناد با قابلیت نسخه‌بندی، کنترل دسترسی و گردش کار
  2. همکاری تیمی: ایجاد سایت‌های تیمی برای پروژه‌ها و کار گروهی
  3. پورتال اطلاعاتی: ایجاد پورتال‌های سازمانی برای انتشار اخبار و اطلاعات
  4. مدیریت فرآیندهای کسب‌وکار: اتوماسیون فرآیندها با استفاده از گردش کار
  5. جستجوی سازمانی: ایجاد موتور جستجوی قدرتمند برای اطلاعات سازمان
  6. داشبوردهای مدیریتی: ایجاد داشبوردهای گزارش‌گیری با استفاده از SharePoint BI

نکته مهم:

انتخاب بین شیرپوینت SE و SharePoint Online به عوامل مختلفی مانند اندازه سازمان، نیاز به کنترل داده‌ها، محدودیت‌های قانونی و بودجه بستگی دارد. سازمان‌های بزرگ با نیازهای امنیتی خاص معمولاً شیرپوینت SE را ترجیح می‌دهند.

نصب و راه‌اندازی شیرپوینت SE

نصب شیرپوینت SE یک فرآیند چند مرحله‌ای است که نیاز به برنامه‌ریزی دقیق دارد. در این فصل، مراحل نصب و پیکربندی اولیه شیرپوینت SE را به طور کامل بررسی می‌کنیم.

پیش‌نیازهای نصب

نیازمندی‌های سخت‌افزاری و نرم‌افزاری:

  • سیستم عامل: Windows Server 2016 یا 2019 (64-bit)
  • پایگاه داده: SQL Server 2016 یا 2019
  • حافظه RAM: حداقل 12 گیگابایت برای محیط آزمایشی، 24 گیگابایت برای تولید
  • فضای دیسک: حداقل 80 گیگابایت فضای آزاد
  • پردازنده: حداقل 4 هسته‌ای 64 بیتی
  • نرم‌افزارهای لازم: .NET Framework 4.8، PowerShell 5.1

مراحل نصب

نصب شیرپوینت SE شامل مراحل زیر است:

  1. آماده‌سازی سرور و نصب پیش‌نیازها
  2. نصب SQL Server و پیکربندی آن
  3. دانلود و نصب شیرپوینت SE
  4. اجرای راه‌انداز محصول (Product Configuration Wizard)
  5. ایجاد Farm Configuration
  6. پیکربندی سرویس‌های لازم
  7. ایجاد برنامه‌های وب و مجموعه سایت‌ها

نصب با استفاده از PowerShell

# نصب پیش‌نیازهای شیرپوینت
Install-WindowsFeature NET-Framework-Features, NET-Framework-Core, `
NET-HTTP-Activation, NET-Non-HTTP-Activ, NET-WCF-HTTP-Activation45, `
Web-Server, Web-WebServer, Web-Common-Http, Web-Static-Content, `
Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-App-Dev, `
Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, `
Web-Health, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, `
Web-Http-Tracing, Web-Security, Web-Basic-Auth, Web-Windows-Auth, `
Web-Filtering, Web-Performance, Web-Stat-Compression, Web-Dyn-Compression, `
Web-Mgmt-Tools, Web-Mgmt-Console, Web-Mgmt-Compat, Web-Metabase, `
WAS, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs

# نصب شیرپوینت SE
# اجرای فایل نصبی PrerequisiteInstaller.exe
# سپس اجرای Setup.exe

# پس از نصب، پیکربندی Farm
New-SPConfigurationDatabase -DatabaseName SharePoint_Config `
-DatabaseServer SQLServerName -FarmCredentials (Get-Credential) `
-Passphrase (ConvertTo-SecureString "YourPassphrase" -AsPlainText -Force)

Connect-SPConfigurationDatabase -DatabaseName SharePoint_Config `
-DatabaseServer SQLServerName -Passphrase (ConvertTo-SecureString "YourPassphrase" -AsPlainText -Force)

Install-SPHelpCollection -All
Initialize-SPResourceSecurity
Install-SPService
Install-SPFeature -AllExistingFeatures
New-SPCentralAdministration -Port 2016 -WindowsAuthProvider "NTLM"
Install-SPApplicationContent

توصیه امنیتی:

همیشه از یک Passphrase قوی و پیچیده برای Farm Passphrase استفاده کنید. این رمز برای افزودن سرورهای جدید به Farm استفاده می‌شود و امنیت Farm شما به آن وابسته است.

عیب‌یابی مشکلات نصب

مشکلات رایج در نصب شیرپوینت SE و راه‌حل‌های آن:

  • خطای "Setup is unable to proceed": بررسی Log Files در پوشه %TEMP%
  • خطای "Failed to connect to database": بررسی دسترسی شبکه به SQL Server
  • خطای "Access Denied": اجرای Setup با Run as Administrator
  • خطای "Prerequisite installer failed": دانلود مجدد prerequisite files

معماری سایت‌ها و مجموعه سایت‌ها

در این فصل با معماری سایت‌ها در شیرپوینت SE آشنا شده و یاد می‌گیرید چگونه ساختار سایت‌های سازمانی را طراحی و پیاده‌سازی کنید.

سلسله مراتب سایت‌ها در شیرپوینت

معماری سایت‌های شیرپوینت به صورت سلسله مراتبی است:

سطوح معماری شیرپوینت:

  1. Farm: بالاترین سطح، شامل تمام سرورها و سرویس‌ها
  2. Web Application: برنامه‌های وب که سایت‌ها را میزبانی می‌کنند
  3. Site Collection: مجموعه‌ای از سایت‌های مرتبط با یک مالک مشترک
  4. Site (Web): سایت‌های فردی که محتوا را نگهداری می‌کنند
  5. Lists/Libraries: اجزای تشکیل‌دهنده سایت‌ها
  6. Items/Documents: اقلام و اسناد موجود در لیست‌ها و کتابخانه‌ها

انواع مجموعه سایت‌ها (Site Collections)

شیرپوینت SE چندین نوع مجموعه سایت پیش‌فرض ارائه می‌دهد:

  • Team Site: برای همکاری تیمی و مدیریت پروژه
  • Communication Site: برای انتشار محتوا و اطلاع‌رسانی
  • Blog Site: برای انتشار وبلاگ و مقالات
  • Project Site: برای مدیریت پروژه با قالب‌های خاص
  • Community Site: برای ایجاد انجمن‌های گفتگو
  • Document Center: برای مدیریت حجم زیادی از اسناد
  • Records Center: برای مدیریت اسناد بایگانی و رکوردها
  • Enterprise Search Center: برای ایجاد مرکز جستجوی سازمانی
  • Business Intelligence Center: برای گزارش‌گیری و تحلیل داده

ایجاد مجموعه سایت جدید

# ایجاد مجموعه سایت جدید با PowerShell
New-SPSite -Url "http://portal.company.com/sites/marketing" `
-OwnerAlias "COMPANY\admin" `
-Name "پورتال بازاریابی" `
-Template "STS#0" `
-ContentDatabase "WSS_Content_Portal"

# تنظیم سهمیه برای مجموعه سایت
Set-SPSite -Identity "http://portal.company.com/sites/marketing" `
-MaxSize 10485760 # 10GB

# تنظیم مالک ثانویه
Set-SPSite -Identity "http://portal.company.com/sites/marketing" `
-OwnerEmail "marketing-manager@company.com"

# مشاهده اطلاعات مجموعه سایت
Get-SPSite "http://portal.company.com/sites/marketing" | Select Url, Owner, Usage

مدیریت محتوای مجموعه سایت‌ها

بهترین روش‌های مدیریت مجموعه سایت‌ها:

  • ایجاد ساختار منطقی و سلسله مراتبی برای سایت‌ها
  • تعیین مالک‌های مشخص برای هر مجموعه سایت
  • تنظیم سهمیه‌های مناسب برای کنترل فضای ذخیره‌سازی
  • پیاده‌سازی سیاست‌های حذف خودکار برای سایت‌های غیرفعال
  • ایجاد فرآیند تأیید برای درخواست‌های ایجاد سایت جدید

مدیریت سلسله مراتب سایت‌ها

برای مدیریت مؤثر سایت‌ها، باید یک معماری اطلاعاتی مناسب طراحی کنید:

  1. شناسایی نیازهای سازمان و گروه‌های کاربری
  2. طراحی ساختار سایت‌ها بر اساس واحدهای سازمانی
  3. تعیین مالک‌های سایت و سطح دسترسی‌ها
  4. ایجاد استانداردهای نامگذاری سایت‌ها
  5. طراحی معماری ناوبری و جستجو
  6. پیاده‌سازی راهنماهای استفاده و آموزش کاربران

مدیریت محتوا و کتابخانه‌ها

در این فصل با مفاهیم پیشرفته مدیریت محتوا در شیرپوینت SE آشنا شده و تکنیک‌های مؤثر سازماندهی و مدیریت اسناد را یاد می‌گیرید.

کتابخانه‌های اسناد پیشرفته

کتابخانه‌های اسناد هسته اصلی مدیریت اطلاعات در شیرپوینت هستند. در این بخش ویژگی‌های پیشرفته کتابخانه‌ها را بررسی می‌کنیم.

ویژگی‌های پیشرفته کتابخانه‌های اسناد:

  • نسخه‌بندی اصلی و فرعی: مدیریت نسخه‌های اصلی (Major) و پیش‌نویس (Minor)
  • بررسی اسناد: قابلیت Check-out و Check-in برای جلوگیری از تداخل ویرایش
  • ردیابی اسناد: ثبت تاریخچه تغییرات و کاربران ویرایش‌کننده
  • سیاست‌های نگهداری: تعریف سیاست‌های حذف یا انتقال خودکار اسناد
  • برچسب‌گذاری اطلاعات: استفاده از Managed Metadata برای طبقه‌بندی اسناد
  • جستجوی محتوا: ایندکس‌گذاری کامل متن اسناد برای جستجوی سریع

مدیریت نسخه‌ها (Versioning)

سیستم نسخه‌بندی شیرپوینت به شما امکان می‌دهد تاریخچه کاملی از تغییرات اسناد را حفظ کنید:

# تنظیم نسخه‌بندی با PowerShell
$web = Get-SPWeb "http://portal.company.com/sites/marketing"
$list = $web.Lists["مستندات پروژه"]

# فعال‌سازی نسخه‌بندی
$list.EnableVersioning = $true
$list.MajorVersionLimit = 50 # حداکثر 50 نسخه اصلی
$list.EnableMinorVersions = $true
$list.MajorWithMinorVersionsLimit = 20 # حداکثر 20 نسخه پیش‌نویس برای هر نسخه اصلی

# فعال‌سازی نیاز به تأیید برای انتشار
$list.EnableModeration = $true
$list.Update()

# نمایش اطلاعات نسخه‌بندی
Write-Host "نسخه‌بندی فعال: $($list.EnableVersioning)"
Write-Host "حداکثر نسخه اصلی: $($list.MajorVersionLimit)"

ستون‌های سایت و محتوای سایت

ستون‌های سایت (Site Columns) و انواع محتوای سایت (Content Types) ابزارهای قدرتمندی برای استانداردسازی ساختار اطلاعات هستند:

مقایسه ستون سایت و نوع محتوا:

ویژگی ستون سایت نوع محتوا
دامنه کل مجموعه سایت کل مجموعه سایت
کاربرد تعریف یک فیلد تعریف مجموعه‌ای از فیلدها و رفتارها
قابلیت استفاده مجدد در چند لیست قابل استفاده در چند لیست و کتابخانه قابل استفاده
ارث‌بری ندارد دارد (Parent/Child)

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

# ایجاد نوع محتوای سفارشی با PowerShell
$site = Get-SPSite "http://portal.company.com"
$web = $site.RootWeb

# ایجاد ستون‌های سایت
$fieldXml = @"
<Field Type="Text" Name="ProjectCode" DisplayName="کد پروژه" Required="TRUE" />
<Field Type="Choice" Name="ProjectStatus" DisplayName="وضعیت پروژه">
  <CHOICES>
    <CHOICE>در انتظار</CHOICE>
    <CHOICE>در حال انجام</CHOICE>
    <CHOICE>تکمیل شده</CHOICE>
    <CHOICE>متوقف شده</CHOICE>
  </CHOICES>
</Field>
"@

$fields = $web.Fields
$fields.AddFieldAsXml($fieldXml)

# ایجاد نوع محتوای جدید
$contentType = New-Object Microsoft.SharePoint.SPContentType -ArgumentList @(
    $web.ContentTypes["مستند"],
    $web.ContentTypes,
    "مستند پروژه"
)

# افزودن ستون‌ها به نوع محتوا
$contentType.FieldLinks.Add((New-Object Microsoft.SharePoint.SPFieldLink ($fields["ProjectCode"])))
$contentType.FieldLinks.Add((New-Object Microsoft.SharePoint.SPFieldLink ($fields["ProjectStatus"])))

# ذخیره نوع محتوا
$web.ContentTypes.Add($contentType)
$web.Update()

سیاست‌های اطلاعاتی (Information Management Policies)

سیاست‌های اطلاعاتی به شما امکان می‌دهند قوانین مدیریت چرخه حیات محتوا را تعریف کنید:

انواع سیاست‌های اطلاعاتی:

  • سیاست نگهداری (Retention): تعیین مدت نگهداری اسناد و اقدام نهایی (حذف یا انتقال)
  • سیاست ممیزی (Auditing): ثبت رویدادهای انجام شده روی اسناد
  • سیاست بارکد (Barcode): ایجاد بارکد برای اسناد فیزیکی
  • سیاست برچسب (Labeling): ایجاد برچسب‌های طبقه‌بندی روی اسناد

امنیت و مدیریت دسترسی در شیرپوینت SE

مدیریت امنیت و کنترل دسترسی یکی از مهمترین جنبه‌های پیاده‌سازی شیرپوینت است. در این فصل با مفاهیم امنیتی شیرپوینت آشنا می‌شوید.

سطوح امنیتی در شیرپوینت

سیستم امنیتی شیرپوینت بر اساس مدل اعتبارسنجی ویندوز و شامل سطوح زیر است:

  1. Farm Level: امنیت در سطح Farm شامل حساب‌های سرویس و تنظیمات Farm
  2. Web Application Level: تنظیمات احراز هویت در سطح برنامه وب
  3. Site Collection Level: مدیران مجموعه سایت و ویژگی‌های امنیتی
  4. Site Level: گروه‌ها و مجوزهای سایت
  5. List/Library Level: مجوزهای سطح لیست و کتابخانه
  6. Item/Document Level: مجوزهای سطح آیتم و سند

مجوزهای استاندارد شیرپوینت:

  • Full Control: کنترل کامل
  • Design: امکان طراحی و ویرایش صفحات
  • Edit: ویرایش آیتم‌ها، اسناد و لیست‌ها
  • Contribute: افزودن، ویرایش و حذف آیتم‌ها
  • Read: فقط مشاهده
  • Limited Access: دسترسی محدود به برخی محتواها
  • View Only: فقط مشاهده بدون دانلود

جریان کار و اتوماسیون فرآیندها

جریان‌های کار ابزار قدرتمندی برای خودکارسازی فرآیندهای کسب‌وکار در شیرپوینت هستند.

انواع جریان کار در شیرپوینت SE:

  • جریان کار تایید (Approval): برای فرآیندهای بررسی و تایید
  • جریان کار جمع‌آوری بازخورد (Collect Feedback): برای دریافت نظرات
  • جریان کار جمع‌آوری امضا (Collect Signatures): برای فرآیندهای امضا
  • جریان کار انتشار (Publishing): برای مدیریت چرخه حیات محتوا
  • جریان کار Disposition: برای مدیریت نگهداری و حذف اسناد

جستجوی سازمانی پیشرفته

موتور جستجوی شیرپوینت یکی از قدرتمندترین ویژگی‌های این پلتفرم است که امکان جستجوی هوشمند در تمام محتوای سازمان را فراهم می‌کند.

اجزای موتور جستجوی شیرپوینت:

  • Crawl Component: خزنده‌های محتوا
  • Content Processing Component: پردازش محتوای خزیده شده
  • Analytics Processing Component: تحلیل محتوا و رفتار کاربران
  • Index Component: ایجاد و نگهداری ایندکس
  • Query Processing Component: پردازش درخواست‌های جستجو

مدیریت سرویس‌ها و برنامه‌های سرویس

سرویس‌های شیرپوینت هسته اصلی عملکرد این پلتفرم هستند و مدیریت صحیح آن‌ها برای عملکرد بهینه ضروری است.

سرویس‌های اصلی شیرپوینت SE:

  • User Profile Service: مدیریت پروفایل کاربران
  • Managed Metadata Service: مدیریت واژگان و برچسب‌ها
  • Search Service: سرویس جستجو
  • Secure Store Service: مدیریت اعتبارنامه‌های امن
  • Business Data Connectivity Service: اتصال به داده‌های خارجی

مدیریت شیرپوینت با PowerShell

PowerShell ابزار قدرتمندی برای مدیریت خودکار و یکپارچه شیرپوینت است که امکان انجام عملیات مدیریتی پیچیده را فراهم می‌کند.

دستورات پرکاربرد PowerShell:

  • مدیریت Farm و سرویس‌ها
  • ایجاد و مدیریت مجموعه سایت‌ها
  • مدیریت کاربران و مجوزها
  • پشتیبان‌گیری و بازیابی
  • مانیتورینگ و گزارش‌گیری

توسعه و سفارشی‌سازی در شیرپوینت SE

شیرپوینت SE امکان توسعه و سفارشی‌سازی گسترده را فراهم می‌کند. در این فصل با روش‌های توسعه در شیرپوینت آشنا می‌شوید.

روش‌های توسعه در شیرپوینت:

  • No-Code Solutions: استفاده از ویژگی‌های موجود بدون کدنویسی
  • Low-Code Solutions: استفاده از SharePoint Designer و Power Platform
  • Full-Code Solutions: توسعه با SharePoint Framework (SPFx)
  • Server-Side Solutions: توسعه راه‌حل‌های Farm و Sandbox

نکته مهم:

با معرفی SharePoint Framework (SPFx)، مایکروسافت رویکرد توسعه مدرن و مبتنی بر ابر را برای شیرپوینت معرفی کرده است. SPFx از فناوری‌های مدرن وب مانند React، TypeScript و Node.js استفاده می‌کند.