تخطَّ إلى المحتوى
getnextpdf.com

Enterprise الإصدار

الإصدار

يُنمذِج ⁨NextPDF Enterprise⁩ الإصدار ككائنات قيمة من نوع محدَّد — بيان إصدار، وبيانات لكل قِطعة، وملفات تعريف بناء، وقنوات توزيع، وحدود وصول — ويشتقّ خطة نشر تُوجِّه كل قِطعة إلى القناة وحدود الوصول الصحيحة.

تُشحَن هذه القدرة في ⁨NextPDF Enterprise⁩ (nextpdf/enterprise) وتُفعَّل بمَغلَّف ترخيص من فئة ⁨Enterprise⁩. لا يُحمِّل أي نشر يفتقر إلى ذلك الاستحقاق أصنافَ هذه القدرة. قارن الإصدارات واحصل على ترخيص.

Terminal window
composer require nextpdf/enterprise:^3

ReleaseManifest هو المستند الجذري الثابت لإصدار ما. يسجّل الإصدار الدلالي، وإيداع المصدر، وطابع البناء الزمني، وقائمة البيانات لكل قِطعة، ومسارات اختيارية لأدلّة سلسلة الإمداد (⁨SBOM⁩، وتوقيع ⁨GPG⁩، والمجاميع الاختبارية). يتبع إصدار مخطّطه قاعدة ثانوي للإضافات ورئيسي للتغييرات الكاسرة.

يسجّل ArtifactManifest قِطعةً مبنيّة واحدة: اسم ملفها القانوني، والإصدار، وإيداع المصدر، والإصدار المستهدف، ووضع التسليم، وتقنية الترميز، وقناة التوزيع، وإصدار ⁨PHP⁩ المستهدف، وملخّص ⁨SHA-256⁩، وانتهاء صلاحية الترميز الاختياري، وطابع البناء الزمني. يميّز EncodingTechnology الأداة المستخدمة لترميز قِطعة عمّا إذا كانت قد رُمِّزت أصلًا؛ فالقِطعة بنص صريح تحمل دائمًا None.

يفصل DistributionChannel بين شأنين صراحةً: أصل القِطعة (تخزين ثنائي) وطبقة استهلاك الحزمة (السجلّ الذي يقرؤه composer require). يحدّد AccessBoundary من يجوز له الوصول إلى قِطعة — عملاء مدفوعون، أو تقييم محدود الوقت، أو ⁨CI/QA/staging⁩ داخلي غير مُوجَّه للعميل أبدًا — وتتطلّب كل حدود مصادقة.

يُشتقّ PublishingPlan من ملفات تعريف البناء ومن بيان الإصدار. يُحلّ كل ملف تعريف إلى أهداف نشر: هدف أصل القِطعة وهدف طبقة الاستهلاك، مع تطبيق حدود الوصول الصحيحة بحيث تُوجَّه القِطَع المدفوعة وقِطَع التقييم إلى الموضع الصحيح.

القرار الحامل هو نمذجة الإصدار ككائنات قيمة ثابتة من نوع محدَّد، لا كتهيئة سائبة. فأصل القِطعة وطبقة الاستهلاك شأنان متمايزان من نوع تعداد، وحدود الوصول صريحة. لذا فإن القِطعة المُوجَّهة خطأً — بناء داخلي وُضع على قناة عميل — تظهر بوصفها خطأ نمذجة، لا زلّة إنتاج صامتة. تبقى الخطة مُشتقّة لا موثوقة: فهي تسمّي الأهداف المقصودة بينما تؤدّي أدوات الإصدار لديك النقل. تُحلّ الكائنات نفسها من خلال عقد ⁨Core⁩، لذا لا يغيّر المستهلك الذي يرقّي إصداره أيَّ كود استدعاء. تلك الاستمرارية هي جوهر حدود النواة المفتوحة — فأنت تشتري سطح ⁨Enterprise⁩، لا إعادة كتابة. خلفية التصميم: نواة مفتوحة، بلا حصر.

الصنفالمسؤولية
ReleaseManifestمستند إصدار جذري ثابت.
ArtifactManifestبيانات وصفية لكل قِطعة وحقول تحقّق.
BuildProfileتهيئة بناء لنشرها.
DistributionChannelتعداد قناة الأصل مقابل طبقة الاستهلاك.
AccessBoundaryتعداد وصول ⁨Paid⁩ / ⁨Evaluation⁩ / ⁨Internal⁩.
EncodingTechnologyتعداد أداة الترميز (مثلًا مُرمَّز / لا شيء).
PublishingPlan / PublishingTargetخطة مُشتقّة وتوجيه لكل هدف.
use NextPDF\Enterprise\Release\PublishingPlan;
$plan = PublishingPlan::fromProfiles($profiles, '3.1.0');
use NextPDF\Enterprise\Release\PublishingPlan;
use NextPDF\Enterprise\Release\PublishingEnvironment;
$plan = PublishingPlan::fromProfiles(
$profiles,
'3.1.0',
PublishingEnvironment::Production,
);
foreach ($plan->targets as $target) {
$logger->info('release.target', [
'version' => $plan->version,
'channel' => $target->channel->value,
]);
}
  • أصل القِطعة وطبقة الاستهلاك قناتان متمايزتان. يخزّن الأصلُ الثنائيَّ؛ وتُقدّم طبقة الاستهلاك البيانات الوصفية التي تشير إليه. لا تخلط بينهما عند التفكير في الموضع الذي يُحلّ إليه composer require.
  • القِطعة بنص صريح تُبلِّغ دائمًا عن EncodingTechnology::None؛ ويجيب حقل تقنية الترميز عن «أي أداة»، لا عن «هل كانت محميّة».
  • قِطَع حدود الوصول الداخلية غير مُوجَّهة للعميل أبدًا؛ وتوجيهها إلى قناة عميل خطأ تهيئة صُمِّم هذا النموذج ليجعله صريحًا.
  • خطة النشر مُشتقّة، لا موثوقة للنقل — فهي تصف الأهداف المقصودة؛ أما الرفع الفعلي فتؤدّيه أدوات الإصدار لديك.

اشتقاق الخطة خطّي في عدد ملفات تعريف البناء وينتج عددًا صغيرًا من الأهداف لكل ملف. كائنات القيمة ثابتة ورخيصة الإنشاء.

يحمل بيان الإصدار مسارات أدلّة سلسلة الإمداد (⁨SBOM⁩، وتوقيع ⁨GPG⁩، والمجاميع الاختبارية). تسجّل هذه الوحدة تلك المراجع وتوجّهها؛ ولا تُنتج بنفسها توقيعات ولا تُثبت المنشأ. عامِل البيان كبيانات وصفية يتحقّق منها مسار الإصدار لديك، لا كدليل بحدّ ذاته.

إقامة البيانات وتخفيفات المعلومات الشخصية

قسم بعنوان «إقامة البيانات وتخفيفات المعلومات الشخصية»

تحتوي بيانات الإصدار على بيانات وصفية للبناء والقِطعة، لا بيانات شخصية. طبّق ضوابطك المعتادة على تخزين القِطَع.

القياس الآمن وتنقية السجلات

قسم بعنوان «القياس الآمن وتنقية السجلات»

ينبغي أن تسجّل سجلات الإصدار الإصدار والقناة، لا مادة مفاتيح التوقيع ولا مسارات التخزين الداخلية.

لا يُدّعى أي مطابقة لمعايير لهذه الوحدة؛ فهي طبقة لنمذجة الإصدار. يُشار إلى أدلّة سلسلة الإمداد (⁨SBOM⁩، والتوقيعات، والمجاميع الاختبارية) من خلال البيان، وتنتجها وتتحقّق منها أدوات الإصدار لديك.

لا تُجري هذه الوحدة أي عملية تشفيرية. توقيع ⁨GPG⁩ وتوليد المجاميع الاختبارية تؤدّيهما أدوات إصدار خارجية ويُشار إليهما هنا فقط.

المُدخَلات هي ملفات تعريف بناء وبيانات بيان يزوّدها المستدعي. يجعل النموذج تمييزَي الأصل-مقابل-الاستهلاك وحدود الوصول صريحَين بحيث يكون التوجيه الخاطئ (مثلًا كشف قِطعة داخلية) خطأ نمذجة ظاهرًا لا صامتًا.

  • ReleaseManifest هو المستند الجذري الثابت لإصدار ما؛ ويتبع إصدار مخطّطه قاعدة ثانوي للإضافات ورئيسي للتغييرات الكاسرة.
  • يُبقي DistributionChannel أصل القِطعة وطبقة استهلاك الحزمة شأنين متمايزين؛ ودمجهما خطأ نمذجة يجعله هذا النوع صريحًا.
  • يميّز AccessBoundary بين ⁨Paid⁩ / ⁨Evaluation⁩ / ⁨Internal⁩، وتتطلّب كل حدود مصادقة؛ والقِطعة الداخلية غير مُوجَّهة للعميل أبدًا.
  • يُشتقّ PublishingPlan من ملفات تعريف البناء وبيان الإصدار؛ وهو يصف الأهداف المقصودة وليس موثوقًا للنقل.

توثّق هذه الصفحة السلوك القابل للملاحظة خارجيًا والسطح العام المدعوم من الـ ⁨API⁩ فقط. أما مسارات فضاء الأسماء الداخلية، وأصناف المساعدة، وجداول الآليات، وأسماء ملفات أدلّة التشغيل، وبادئات التذاكر فهي خارج النطاق.

لا يملك ⁨NextPDF Core⁩ أي طبقة لنمذجة الإصدار. على المستهلك الذي يقتصر على ⁨Core⁩ ويحتاج بيانات إصدار أو ملفات تعريف بناء أو خطة نشر أن ينمذجها بنفسه.

لا يوفّر ⁨NextPDF Pro⁩ بيانات الإصدار من نوع محدَّد، ولا ملفات تعريف البناء، ولا حدود الوصول، ولا خطة النشر المُشتقّة؛ فتلك تُشحَن في حزمة nextpdf/enterprise فقط. لا يملك نشر يقتصر على ⁨Pro⁩ أي مكوّن ⁨Enterprise⁩ يُلبّي طلب نمذجة إصدار. راجع نظرة عامة على ⁨Enterprise⁩ لأجل سطح ⁨Enterprise⁩.

يُوصَف مخطّط البيان، وتمييز الأصل-مقابل-الاستهلاك، وتوجيه حدود الوصول على مستوى السلوك فقط. جداول حلّ القنوات الداخلية وتوصيل أهداف النشر الداخلية خارج نطاق السطح العام ولا تُعاد هنا.

خطة النشر بيانات وصفية مُشتقّة، لا النقل: الرفع الفعلي للقِطعة تؤدّيه أدوات الإصدار لديك. يُشار إلى أدلّة سلسلة الإمداد (⁨SBOM⁩، وتوقيع ⁨GPG⁩، والمجاميع الاختبارية) من خلال البيان، وينتجها ويتحقّق منها مسار الإصدار لديك، لا هذه الوحدة. أما التوجيه وبيانات الاعتماد والتخزين لكل قناة فهي مسؤولية المشغِّل.

تصف هذه الصفحة طبقةً لنمذجة الإصدار. تسجّل مراجع أدلّة سلسلة الإمداد وتوجّهها؛ ولا تُنتج بنفسها توقيعات، ولا تُثبت المنشأ، ولا تعتمد إصدارًا، ولا تشكّل مشورة قانونية. معاملة البيان كدليل بحدّ ذاته غير صحيحة؛ والتحقّق يؤدّيه مسار الإصدار لديك. أما الحكم على ما إذا كان إصدار ما يفي بالتزاماتك التعاقدية أو التنظيمية فهو مسؤوليتك.