کاربرد شیرپوینت ( بله یا خیر به شیرپوینت)

SharePoint Yes or No

کاربرد شیرپوینت – بله یا خیر به شیرپوینت؟

مدتی است که قرار شده مدیریت یک تیم 15 نفره که در حال توسعه و پیادی سازی سیستم های نرم افزاری بر پایه SharePoint انجام می دهند را به من بسپارند. با توجه به تجربه بیش از 11 سال برنامه نویسی و تولید نرم افزارهای مختلف و همچنین مدیریت چندین تیم نرم افزاری کمی تردید دارم که آیا محیط SharePoint برای تولید یک محصول مناسب خواهد بود یا خیر؟ آیا کاربرد شیرپوینت برای سازمانها مفید است یا خیر؟ در نتیجه تصمیم گرفتم قبل از هرگونه قضاوتی یکسری تحقیق و بررسی در این زمینه آغاز کنم.

مهندس کاوه طهماسبی

مهندس کاوه طهماسبی

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

برای شروع تحقیقات ابتدا از بعضی از همکاران و دوستانم که در این زمینه فعال بودند سوالاتی کردم. یکی از این دوستان آقای مهندس حداد پژوم بود که اتفاقا یکی از طرفداران SharePoint هم هستند. سایتی دارند به آدرس https://www.pajum.net که به من معرفی کردند. در مقاله ای تحت عنوان SharePoint چیست فایل صوتی با صدای ایشان پیدا کردم که به تشریح این مساله پرداخته اند و می خواهم فایل را گوش کرده و به طور خلاصه در اینجا درج کنم:

در این فایل می خواهد داستان SharePoint چیست را برای مدیران IT و دوستانی که در حوضه فن آوری اطلاعات درگیر هستند شفاف کنند.

ابتدا این که ایده SharePoint در Microsoft چگونه به وجود آمد؟ و یا چه مشکلی در شرکت ها باعث حرکت Microsoft به سمت تولید این محصول شد؟

  • برای ساخت یافته کردن اطلاعات ناساختیافته (Unstructured Data) اولین قدم تولید محصولات Office بود.
  • برای مدیریت بحث به اشتراک گذاری فایل ها و کنترل نسخه های موجود و جلوگیری از حذف اطلاعات ضروری.
  • برای ساختیافته کردن اطلاعات شرکت که وظیفه اصلی SharePoint است. برای اشتراک گذاری صرف می توان از DMS ها استفاده کرد.
  • تولید یک نرم افزار ساز – ایجاد نرم افزارهایی با توجه به نیازمندی های هر شرکت.

در کل چرا نیاز به Structured کردن اطلاعات داریم؟

  • ایجاد دسترسی های لازم برای اطلاعات.
  • یافتن اطلاعات با توجه به نظم آنها.
  • گزارش گیری از اطلاعات که از اطلاعات Unstructured چندان امکان پذیر نیست.

در این فایل صوتی مطالبی که به طور خلاصه برای من مهم بود رو درج کردم. (برای دسترسی به مطلب ذکر شده اینجا کلیک کنید)

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

“مایکروسافت شیرپوینت، یک بستر نرم افزاری تحت وب است که توسط شرکت مایکروسافت تولید و عرضه شده است. اولین نسخه از شیرپوینت در سال 2001 منتشر شد. و آخرین نسخه از آن در سال 2015 وارد بازار شده است. نسخه‌های ابتدایی شیرپوینت بیشتر برای کاربردهایی نظیر مدیریت محتوا و مدیریت اسناد مورد استفاده قرار می گرفت. اما قابلیتهای قابل توجه متعددی به نسخه های اخیر شیرپوینت اضافه شده است.
شیرپوینت شامل مجموعه‌ای از تکنولوژی‌های چند منظوره تحت وب است که بر روی یک ساختار فنی قوی قرار گرفته است. به صورت پیش فرض رابط کاربری شیرپوینت مشابه مایکروسافت آفیس است و یکپارچگی بالایی با مجموعه آفیس دارد. ابزارهای تحت وب شیرپوینت به گونه‌ای طراحی شده است که توسط کاربر غیر فنی قابل استفاده باشد. شیرپوینت بستر مناسبی برای راهکارهایی چون پورتال داخلی، مدیریت فایل ها و اسناد، تعاملات تیمی، شبکه های اجتماعی، اکسترانت، وب سایت ها، جستجوی سازمانی و هوش تجاری می‌باشد. علاوه بر این شیرپوینت قابلیت یکپارچه سازی سیستمها، یکپارچه سازی فرآیندها و اتوماسیون گردش کارها را فراهم می‌کند.
اکثر برنامه‌های کاربردی سازمانی )مانند بسته‌هاي نرم‌افزاري ERP و (CRM قابليت‌هايي را براي یکپارچه شدن با شیرپوینت ایجاد کرده‌اند. همچنین شیرپوینت مجموعه کاملی از API ها و تکنولوژی توسعه را برای برنامه‌نویسان و توسعه‌دهندگان فراهم کرده است. به عنوان یک بستر برنامه‌سازی، شیرپوینت دارای مدیریت مرکزی و کنترل‌های امنیتی لازم جهت پیاده سازی نیازمندی‌های برنامه‌ها می باشد. بستر شیرپوینت مستقیما درون وب سرور IIS قرارمی‌گیرد.

شیرپوینت توسط 78 درصد از 500 کمپانی لیست Fortune 500 استفاده می شود. در بین سالهای 2006 تا 2011 مایکروسافت بیش از 36.5 میلیون لایسنس کاربر شیرپوینت فروخته است.”

منبع مطلب فوق : سایت پرنیان

در ادامه مطلب را با تعاریف دیگری که در نتیجه جستجو ها کسب کردم ادامه می دهم.

شیرپوینت چیست؟

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

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

چرا شیرپوینت و کاربرد شیرپوینت چیست؟

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

ابزارهای قدرتمند و کاربرد شیرپوینت

  • برقراری ارتباط با نرم افزارهای آفیس
  • مدیریت محتوا
  • اشتراک گذاری اسناد و محتوا
  • موتور جستجو
  • شبکه اجتماعی
  • میزبانی فایل ها
  • سفارشی سازی وب اپلیکیشن ها

مفاهیم اساسی

برای درک شیرپوینت دانستن مفاهیم اساسی زیر ضروری است:

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

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

  • مدیریت محتوا و اسناد سازمانی

شیرپوینت اجازه مدیریت، ذخیره، بازیابی، جستجو، طبقه بندی(آرشیو)، پیگیری، گزارش گیری از اسناد و رکوردهای ثبت شده را می دهد و همچنین قابلیت جستجو و تهیه گراف را فراهم می سازد. یکپارچه شدن شیرپوینت با Microsoft Windows و Microsoft Office اجازه ویرایش فوری مشارکتی و همگام سازی مدیریت حقوق اطلاعات رمز نگاری شده را می دهد که این قابلیت اغلب برای جایگزین کردن یک فایل سرور موجود استفاده می شود.

  • شبکه داخلی و شبکه اجتماعی

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

  • نرم افزار مشارکتی

شیرپوینت شامل قابلیت های نرم افزارهای همکاری های تیمی است که شامل برنامه ریزی و زمان بندی پروژه (ادغام شده با Outlook و Project)، مشارکت اجتماعی، صندوق های پیام اشتراکی و فضای اسناد مربوط به پروژه می شود. این مباحث در شیرپوینت بر پایه مفهومی با نام “Team Site” است.

  • سرویس میزبانی فایل

سرور میزبانی فایل شیرپوینت یا OneDrive For Business که امکان ذخیره و همگام سازی اسناد افراد جداگانه را می دهد مانند به اشتراک گذاری عمومی و یا خصوصی فایل آن اسناد. این سرویس اغلب با دیگر سرویس های مایکروسافت آفیس مانند Microsoft Exchange ترکیب می شود تا یک “ابر شخصی” تولید کند. این قابلیت اغلب با سرویس هایی مثل Drobox مقایسه می شود.

  • برنامه های سفارشی تحت وب

قابلیت های توسعه سفارشی شیرپوینت یک لایه اضافه از سرویس ها را فراهم می کند که اجازه نمونه سازی سریع برنامه های یکپارچه شده تحت وب را می دهد. شیرپوینت توسعه دهندگان را قادر می سازد تا بخش های همکاری و منابع داده ای را با استاندارد هایی مثل REST/OData/OAuth ادغام کنند.

ساختار محتوا

  • صفحات

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

  • وب پارت ها(Web-Parts) و اپ پارت ها (App-Parts)

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

  • لیست ها، کتابخانه ها، محتوا، برنامه ها

یک کتابخانه شیرپوینت فایل ها و فولدرها را ذخیره و نمایش می دهد.

یک لیست شیرپوینت آیتم های داده را ذخیره و نمایش می دهد.

هر آیتم درون یک کتابخانه یا لیست یک Content Item یا آیتم محتوا است.

Content Type  یا انواع محتوا مفاهیم و تعاریف آیتم ها است. شیرپوینت به شما اجازه ساخت تعاریف خود بر اساس انواع پیش ساخته شده مانند مخاطبین، ملاقات ها، اسناد و پوشه ها را می دهد.

برخی از انواع محتوای پیش ساخته شده مانند مخاطبین یا قرار ملاقات ها به لیست اجازه تنظیمات پیشرفته مانند همگام سازی(Sync) با Outlook یا Project را می دهد. در شیرپوینت ۲۰۱۳ در بعضی نقاط، “لیست‌ها” و “کتابخانه‌ها” به “Apps”  تغییر نام یافتند. در شیرپوینت ۲۰۱۶ نام آن‌ها مجدداً به “لیست ها” و “کتابخانه ها” برگشت داده شد.

  • سایت ها

یک سایت، مجموعه ای از صفحات، لیست ها، کتابخانه ها، برنامه ها، پیکربندی ها، مشخصه ها، انواع محتوا و زیرسایت ها است. نمونه هایی از الگو های سایت در شیرپوینت شامل سایت های مشارکتی (collaboration(team) sites)، سایت های ویکی (wiki sites)، سایت های خالی(blank sites)  و سایت های انتشار(publishing sites)  است.

پیکر بندی و سفارشی سازی

  • پیکر بندی تحت وب

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

  • دستکاری ساختار محتوا، ساختار سایت، ایجاد/حذف سایت ها، تغییر موارد امنیتی، اضافه/حذف برنامه ها.
  • فعال/غیرفعال کردن ویژگی های محصول، آپلود کردن طرح و تم های سفارشی سازی شده، فعالسازی ادغام با دیگر محصولات آفیس.
  • پیکربندی فرآیندهای پایه، مشاهده و تحلیل مقدار استفاده، مدیریت فراداده، تنظیم گزینه های جستجو، آپلود سفارشی سازی ها و اعمال یکپارچه سازی ها.

امکانات و ویژگی های شیرپوینت سرور از طریق PowerShell و یا یک رابط کاربری تحت وب با نام “Central Administration”  نیز قابل تنظیم هستند. پیکربندی تنظیمات فارم(Farm)  سرور (بطور مثال سرویس های Web Application) می توانند از طریق این ابزارهای مرکزی انجام شوند. علاوه بر مشخصه های پیکربندی فارم PowerShell، برخی از ابزارهای محدود ساخته شده و برای مدیریت ادمین یا تغییر تنظیمات برای سایت ها یا سایت کالکشن ها در پایگاه های داده ای محتوا(Content DB)  قابل دسترسی هستند.

  • توسعه سفارشی یا Custom Development

    • مدل برنامه(App Model) شیرپوینت بازه متنوعی از انواع برنامه ها که توانایی نمایش برنامه های مبتنی بر وب تایید شده بر روی بازه وسیعی از مکانیزم های رابط کاربری(UI)  را می دهد، فراهم می کند. برنامه ها از طریق یک پراکسی در شیرپوینت ارایه می شوند که نیاز به دستکاری تعدادی گواهینامه DNS دارند.
    • مدل شیء کاربر(Client Object Model) شیرپوینت (قابل دسترس برای API های جاوا اسکریپت و NET.) و REST/SOAP می تواند از تعدادی محیط، تامین دسترسی به کاربران شناخته شده برای سیستم به گستره وسیعی از توانایی های شیرپوینت بدست بیاید.
    • پلاگین های “Sand-Boxed” می تواند توسط هر کاربر نهایی که دسترسی آن تضمین شده است آپلود شود. این پلاگین ها دارای امنیت محدود هستند و می توانند در سطوح چندگانه ای بدست آیند. در محیط های ابری چند مستاجری این تنظیمات تنهای تنظیماتی هستند که معمولا مجاز هستند.
    • مشخصه های فارم اغلب کد با اطمینان بالا هستند که برای نصب در سطح فارم لازم هستند.
    • برنامه های سرویس دهی: این امکان وجود دارد که مستقیما درون گذرگاه SOA شیرپوینت در سطح فارم بتوان ادغام شد. سفارشی سازی می تواند در موارد زیر ظاهر شود:
    • ادغام برنامه به برنامه با شیرپوینت.
    • افزونه ها در عملکرد شیرپوینت.
    • وب پارت ها که هنگام اضافه شدن کاربر جدید در صفحه پوشش می دهند
    • الگوهای صفحات/سایت ها یا صفحه/سایت

معماری سرور

سرور شیرپوینت می تواند از نظر مقیاس کوچک باشد تا تماما روی یک ماشین اجرا شود و یا آنقدر بزرگ باشد تا توسط همه ماشین ها مدیریت شود.

  • فارم ها

یک فارم (Farm) شیرپوینت یک گروهبندی منطقی از سرورهای شیرپوینت است که منابع یکسانی را به اشتراک می گذارند. یک فارم معمولا مستقل عمل می کند اما می تواند به عملیاتی از فارم دیگر اشاره و کمک کند یا عملیاتی را برای فارم دیگری فراهم کند. هر فارم پایگاه داده ای تنظیمات مرکزی خود را دارد که از طریق رابط PowerShell یا وب سایت Central Administration  مدیریت می شود. هر سرور فارم قادر است تا به صورت مستقیم با پایگاه داده تنظیمات مرکزی ارتباط برقرار کند. سرور ها از سرویسهای پیکربندی (مثل IIS) برای رسیدن به نیازهای فارم، گزارش سلامت سرور، موارد اختصاص منابع و غیره استفاده می کنند.

  • وب اپلیکیشن ها

نگهدارنده های سطح بالا برای محتوا در یک فارم شیرپوینت هستند. یک وب اپلیکیشن(Web Application)  مدام با پیکر بندی IIS مرتبط است. یک وب اپلیکیشن شامل مجموعه نقشه های دسترسی یا آدرس های مبتنی بر url در کنسول مدیریت مرکزی شیرپوینت است که توسط شیرپوینت در سراسر نمونه IIS های تنظیم شده در فارم تکرار شده است.

  • سایت کالکشن ها

یک سایت کالکشن یک گروه سلسله مراتبی از سایت های شیرپوینت است. هر وب اپلیکیشن حداقل باید یک سایت کالکشن داشته باشد. سایت کالکشن ها مشخصات مشترک، اشتراکات و برنامه های سرویس را به اشتراک گذاشته و می توانند با نام های میزبان خاص پیکر بندی شوند. یک سایت کالکشن می تواند یک پایگاه داده محتوای مجزا داشته باشد یا ممکن است یک پایگاه داده محتوا(Content DB)  را با سایت کالکشن دیگری در همان وب اپلیکیشن به اشتراک بگذارد.

  • سرویس اپلیکیشن ها

سرویس اپلیکیشن ها قسمت هایی از عملکرد شیرپوینت را برای وب و سرویس اپلیکیشن دیگری در فارم فراهم می کند. نمونه هایی از سرویس اپلیکیشن شامل سرویس همگام سازی پروفایل کاربر و سرویس جستجوی فهرست(index)  است. یک سرویس اپلیکیشن می تواند خاموش شود، روی یک سرور وجود داشته باشد یا بطور متعادل در چندین سرور در یک فارم بارگذاری شود. سرویس اپلیکیشن ها طراحی شده اند تا عملکرد مجزا و حوزه های امنیتی مستقل داشته باشند.

مدیریت، امنیت، انطباق

مدیریت متمرکز شیرپوینت(Central Administration)  یک وب اپلیکیشن است که عموماً روی یک سرور در فارم وجود دارد، اگرچه قادر است تا روی چند سرور مستقر شود. این برنامه یک رابط کامل مدیریت متمرکز برای وب و سرویس اپلیکیشن ها در فارم شیرپوینت فراهم می کند شامل مدیریت اکانت برای وب و سرویس اپلیکیشن ها است . در صورت خرابی CA، پاورشل ویندوز معمولا روی سرور CA استفاده می شود تا فارم را از نو پیکر بندی کند.

ساختار پلتفرم شیرپوینت به وب اپلیکیشن ها این اجازه را می دهد تا روی یک فارم وجود داشته باشند. در یک محیط میزبان به اشتراک گذاری شده(ابر)، صاحبان این وب اپلیکیشن ها ممکن است کنسول مدیریت خود را نیاز داشته باشند. شیرپوینت  (Tenant Administration) TA  یک وب اپلیکیشن مورد استفاده توسط صاحبین وب اپلیکیشن برای مدیریت چگونگی ارتباط وب اپلیکیشن آنها با منابع به اشتراک گذاشته شده در فارم است.

  • انطباق، استانداردها و یکپارچگی

    • شیرپوینت با مایکروسافت آفیس یکپارچه است.
    • شیرپوینت از استاندارد مستندات مایکروسافت OpenXml برای یکپارچگی با آفیس استفاده می کند. فراداده اسناد نیز با استفاده از همین فرمت ذخیر می شوند.
    • شیرپوینت رابط های کاربری برنامه نویسی و رابط های مبتنی بر OData ،SOAP و REST متنوعی فراهم می کند.
    • شیرپوینت می تواند جهت بدست آوردن انطباق با نگهداری اسناد، مدیریت رکوردها، شناسه اسناد و کشف قوانین استفاده شود.
    • شیرپوینت با CMIS(استاندارد تعامل مدیریت محتوا) با استفاده از Microsoft CMIS Connector سازگار است.
    • شیرپوینت بصورت پیش فرض XHTML 1.0 معتبر تولید می کند که با استانداردهای دسترسی WCAG 2.0 سازگار است.
    • شیرپوینت می تواند احراز هویت مبتنی بر ادعا را با استفاده از نشانه(token) های SAML برای اظهارات امنیتی مورد استفاده قرار دهد.
    • شیرپوینت یک مدل افزونه احراز هویت باز فراهم می کند.
    • شیرپوینت برای پشتیبانی از محلی سازی محتوا در شیرپوینت از XLIFF پشتیبانی می کند. همچنین پشتیبانی از APPFabric اضافه شده است.

دیگر محصولات مایکروسافت مرتبط با شیرپوینت

  • SharePoint Designer: یک ابزار سفارشی سازی رایگان و سمت کاربر برای شیرپوینت. نرم‌افزاری است که قابلیت‌های پیشرفته برای ویرایش صفحات HTML و ASPX را به همراه قابلیت ویرایش گردش‌کارهای شیرپوینتی را فراهم می‌کند.
  • Microsoft Visio: یک ابزار رسم نمودار که می تواند در طراحی فرآیندهای شیرپوینت استفاده شود.
  • Office WebApps: نسخه های مبتنی بر وب و آنلاین Excel، Word، PowerPoint، OneNote که بصورت مستقیم با شیرپوینت یکپارچه شده اند.
  • Microsoft Project Server: افزونه ای در شیرپوینت که ادغام شدن با Microsoft Project را فراهم می کند.
  • Microsoft Project Online: افزونه ای در آفیس365 که ادغام شدن با Microsoft Project را فراهم می کند.
  • Microsoft Project: ابزار برنامه ریزی پروژه مبتنی بر کاربر که می تواند برای به اشتراک گذاری وظیفه و نمودار گانت به یک لیست وظیفه شیرپوینت اضافه شود.
  • Power BI: افزونه ای برای آفیس 365 و شیرپوینت که قابلیت های پیشرفته هوش تجاری و کسب کار را فراهم می کند.
  • Microsoft Exchange Server: یک سرور نامه(Mail) که با شیرپوینت یکپارچه شده است.
  • Skype For Business: یک سرویس بین کاربران و سرور که تماس تلفنی ، پیام کوتاه(IM)، کنفرانس و به اشتراک گذاری ویدیو/تصویر را فراهم می کند و با شیرپوینت نیز بکپارچه شده است.
  • Yammer: یک شبکه اجتماعی سازمانی تحت وب که با شیرپوینت متصل و ادغام شده است.
  • InfoPath forms Services: اجازه می دهد تا فرم های InfoPath در یک وب سایت شیرپوینت میزبانی شوند و به وسیله مرورگر وب ارائه شود.
  • OneDrive For Business: یک جزء همگام سازی فایل سمت کاربر که در مایکروسافت آفیس 16-2013 موجود بوده و بصورت رایگان قابل دانلود است.

 

شیرپوینت و زبان فارسی

مایکروسافت علی‌رغم پشتیبانی از زبان عربی و تقویم هجری قمری، پشتیبانی زبان فارسی را به شیرپوینت اضافه نکرده است. پشتیبانی از زبان فارسی در سه حوزه عناوین، راست به چپ‌سازی ظاهر و همچنین افزودن پشتیبانی از تقویم هجری شمسی از نسخه ۲۰۰۷ شیرپوینت به بعد توسط چند شرکت ایرانی انجام شده است.

منبع مطلب فوق سایت : http://saghehgroup.com

در سایت www.codeproject.com مقاله خیلی خوبی پیدا کردم که سعی می کنم تا حدی که می توانم مفاهیمش رو به این مقاله اضافه کنم.

What is SharePoint

The name itself says everything “Share” “Point”. A central POINT from where we can SHARE information and do collaboration. Now this information can be in the form of a document, web page, wiki, etc.

So if we put a simple definition around it:

“SharePoint is a WEB APPLICATION PLATFORM (portal) which helps to share and collaborate information between different stake holders”.

So for example, in a company, you have departments like Accounts, HR, Sales, etc. All these departments have data and content in different formats. For example, accounts department uses Excel to maintain accounts, HR uses Word document, sales people use PPT files and so on. At some moment of time, you want all these people to collaborate and coordinate with each other. That’s where SharePoint comes into the picture.

در قسمت بالا نویسنده توضیح می دهد که همانطور که از اسمش پیداست تشکیل شده از دو کلمه “Share” و “Point”. که به معنی محلی مرکزی که ما می توانیم اطلاعات و داده های خود را به اشتراک بگذاریم. که البته این اطلاعات و داده ها می توانند انواع و اقسام گوناگونی داشته باشند.

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

به طور مثال شرکتی را در نظر بگیرید که از واحدهای گوناگونی تشکیل شده است. حسابداری، مدیریت منابع انسانی، فروش و … همه این واحدها از اطلاعاتی با فرمت های متفاوت استفاده می کنند. به طور مثال حسابداری از Excel استقاده می کنم، مدیریت منابع انسانی از Word، واحد فروش از PPT و به همین ترتیب. در لحظاتی می خواهید که پرسنل بتوانند با هم همکاری و هماهنگی با هم داشته باشند و اینجاست که به SharePoint نیاز پیدا می کنید.

کاربرد شیرپوینت

On-premise and Office 365

SharePoint comes in two flavors: On-premise (on-prem) and Office 365. On-premise means that SharePoint is installed on the organization server which is in full control of the organization’s IT department.

Office 365 or cloud based SharePoint means that SharePoint is hosted on some third-party server and you get access to the same as a service. Office 365 is a Microsoft subscription based platform where you pay on a monthly basis to avail for the service.

نویسنده مقاله در ادامه به گونه های SharePoint می پردازد که عبارتند از On-premise و Office 365. On-premise بدین معنی است که SharePoint رو سرور خود شرکت نصب می شود که کاملا تحت نظارت و مدیریت 100% شرکت است. Office 385 و یا SharePoint بر مبنای محیط ابری بدین معنی است که SharePoint بر روی سرورهایی خارج از مجموعه شرکت نصب شده و ما به عنوان سرویس گیرنده از آن استفاده می کنیم. Office 365 بر پایه سرویس اشتراک شرکت Microsoft می باشد که برای استفاده از آن آبونمان ماهیانه دریافت می کند.

تا به اینجا سعی کردم بیشتر به مفهوم SharePoint بپردازم  این که در کل چیست و چه قابلیت هایی دارد. حال یکی از سوال های اصلی که پیش می آید این است که قابلیت توسعه SharePoint تا چه حد است؟ مرز استفاده از آن چیست؟ اصولا برای چه دسته از نرم افزارهایی بهتر است از SharePoint استفاده کرد؟

فکر می کنم برای پاسخ به این سوال بهتر است ببینیم که SharePoint چه امکاناتی را در رابطه با برنامه نویسی در اختیارمان قرار می هد و یا به طور کلی امکانات SharePoint Framework چیست؟

قسمت هایی از مقاله زیر به معرفی همین مسئله اختصاص دارد.

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/sharepoint-framework-overview

The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side SharePoint development, easy integration with SharePoint data, and support for open source tooling. With the SharePoint Framework, you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready from day one. The SharePoint Framework works for SharePoint Online and soon also for on-premises (SharePoint 2016 Feature Pack 2).

SPF یا همان SharePoint Framework مدلی بر پایه Page و Web Part است که به صورت کامل از معماری  client-side در SharePoint پشتیبانی می کند که قابلیت یکپارچگی با داده های SharePoint و همچنین پشتیبانی از ابزارهای open source را به همراه دارد. با استفاده از SharePoint Framework شما از تکنولوژی ها و ابزارهای مدرن Web در محیط برگزیده توسعه برای تولید تجربیاتی سازنده و App هایی که از ابتدا دارای قابلیت های responsive و  mobile-readyهستند برخوردار خواهید بود.

Key features of the SharePoint Framework include the following:

  • It runs in the context of the current user and connection in the browser. There are no iFrames for the customization (JavaScript is embedded directly to the page).
  • The controls are rendered in the normal page DOM.
  • The controls are responsive and accessible by nature.
  • It enables the developer to access the lifecycle in addition to renderloadserializeand deserializeconfiguration changes, and more.
  • It is framework-agnostic. You can use any JavaScript framework that you like: React, Handlebars, Knockout, Angular, and more.
  • The toolchain is based on common open source client development tools such as npm, TypeScript, Yeoman, webpack, and gulp.
  • Performance is reliable.
  • End users can use SPFx client-side solutions that are approved by the tenant administrators (or their delegates) on all sites, including self-service team, group, or personal sites.
  • SPFx web parts can be added to both classic and modern pages.

The runtime model improves on the Script Editor web part. It includes a robust client API, an HttpClient object that handles authentication to SharePoint and Office 365, contextual information, easy property definition and configuration, and more.

If you work primarily with C#, you want to learn more about client-side JavaScript development. Most of your existing JavaScript knowledge related to SharePoint, however, is completely transferable, as the data models have not changed, and you’ll use the same REST services or JavaScript Object Model (JSOM), depending on your requirements. If you are a C# developer, TypeScript is a nice transition into the JavaScript world. The choice of IDE is up to you. Many developers like to use the cross-platform IDE Visual Studio Code. Many developers also use products like Sublime and ATOM. Use what works best for you.

قابلیت های کلیدی SPF عبارتند از:

  • در محتوای کاربر جاری و کانکشن در مرورگر اجرا می شود. برای سفارشی سازی از هیچ iFrames استفاده نمی شود بدین معنی که JavaScript ها به درون صفحه جاسازی شده اند.
  • کنترل ها در DOM (Document Object Model) یک صفحه نرمال رندر می شوند.
  • کنترل ها کاملا آماده به کار بوده و بصورت عادی و طبیعی قابل دسترسی است.
  • به توسعه دهندگان امکان استفاده از Lifecycle و علاوه بر آن renderloadserialize

deserializeconfiguration changes را میدهد.

  • این Framework در حقیقت یک Framework-agnostic است. شما میتوانید از هر Framework JavaScript که علاقه دارید استفاده کنید از جمله React, Handlebars, Knockout, Angular,
  • Toolchain ها بر پایه ابزارهای توسعه مشتری open source مانند npm, TypeScript, Yeoman, webpack, and gulp
  • کارایی قابل اعتماد است.
  • کاربر نهایی یا end-user می تواند از راهکارها و یا امکانات SPF استفاده کند که توسط tenant administrators فراهم شده است. که شامل self-service team, group, or personal sites خواهد بود.
  • SFPx Web Part ها قابلیت اضافه شدن به صفحات مدرن و کلاسیک را دارند.

مدل runtime در رابطه با ادیتور اسکریپت Web Part ها بهینه شده است. که البته شامل API های قوی کلاینت، همچنین HttpClient object که وظیفه احراز هویت در SharePoint و Office 365 را بر عهده دارد، اطلاعات متنی، تعریف ساده ویژگی ها و تنظیمات و موارد دیگر می باشد.

اگر شما عموما با C# کار می کنید، می بایست در رابطه با توسعه client-side در JavaScript بیشتر مطالعه کنید. بیشتر دانش JavaScript شما که با SharePoint مرتبط است در هرصورت قابل انتقال است، به طور مثال data models تفاوتی نمی کند، و شما از REST services و یا JavaScript Object Model متناسب با نیاز خود استفاده خواهید کرد. اگر شما برنامه نویس C# هستید، TypeScript روش انتقال مناسبی به دنیای JavaScript می باشد. انتخاب IDE با خود شماست. بسیاری از توسعه دهندگان و برنامه نویسان علاقه دارند از Visual Studio IDE استفاده کنند. و بسیاری دیگر مایلند از Sublime و ATOM استفاده کنند. از آن چیزی استفاده کنید که برای شما بهترین است.

تا همینجا نتایج جالبی بدست می آید. یعنی تقریبا شما هر کاری که بخواهید می توانید با این SharePoint Framework نیز انجام دهید. بعلاوه این که در Application های خود می توانید از زیرساخت ها و امکانات SharePoint نیز استفاده کنید. این خود می تواند یکی از امتیازات استفاده از SharePoint باشد. برای  برنامه نویسان می تواند راه حلی مناسب برای تولید محصولات نرم افزاری تحت خوب خود تحت این پلتفرم باشد. من به عنوان یک برنامه نویس به استفاده از این محصول شرکت علاقه مند شده ام. در ادامه این مقاله آمده است:

Why the SharePoint Framework

SharePoint was launched as an on-premises product in 2001. Over time, a large developer community has extended and shaped it in many ways. For the most part, the developer community followed the same patterns and practices that the SharePoint product development team used, including web parts, SharePoint feature XML, and more. Many features were written in C#, compiled to DLLs, and deployed to on-premises farms.

That architecture worked well in environments with only one enterprise, but it didn’t scale to the cloud, where multiple tenants run side-by-side. As a result, we introduced two alternative models: client-side JavaScript injection, and SharePoint Add-ins. Both of these solutions have pros and cons.

چرا از SharePoint Framework استفاده کنیم؟

شروع به کار SharePoint به صورت on-premises از سال 2001 است. از آن زمان، جامعه برنامه نویسان بسیاری این محصول رو به روش های گوناگون توسعه و شکل داده اند. در بیشتر قسمت ها این جامعه برنامه نویسان و توسعه دهندگان از همان الگوها و روش هایی استفاده کرده اند که تیم تولید و توسعه دهنده SharePoint از آن استفاده کرده اند، که شامل Web Partها، امکانات XML در SharePoint و … می باشد. بسیاری امکانات با C# نوشته شده است و به DLL کامپایل شده است و در farmهای on-premises بارگزاری شده اند.

این معماری به خوبی در محیط هایی فقط با یک شرکت کار می کند، ولی به اندازه رسیدن به Cloud کسترش نیافته، در جایی که tenants های بسیاری کنار هم اجرا می شوند. به عنوان نتیجه ما دو مدل جایگزین معرفی می کنیم: client-side JavaScript injection  و SharePoint Add-ins. هر دوی این راهکارها مزایا و معایب خود را دارند.

JavaScript injection

One of the most popular web parts in SharePoint Online is the Script Editor. You can paste JavaScript into the Script Editor web part and have that JavaScript execute when the page renders. It’s simple and rudimentary, but effective. It runs in the same browser context as the page, and is in the same DOM, so it can interact with other controls on the page. It is also relatively performant, and simple to use.

There are a few downsides to this approach, however. First, while you can package your solution so that end users can drop the control onto the page, you can’t easily provide configuration options. Also, the end user can edit the page and modify the script, which can break the web part. Another big problem is that the Script Editor web part is not marked as “Safe For Scripting”. Most self-service site collections (my-sites, team sites, group sites) have a feature known as “NoScript” enabled. Technically, it is the removal of the Add/Customize Pages (ACP) permission in SharePoint. This means that the Script Editor web part will be blocked from executing on these sites.

یکی از web part های محبوب در SharePoint Online ویرایش گر اسکریپت و یا Script Editor است. شما می توانید با paste کردن JavaScript خود در این ویرایش گر آن را در زمان رندر شدن صفحه اجرا کنید. این کار بسیار ساده و ابتدایی ولی موثر است. قطعه کد شما در همان context مرورگر جاری شما اجرا می شود و همچنین در DOM یکسان، در نتیجه می تواند با  سایر کنترل های صفحه در تعامل باشد. استفاده از این قابلیتر نسبتا اجرایی و ساده است.

با وجود نقطه ضعف های موجود در این رویکرد، اولا در حالی که شما در حال package هستید، کاربر نهایی می تواند کنترل های خود را روی صفحه بچیند، شما به سادگی نمی توانید گزینه های پیکرندی مورد نظر خود را ارائه دهید. همچنین کاربر نهایی می تواند صفحه را ویرایش نماید و اسکریپت ها را ویرایش نماید که می تواند باعث اختلال در web part شود. یکی دیگر از مشکلات بزرگ این است که Script Editor به عنوان “Safe For Scripting” نشانه گذاری نشده است. بیشتر self-service های سایت (my-site, team sites, group sites) با قابلیت یا ویژگی “NoScript” فعال شده اند. که از لحاظ فنی حذف کردن قابلیت Add/Customize Pages (ACP) در SharePoint است. و این بدین معناست که web part ویرایش گر اسکریپت در این سایت ها قابل اجرا نیست.

SharePoint Add-in model

The current option for solutions that run in NoScript sites is the add-in/app-part model. This implementation creates an iFrame where the actual experience resides and executes. The advantage is that because it’s external to the system and has no access to the current DOM/connection, it’s easier for information workers to trust and deploy. End users can install add-ins on NoScript sites.

There are some downsides to this approach as well. First, they run in an iFrame. iFrames are slower than the Script Editor web part, because it requires a new request to another page. The page has to go through authentication and authorization, make its own calls to get SharePoint data, load various JavaScript libraries, and more. A Script Editor web part might typically take, for example, 100 milliseconds to load and render, while an app part might take 2 seconds or more. Additionally, the iFrame boundary makes it more difficult to create responsive designs and inherit CSS and theming information. iFrames do have stronger security, which can be useful for you (your page is inaccessible by other controls on the page) and for the end user (the control has no access to their connection to Office 365).

گزینه فعلی برای راه حل هایی که در سایت های NoScript اجرا می شوند، مدل add-in/app-part است. این پیاده سازی iFrame می سازد جایی که تجربه واقعی ساکن و اجرا می شود. مزیت این است که بدلیل عدم دسترسی به سیستم و همچنین عدم دسترسی به DOM/connection جاری، برای کاربران اطلاعاتی قابل اعتمادتر و استقرار پذیر (deploy) است. کاربران نهایی می توانند افزونه های خود را در سابت های NoScript نصب و استفاده نمایند.

این روش دارای معاینی نیز می باشد. اولا آنها در iFrame اجرا می شوند. iFrameها کندتر از web part ویرایشگر اسکریپت هستند، به دلیل این که iFrame ها نیازمند درخواست جدید به صفحه جدید هستند. صفحه نیاز دارد که اعتبار سنجی و احراز هویت شود و همچنین اطلاعات SharePoint مورد نیاز خود را تهیه کند، همچنین کتابخانه های مختلف JavaScript مورد نیاز خورد را بارگذاری نماید و … . به طور مثال web part ویرایشگر اسکریپت 100 میلی ثانیه زمان نیاز دارد برای بارگذاری و render شدن، در صورتی که برای app part ممکن است این زمان به 2 ثانیه یا بیشتر هم برسد. ثانیا مرزهای iFrame کار را برای طراحی صفحات responsive و همچنین inherit CSS و theming information بسیار مشکل می کند. iFrame ها امنیت بسیار بالاتری دارند که می تواند برای شما مفید باشد (صفحه شما به وسیله کنترل های روی صفحه قابل دسترس نخواهد بود) و همچنین برای کاربر نهایی (کنترل ها به کانکشن خود در Office 365 دسترسی ندارند).

SharePoint Framework

Historically, we created web parts as full trust C# assemblies that were installed on the cloud servers. However, current development models for the most part involve JavaScript running in a browser making REST API calls to the SharePoint and Office 365 back-end workloads. C# assemblies don’t work in this world. We needed a new development model. The SharePoint Framework is the next evolution in SharePoint development.

در قبل، ما با استفاده از C# مجموعه assemblies های بسیاری تولید کرده ایم که در سرور های cloud نصب شده اند. با این حال مدل توسعه کنونی مشکلات اجرا شدن JavaScript را در مرورگر ها در بیشتر موارد برطرف کرده است که باعث می شود REST API به SharePoint and Office 365 فراخوانی شوند برای ظرفیت های back-end. اسمبلی های C# برای کل دنیا پاسخگو نیستند. ما نیاز به مدل توسعه جدید داریم. SharePoint Framework تحول جدید در توسعه به وسیله SharePoint است.

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

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

همچنین امکان جستجو در اسناد و صفحات می تواند کمک شایانی در مدیریت اسناد و دسترسی هر چه بهتر به اطلاعات را فراهم نماید. در اینترنت مقالات متعددی با عناوین مزایای استفاده از SharePoint یا به عنوان مسال Top 10 Business Benefits of Microsoft SharePoint وجود دارد که مطالعه آنها خالی از لطف نیست. من برای کامل کردن این تحقیقات سعی کردم به دنبال مقالاتی بگردم که به معرفی معایب این محصول بپردازند که مطلب قابل توجهی پیدا نکردم و این خود می تواند از نقاط مثبت SharePoint باشد.

 

تشکر از جناب مهندس طهماسبی بابت مقاله ی بسیار پربارشان – پژوم (مدیر سایت)

 

 

17 دیدگاه در “کاربرد شیرپوینت ( بله یا خیر به شیرپوینت)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *