در فرآیندهای کسبوکار سازمانی مانند امور قراردادها، صدور پیشفاکتورها، احکام اداری و درخواستهای مرخصی، فرمهای استاندارد و پیشفرض مایکروسافت شیرپوینت توانایی پاسخگویی به نیازمندیهای پیچیده رابط کاربری—نظیر تببندیهای پویا، جدولهای ورود ردیفهای فرعی (Data Tables) و منطق شرطی پیچیده—را ندارند. از طرف دیگر، تولید دستی فایلهای خروجی رسمی در قالب PDF و Word زمانبر و مستعد خطای تایپی پرسنل است.
بسته نرمافزاری Plumsail Suite شامل دو ماژول قدرتمند Plumsail Forms و Plumsail Documents است که به عنوان راهکاری جامع برای طراحی فرمهای ریسپانسیو و تولید مکانیزه اسناد تجاری در بستر SharePoint On-Premises شناخته میشود. در سازمانهایی که دیتاسنترهای ایزوله و بدون دسترسی به اینترنت دارند، استقرار محلی این ابزارها، کدنویسی منطق فرم با JavaScript بومی و تولید فایلهای PDF با خطوط فارسی و بدون بههمریختگی اهمیتی فوقالعاده دارد. در این مقاله جامع، تمامی ابعاد معماری و استقرار آفلاین بررسی میگردد.
۱. توپولوژی معماری پلتفرم Plumsail در بستر SharePoint Farm #
پکیج نرمافزاری Plumsail به عنوان یک WSP Solution سازمانی در سطح Farm مستقر شده و کنترلها و APIهای خود را به وبسایتهای شیرپوینت تزریق مینماید:
┌─────────────────────────────────────────┐
│ End-User Browser / Mobile Tablet │
│ (Responsive Modern HTML5 UI) │
└───────────────────┬─────────────────────┘
│
┌─────────────────────────┴─────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────────────────┐ ┌─────────────────────────────────────────┐
│ Plumsail Forms Engine │ │ Plumsail Documents Engine │
│ - Multi-step Wizard Layouts │ │ - Template Engine (Word / Excel / PDF) │
│ - Dynamic Field Permissions & Cascading│ │ - High-Fidelity Farsi/Jalali Font Embed│
│ - Client-Side JavaScript API │ │ - Digital Signature Stamp Insertion │
└───────────────────┬─────────────────────┘ └───────────────────┬─────────────────────┘
│ │
└─────────────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ SharePoint Server 2016 / 2019 / Subscription Edition │
│ Enterprise On-Premises Farm │
└─────────────────────────────────────────────────────────────────────────┘
مزایای استقرار محلی Plumsail:
۱. عدم وابستگی به کالبکهای Cloud: کلیه توابع رندر فرمها، کامپایل قالبهای Word و تبدیل به فرمت PDF در داخل وبسرورهای شیرپوینت به صورت محلی انجام شده و هیچ داده سازمانی یا متن قراردادی به بیرون از شبکه ارسال نمیگردد.
۲. رابط کاربری پیشرفته و مدرن: فرمهای شیرپوینت با فیلدهای تببندیشده، کنترلهای اسلایدر، آپلود تصاویر به صورت Drag & Drop، و جداول والد-فرزند (Parent-Child Lists) بازطراحی میشوند.
۲. کدنویسی فرمهای چندمرحلهای و منطق شرطی با JavaScript API #
در ویرایشگر Plumsail Forms Designer، میتوان با استفاده از شیء سراسری fd، تعاملات پیچیده کاربر را کنترل کرد. نمونه کد زیر برای پیادهسازی فرم درخواست چندمرحلهای با فیلدهای مشروط:
fd.spRendered(function() {
// تابع پنهان یا نمایان کردن بخش های فرم بر اساس انتخاب نوع درخواست
function toggleRequestTypeSections() {
if (fd.field('RequestType').value === 'مرخصی استحقاقی') {
fd.control('LeaveDetailsTab').hidden = false;
fd.control('FinancialTab').hidden = true;
fd.field('ApproverRole').required = true;
} else if (fd.field('RequestType').value === 'خرید تجهیزات') {
fd.control('LeaveDetailsTab').hidden = true;
fd.control('FinancialTab').hidden = false;
fd.field('CostCenter').required = true;
} else {
fd.control('LeaveDetailsTab').hidden = true;
fd.control('FinancialTab').hidden = true;
}
}
// گوش دادن به تغییرات فیلد نوع درخواست
fd.field('RequestType').$on('change', toggleRequestTypeSections);
toggleRequestTypeSections();
// اعتبارسنجی سفارشی سقف مبلغ درخواست
fd.validators.push({
name: 'AmountLimitValidator',
error: 'مبلغ درخواستی نمیتواند بیشتر از سقف بودجه دپارتمان باشد.',
validate: function() {
var total = fd.field('TotalAmount').value;
var maxAllowed = fd.field('MaxBudget').value;
if (total && maxAllowed && total > maxAllowed) {
return false;
}
return true;
}
});
});
۳. تولید خودکار اسناد رسمی PDF از قالبهای ورد (Word Templates) #
ماژول Plumsail Documents با استفاده از نشانهگذاری استاندارد Mustache / Jinja در فایل Word، مقادیر واردشده در فرم را در قالبهای قرارداد تزریق نموده و سند نهایی را به صورت PDF امضاشده تولید میکند.
ساختار فیلدها در قالب Word (.docx):
قرارداد همکاری تجاری
شماره قرارداد: {{ContractNumber}}
تاریخ ثبت: {{RegistrationDate}}
طرف اول: {{Company.Name}}
طرف دوم: {{Customer.FullName}} با کد ملی: {{Customer.NationalID}}
ردیفهای خدمات:
{% for item in OrderItems %}
- عنوان خدمت: {{item.Title}} | مبلغ: {{item.Price}} ریال | مهلت اجرا: {{item.Deadline}}
{% endfor %}
مبلغ کل قرارداد: {{ContractTotal}} ریال
امضای دیجیتال نماینده حقوقی: {{Signatures.LegalStamp}}
تبدیل خودکار با Nintex Workflow یا SharePoint Designer:
پس از ذخیره فرم در شیرپوینت، فرآیند خودکار نینتکس وبسرویس Plumsail Documents را صدا زده، متغیرهای لیست را به متد ارسال کرده و فایل PDF نهایی را در کتابخانه مستندات آرشیو قراردادها بارگذاری میکند.
۴. پشتیبانی کامل از فونتهای فارسی و تاریخ شمسی (Jalali Calendar) #
یکی از دغدغههای کلیدی سازمانها در تولید فایلهای PDF در سرور، بههمریختگی حروف فارسی، عدم اتصال کاراکترها و اشتباه بودن روز و ماههای تقویم است.
-
تزریق فونتهای استاندارد فارسی: فونتهای رسمی سازمانی (مانند Vazirmatn، IRANSans، B Nazanin) به پوشه
C:\Windows\Fontsسرور شیرپوینت اضافه شده و در فایل کانفیگ Plumsail به عنوان فونت پیشفرض رندرینگ معرفی میگردند. -
کامپوننت تاریخ هجری شمسی: فیلدهای تقویم در فرمها به صورت کاملاً بومی با تقویم جلالی کار کرده و محاسبات روزهای کاری را به درستی انجام میدهند.
۵. لایسنسینگ دائمی و معتبر آفلاین Plumsail Suite توسط Licentra #
نسخه رسمی Plumsail مبتنی بر مدل اشتراکی ماهانه و ارتباط با وبسایت plumsail.com است که در دیتاسنترهای ایزوله فعال نمیشود.
مزایای بسته سازمانی Licentra:
-
لایسنس کامل Farm Solution: فعالسازی دائمی و نامحدود برای کلیه وباپلیکیشنها و سایتکالکشنهای Farm شیرپوینت.
-
بدون سقف تولید سند: تولید نامحدود فایلهای PDF و Word ماهانه بدون افت سرعت.
-
۱۰۰٪ آفلاین و بدون تماس اینترنتی: نصب پایدار در شبکههای امنیتی پدافند غیرعامل.
# بررسی وضعیت بستههای WSP مستقر شده در شیرپوینت با PowerShell
Get-SPSolution | Where-Object { $_.Name -like "*Plumsail*" } | Select-Object Name, Deployed, FarmFeatureWasAdded
این راهحل، بستری مطمئن و زیبا برای فرمهای درونسازمانی و مستندات رسمی بدون وابستگی خارجی خلق مینماید.



