Enterprise الإصدار
الترخيص
لمحة سريعة
قسم بعنوان «لمحة سريعة»يَحلّ NextPDF Enterprise ترخيصك إلى استحقاق في وقت التشغيل: درجة إصدار، ومجموعة من القدرات، وقرار علامة تجارية. ويظل الترخيص المدفوع المنتهية صلاحيته يعمل بموجب ضمان احتياطي دائم؛ ولا يتوقّف سوى التحديث والدعم. تصف هذه الصفحة السلوك القابل للملاحظة خارجيًا لسطح الترخيص، وبوابات القدرات والميزات، وعقد التفعيل عبر الإنترنت الاختياري.
التوفّر والترخيص
قسم بعنوان «التوفّر والترخيص»تُشحن هذه القدرة في NextPDF Enterprise (nextpdf/enterprise) وتُفعَّل بغلاف ترخيص من درجة Enterprise. والنشر الذي يفتقر إلى ذلك الاستحقاق لا يُحمِّل فئات القدرة. قارن الإصدارات واحصل على ترخيص.
الترخيص هو سطح Enterprise الأساسي: فهو يَحلّ كل قدرة أخرى، لذا يكون حاضرًا دائمًا بمجرد تثبيت حزمة Enterprise. وتُبوَّب الميزات الفردية اللاحقة برموز قدرات — قدرات درجة الإصدار وحزم إضافية تنتهي صلاحيتها على نحو مستقل. وتُبلِّغ البوابة عن الإصدار النشط، والصلاحية، وحالة فترة السماح، ومجموعة الحزم النشطة.
نظرة مفاهيمية عامة
قسم بعنوان «نظرة مفاهيمية عامة»لسطح الترخيص مهمة واحدة: تحويل الترخيص إلى قرار يمكن لتطبيق مُضيف أن يتصرّف بناءً عليه. وهو يُنتج نتيجة استحقاق غير قابلة للتغيير بخمسة حقول تهمّ في وقت التشغيل — درجة الإصدار، والقناة (مدفوع أو تقييم)، ووضع العلامة التجارية، وما إذا كان يجوز تشغيل الإصدار المثبَّت، وما إذا كان التحديث والدعم مُستحقَّين.
تُشكِّل الإصدارات تسلسلًا هرميًا صارمًا: Enterprise يتضمّن Pro، وPro يتضمّن Core. ولذلك ينجح فحص القدرة حين يكون الإصدار المُرخَّص عند الدرجة الدنيا للقدرة أو فوقها. وبعض القدرات غير مرتبطة بإصدار البتة — فهي تنتمي إلى حزم إضافية تحمل انتهاء صلاحيتها الخاص، مستقلًا عن مدة الترخيص الأساسي.
يُميّز قرار الاستحقاق خمس حالات منفصلة. فالترخيص النشط له وصول كامل. والترخيص المدفوع المُتجاوز مدته لكن ضمن نافذة سماحه يحتفظ بالوصول الكامل ويُظهِر تحذير “جدِّد قريبًا”. والترخيص المدفوع المُتجاوز نافذة سماحه يدخل الاحتياطي الدائم: يظل الإصدار المثبَّت يعمل إلى أجل غير مسمى، لكن التحديث والدعم لم يعودا مُستحقَّين. ويتصرّف ترخيص التقييم على نحو مختلف — فعند انتهاء صلاحيته يُقيَّد وقت التشغيل، لأن التقييم محدود بالزمن بحكم التصميم. وحين لا يوجد ترخيص، يَحلّ المُضيف إلى حالة فاشلة مغلقة ويُوسَم أي ناتج بصريًا حتى لا يُخلَط أي نشر غير مُرخَّص بنشر مدفوع.
لا يُفرَض عدد المقاعد التعاقدي في وقت التشغيل. ولا يوجد قياس عن بُعد ولا اتصال إلزامي بالخادم للتشغيل الاعتيادي. والعميل عبر الإنترنت الاختياري موجود فقط للتفعيل الصريح، وفحوص التجديد، ونبضات أفضل-جهد، والمُضيف الذي لا يستدعيه أبدًا يتلقّى مع ذلك قرار استحقاق كاملًا من ترخيص مُزوَّد محليًا.
وضع التجربة سياسة منفصلة وأضيق. حين يُعلَّم ترخيص بأنه تجربة، فإنه يضع سقفًا لإنتاجية المعالجة ويطبّق علامة مائية للتقييم على الناتج المُولَّد، بحيث يتطلّب العمل الإنتاجي الجَملي ترخيصًا مدفوعًا. ويُفرَض انتهاء صلاحية التجربة بصرامة، بلا فترة سماح.
لماذا يعمل بهذه الطريقة
قسم بعنوان «لماذا يعمل بهذه الطريقة»القرار الحامل هو أن الترخيص المدفوع لا يُعطِّل أبدًا وقت التشغيل المثبَّت. فعند انتهاء مدة مدفوعة، ينتقل الاستحقاق إلى EntitlementStatus::PerpetualFallback — يظل الإصدار المثبَّت يعمل، ولا يُلغى سوى التحديثات الأمامية والدعم. ويصمد هذا الضمان لأن الاستحقاق قرار خالص في الذاكرة على ترخيص مُزوَّد محليًا، فلا يمكن لاتصال بالخادم ولا لانقطاع شبكة أن يسحب وقت تشغيل مدفوعًا من تحت العميل. والثقل الموازن هو الإعدادات الافتراضية الفاشلة المغلقة: فالترخيص الغائب أو التقييم المنتهي يَحلّ إلى درجة Core ويضبط brandingMode على علامة مائية للتقييم. وهكذا لا يُخلَط أبدًا نشر غير مُرخَّص بنشر مدفوع في صمت. احتياطي دائم لما اشتريته، وفشل مغلق لما لم تشترِه — هذا الاقتران هو ما يُبقي الترخيص وديًّا مع وضع دون اتصال دون أن يصير نظام شرف.
خلفية التصميم: نواة مفتوحة، بلا حبس تقني.
سطح الـ API العام
قسم بعنوان «سطح الـ API العام»composer require nextpdf/enterprise:^3نقاط التكامل المدعومة هي مُقيِّم الاستحقاق (من الترخيص إلى نتيجة الاستحقاق)، وبوابة الميزات في وقت التشغيل (isFeatureEnabled، requireFeature، hasCapability، requireCapability، isInGracePeriod، currentEdition، getActivePacks، trialPolicy)، وسجل القدرات (تسوية المسار إلى قدرة ومجموعة القدرات المتاحة)، وعميل الترخيص الاختياري (activate، checkRenewal، heartbeat). عامِل مُقيِّم الاستحقاق باعتباره السلطة الوحيدة للقرارات المُشتقّة من الترخيص؛ ولا تتفرّع على حقول الترخيص الخام مباشرةً.
مثال شيفرة — بداية سريعة
قسم بعنوان «مثال شيفرة — بداية سريعة»use NextPDF\Enterprise\Licensing\EntitlementEvaluator;
$result = (new EntitlementEvaluator())->evaluate($license);
if (! $result->runtimeAllowed) { // No license, or an expired evaluation license. throw new RuntimeException($result->warningMessage ?? 'Enterprise runtime disabled.');}
// Perpetual fallback: still allowed to run; updates/support may be off.$canUpdate = $result->updateEntitled;$watermark = $result->shouldApplyEvaluationBranding();مثال شيفرة — إنتاج
قسم بعنوان «مثال شيفرة — إنتاج»use NextPDF\Enterprise\Licensing\CapabilityCode;use NextPDF\Enterprise\Licensing\FeatureGate;
final class ReportController{ public function __construct(private readonly FeatureGate $gate) {}
public function generate(): Response { // Throws a structured 403-style exception carrying the required // capability, the required pack, the current packs, and an // upgrade-info URL — usable as an upsell touchpoint. $this->gate->requireCapability(CapabilityCode::EnterpriseComplianceEvidence);
if ($this->gate->isInGracePeriod()) { $this->logger->notice('Enterprise license in grace period — renewal due.'); }
return $this->renderReport(); }}الحالات الحدّية والمزالق
قسم بعنوان «الحالات الحدّية والمزالق»- الاحتياطي الدائم ليس فترة سماح. يُبقي السماحُ التحديثَ والدعم نشطين؛ ويُبقي الاحتياطيُّ وقتَ التشغيل وحده نشطًا. وكلاهما يُبقي الإصدار المثبَّت يعمل للتراخيص المدفوعة.
- انتهاء صلاحية التقييم يُقيِّد وقت التشغيل. خلافًا للترخيص المدفوع، يوقف ترخيص التقييم المنتهي وقتَ التشغيل ويُبقي علامة التقييم المائية.
- انعدام الترخيص يفشل فشلًا مغلقًا. مع عدم تهيئة أي ترخيص، يكون الاستحقاق “لا ترخيص”، ويُعطَّل وقت التشغيل لمسارات Enterprise، ويُوسَم الناتج المُصدَر بعلامة مائية حتى تكون الحالة ظاهرة في السجلات والأدوات.
- انتهاء صلاحية الحزمة مستقل. يمكن أن تنتهي صلاحية حزمة إضافية بينما يظل الترخيص الأساسي نشطًا؛ فتفشل القدرة التي منحتها عندئذٍ بنتيجة “انتهت صلاحية الحزمة” متمايزة عن “غير مُرخَّص”.
- رفض القدرة مُنظَّم. تحمل القدرة المرفوضة القدرةَ المطلوبة، والحزمةَ المطلوبة (إن وُجدت)، والحزمَ الحالية، وعنوان URL لمعلومات الترقية — أظهِرها للمستخدم بدلًا من خطأ مُجرَّد.
الأداء
قسم بعنوان «الأداء»تقييم الاستحقاق وفحوص القدرات عمليات في الذاكرة بزمن ثابت على ترخيص مُحلَّل — بلا إدخال/إخراج على مسار الطلب. ويُجري العميل عبر الإنترنت الاختياري مكالمات شبكية فقط عند التفعيل الصريح وفحوص التجديد والنبضات؛ وإخفاقات النبضة غير قاتلة ولا تحجب المعالجة أبدًا.
ملاحظات أمنية
قسم بعنوان «ملاحظات أمنية»تصف هذه الصفحة عمدًا السلوك القابل للملاحظة فقط. والتحقّق من غلاف الترخيص، وفحص التوقيع، ومنطق مكافحة الإساءة، وموضع شيفرة الإنفاذ خارج النطاق ولا تُوثَّق على السطح العام. ويتفاعل المُشغِّلون مع عقد الحزمة العام ومع عقد السلوك المُوثَّق. ويستخدم عقد التفعيل عبر الإنترنت غلافَ استجابة موقَّعًا وقيمةً مُستخدَمة-مرة يزوّدها العميل بحيث يمكن لمُضيف اكتشاف استجابة تفعيل مُعاد تشغيلها أو مُتلاعَب بها؛ وإجراء التحقّق الدقيق ليس جزءًا من العقد العام.
المطابقة
قسم بعنوان «المطابقة»- تُحمَل استجابة التفعيل عبر الإنترنت في غلاف موقَّع على نمط JWS — ثلاثية رأس محمي / حمولة / توقيع بالشكل المُختزَل الآمن للـ URL الموصوف في RFC 7515 (توقيع الويب JSON)، §3.1.
- مادة التوقيع بترميز base64url، مُفكَّكة وفق RFC 7515 §5.2.
- يتبع JSON القانونيُّ لسلامة الغلاف مخطط ضبط JSON القانوني، RFC 8785، §3.
- توقيع التفعيل هو توقيع Ed25519 مُتحقَّق منه مقابل مفتاح عام بطول 32 بايت، وفق RFC 8032 (EdDSA)، §5.1.
- تحمل رموز الخدمة قصيرة العمر المستخدمة بين المكوّنات الادعاءات المُسجَّلة
issوaudوsubوexpوjti، وتحترم قاعدة “ليس بعد” الخاصة بـexpوفق RFC 7519 (JWT)، §4.1.4.
عقد السلوك
قسم بعنوان «عقد السلوك»- يُنتج تقييم الاستحقاق نتيجة غير قابلة للتغيير بمجموعة ثابتة من الحقول ذات الصلة بوقت التشغيل (درجة الإصدار، والقناة، ووضع العلامة التجارية، وجواز وقت التشغيل، واستحقاق التحديث/الدعم).
- لا يُعطِّل الترخيص المدفوع أبدًا وقت التشغيل المثبَّت: يُحرِّكه انتهاء الصلاحية عبر السماح ثم الاحتياطي الدائم، فيُلغي التحديث والدعم فقط.
- يُقيِّد ترخيص التقييم المنتهي وقتَ التشغيل ويُبقي علامة التقييم المائية؛ ويُفرَض انتهاء صلاحية التجربة بصرامة بلا فترة سماح.
- حالة “لا ترخيص” فاشلة مغلقة لمسارات Enterprise، ويُوسَم الناتج المُصدَر بعلامة مائية حتى لا يُخلَط أي نشر غير مُرخَّص بنشر مدفوع.
- رفض القدرة مُنظَّم: يحمل القدرةَ المطلوبة، والحزمةَ المطلوبة (إن وُجدت)، والحزمَ النشطة، وعنوان URL لمعلومات الترقية.
- فحوص الاستحقاق والقدرات عمليات في الذاكرة بزمن ثابت بلا إدخال/إخراج على مسار الطلب.
حدود المنشور
قسم بعنوان «حدود المنشور»توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا وسطح الـ API العام المدعوم فقط. ومسارات فضاء الأسماء الداخلية، والفئات المساعِدة، وجداول الآليات، وأسماء ملفات أدلة التشغيل، وبادئات التذاكر خارج النطاق.
بديل Core
قسم بعنوان «بديل Core»لا يملك NextPDF Core (Apache-2.0) أي سطح استحقاق إصدار أو قدرة — لا بوابة ميزات، ولا مُقيِّم استحقاق، ولا عميل ترخيص. والمُضيف الذي يحتاج سلوك Apache-2.0 غير المُرخَّص يستخدم محرك Core مباشرةً بدلًا من مسار Enterprise. Core لا يُبوِّب، ولا يضع علامة مائية للترخيص، ولا يُقيِّم استحقاقًا.
بديل Pro
قسم بعنوان «بديل Pro»لا يملك NextPDF Pro أي سطح استحقاق أيضًا — لا شيء؛ فهذه القدرة بلا مكافئ على مستوى Pro. الترخيص، وسجل القدرات، وبوابة الميزات، وعقد التفعيل تُشحن في حزمة nextpdf/enterprise فقط.
ملاحظة حدود Enterprise
قسم بعنوان «ملاحظة حدود Enterprise»يُوصَف إجراء التحقّق من غلاف الترخيص، وتنفيذ فحص التوقيع، ومنطق مكافحة الإساءة، وموضع شيفرة الإنفاذ على مستوى السلوك فقط ولا يُعاد إنتاجها على السطح العام. ويُوثَّق عقد التفعيل عبر الإنترنت كغلاف استجابة موقَّع بقيمة مُستخدَمة-مرة يزوّدها العميل؛ وإجراء التحقّق الدقيق ليس جزءًا من العقد العام.
حدود النشر
قسم بعنوان «حدود النشر»يَحلّ NextPDF Enterprise الاستحقاق من ترخيص مُزوَّد محليًا بلا اتصال إلزامي بالخادم للتشغيل الاعتيادي. ويُجري العميل عبر الإنترنت الاختياري مكالمات شبكية فقط عند التفعيل الصريح وفحوص التجديد ونبضات أفضل-جهد؛ وإخفاقات النبضة غير قاتلة ولا تحجب المعالجة أبدًا. ويملك المُشغِّل تزويد الترخيص، وتهيئة التفعيل/التجديد، وسياسة النقل للعميل عبر الإنترنت الاختياري. ولا يُفرِض NextPDF Enterprise عدد مقاعد تعاقديًا في وقت التشغيل.
حدود الامتثال القانوني
قسم بعنوان «حدود الامتثال القانوني»شروط السعة والمقاعد محكومة باتفاقية الترخيص الخاصة بك، لا بالإنفاذ في وقت التشغيل. هذه الوثائق ليست رأيًا قانونيًا؛ استشِر مستشاري الامتثال والشؤون القانونية لديك بخصوص التزاماتك التعاقدية والتنظيمية.