با منسوخ شدن و پایان پشتیبانی رسمی مایکروسافت از نرمافزار قدیمی Microsoft InfoPath و عدم امکان استفاده از سرویسهای ابری نظیر Microsoft PowerApps در دیتاسنترهای داخلی و ایزوله On-Premises، مدیران سیستمهای شیرپوینتی نیازمند یک ابزار کارآمد، بومی و بدون کدنویسی پیچیده برای سفارشیسازی فرمهای New, Edit و Display در لیستهای شیرپوینت هستند.
پکیج نرمافزاری SP Form Builder (SharePoint Modern Forms) به عنوان یکی از محبوبترین راهکارها در نسخههای SharePoint Server 2013, 2016, 2019 و Subscription Edition شناخته میشود. این ابزار به کاربران اجازه میدهد بدون نیاز به مهارت برنامهنویسی، فرمهایی واکنشگرا (Responsive) با چیدمان چندستونه، فیلدهای آبشاری وابسته (Cascading Lookups)، تببندیهای پویا و دسترسیهای فیلدی مبتنی بر نقش سازمانی طراحی نمایند. در این مقاله جامع، اصول معماری، پیکربندی فیلدهای آبشاری و تثبیت لایسنس دائمی آفلاین تشریح میگردد.
۱. توپولوژی معماری و نحوه عملکرد SP Form Builder در شیرپوینت #
این افزونه مستقیماً با هسته فرمهای شیرپوینت تعامل داشته و از طریق تزریق وبپارتها و اسکریپتهای کلاینتساید فرمها را مدرن میسازد:
┌─────────────────────────────────────────┐
│ User Web Browser / Workstation │
│ (Modern Dynamic HTML5/CSS3) │
└───────────────────┬─────────────────────┘
│
┌─────────────────────────┴─────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────┐
│ SP Form Client Renderer │ │ Field Security & Rules Engine │
│ - Multi-column Grid (12-Col Responsive)│ │ - Hidden / Read-only Field States │
│ - Cascading Lookup Filtering Engine │ │ - User Group / Role Evaluator │
│ - Client-Side Print to PDF Driver │ │ - Dynamic Default Value Expressions │
└───────────────────┬─────────────────────┘ └───────────────────┬─────────────────────┘
│ │
└─────────────────────┬─────────────────────┘
│ SharePoint REST / CSOM
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ SharePoint Server 2016 / 2019 / Subscription Edition │
│ List Schema & Content Databases │
└─────────────────────────────────────────────────────────────────────────┘
مزایای کلیدی معماری:
۱. عدم تخریب اسکیما و دادههای خام لیستها: تمامی اطلاعات در همان ستونهای استاندارد لیست ذخیره میشوند؛ بنابراین در صورت غیرفعالسازی موقت ابزار، اطلاعات ذخیرهشده مخدوش نمیگردد.
۲. سبک و بدون وابستگی به افزونههای مرورگر: فرمها بر پایه استانداردهای مدرن وب کامپایل شده و در تمام مرورگرها (Edge، Chrome، Firefox) به سرعت لود میشوند.
۲. پیادهسازی دراپداونهای آبشاری (Cascading Dropdowns) بدون کدنویسی #
در فرمهای اداری، انتخاب فیلدهای وابسته مانند «استان -> شهر -> شعبه» یا «دپارتمان -> واحد سازمانی -> پست شغلی» یکی از متداولترین نیازهاست. در شیرپوینت استاندارد، ساخت چنین فیلترهایی بدون نوشتن کدهای پیچیده JSOM مقدور نیست.
مراحل پیکربندی در SP Form Builder:
۱. در لیستهای مرجع، جدول والد (Provinces) و جدول فرزند (Cities) را با ستون Lookup ایجاد نمایید.
۲. در ویرایشگر فرم SP Form Builder، فیلد City را انتخاب کرده و وارد تب Data Binding & Cascading شوید.
۳. پارامترهای زیر را تنظیم نمایید:
- Parent Field: فیلد Province در فرم جاری.
- Filter Column in Source List: ستونی در لیست شهرهایی که به استان اشاره دارد (ProvinceLookup).
- Empty State Action: در صورت خالی بودن فیلد والد، فیلد فرزند در حالت غیرفعال (Disabled) با پیغام «ابتدا استان را انتخاب نمایید» قرار گیرد.
۴. با انتخاب هر گزینه در لیست والد، گزینههای لیست فرزند به صورت ایجکس (AJAX) و بدون رفرش صفحه از پایگاه داده فیلتر و بارگذاری میشوند.
۳. تعریف سطوح دسترسی شرطی بر اساس گروههای کاربری (Role-Based Field Permissions) #
یکی از الزامات امنیتی حراست و حسابرسی، جلوگیری از دستکاری برخی فیلدها (مانند «تاییدیه مدیر»، «مبلغ مصوب»، «توضیحات حراست») توسط کارمندان عادی ثبتکننده درخواست است.
تنظیم ماتریس دسترسی فیلدها در محیط فرمساز:
در بخش Permissions & Rules، قوانین زیر را بر اساس گروههای امنیتی اکتیو دایرکتوری یا شیرپوینت تعریف کنید:
| نام فیلد در فرم | گروه کاربری مجاز | وضعیت فیلد برای سایر پرسنل | شرط فعالسازی |
|---|---|---|---|
| مبلغ مصوب وام | اعضای گروه Financial_Managers | Read-Only (غیرقابل ویرایش) | در تمام وضعیتها |
| تایید نهایی حراست | اعضای گروه Security_Approvers | Hidden (کاملاً مخفی) | اگر مرحله فرآیند کمتر از «بررسی حراست» باشد |
| دلیل رد درخواست | اعضای گروههای تاییدکننده | Hidden (مخفی تا زمان رد شدن) | اگر وضعیت فرم برابر با «رد شده» باشد |
۴. خروجی رسمی PDF استاندارد فرمها با فونتهای فارسی #
در پایان فرآیندها، کاربران نیازمند بایگانی فیزیکی یا چاپ فرم تکمیلشده هستند:
-
دکمه اختصاصی Print to PDF: فرمساز دکمهای مدرن در بالای فرم اضافه میکند که ظاهر فرم را به یک سند آماده چاپ تبدیل مینماید.
-
حذف دکمهها و عناصر کنترلی در زمان چاپ: هدرهای مدیریتی و دکمههای ثبت در نسخه پرینت به طور خودکار حذف میشوند.
-
سازگاری کامل با تقویم شمسی و اعداد فارسی: اعداد مبالغ و تاریخهای جلالی در فرمت خروجی دقیقاً منطبق بر استانداردهای حسابداری چاپ میگردند.
۵. لایسنسینگ دائمی آفلاین WSP توسط پلتفرم Licentra #
پکیج نرمافزاری SP Form Builder ارائهشده توسط Licentra با دارا بودن مجوز دائم Farm Solution:
-
فعالسازی بدون محدودیت تعداد سایت و کاربر: امکان استفاده در تمامی وباپلیکیشنهای موجود در Farm.
-
بدون انقضا و بدون نیاز به استعلام اینترنتی: پایدار در دیتاسنترهای کاملاً بسته و شبکههای ایزوله دولتی.
-
نصب آسان با یک اسکریپت PowerShell: تزریق خودکار به دایرکتوری
15/16/HIVEشیرپوینت.
# استقرار بسته فرم ساز در فارم شیرپوینت با PowerShell
Add-SPSolution -LiteralPath "D:\Installers\SPFormBuilder.wsp"
Install-SPSolution -Identity "SPFormBuilder.wsp" -GACDeployment -AllWebApplications
این ابزار نیاز سازمان به توسعه کدهای پیچیده فرانتاند را از بین برده و سرعت پیادهسازی سامانههای اداری را تا چند برابر افزایش میدهد.



