دليل إصدار 2GP
البنية
Section titled “البنية”flowchart TB
subgraph DEVHUB["Dev Hub (Production)<br/>hello@tucario.com"]
PM["Package Manager<br/>(2GP packages)"]
NS["Namespace Registry<br/>(linked)"]
NS --> PM
end
DEVHUB --> NSORG
subgraph NSORG["Namespace Org (Dev Org)<br/>michal@tucario.com.flexifree<br/>Namespace: tucariofts"]
end
المتطلبات الأساسية
Section titled “المتطلبات الأساسية”1. Dev Hub (Production)
Section titled “1. Dev Hub (Production)”- Dev Hub ممكّن: Setup > Dev Hub > Enable
- Namespace متصل: App Launcher > Namespace Registries > Link Namespace
2. Namespace Org (Partner Developer Org)
Section titled “2. Namespace Org (Partner Developer Org)”- Namespace مسجل (مرة واحدة، لا يمكن الرجوع عنه)
- Setup > Package Manager > Edit > Namespace Prefix
3. البيئة المحلية
Section titled “3. البيئة المحلية”- تثبيت Salesforce CLI
- التفويض لكلا المؤسستين
مرجع سريع (نسخ-لصق)
Section titled “مرجع سريع (نسخ-لصق)”# 1. التحقق من المؤسساتsf org list
# 2. التحقق من الحزمsf package list --target-dev-hub DevHub
# 3. التحقق من الإصداراتsf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. إنشاء إصدار جديد (BETA)sf package version create --package FlexibleTeamShare --installation-key-bypass --wait 20 --code-coverage --target-dev-hub DevHub --definition-file config/package-scratch-def.json
# 5. اختبار التثبيت (استبدل ID واسم المؤسسة المستعار)sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. الترويج إلى RELEASED (لا يمكن الرجوع عنه!)sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHubالأوامر
Section titled “الأوامر”تفويض المؤسسة
Section titled “تفويض المؤسسة”# Dev Hub (production)sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org (dev org with namespace)sf org login web --alias FlexiFREEالتحقق من المؤسسات المتصلة
Section titled “التحقق من المؤسسات المتصلة”sf org listالتحقق من الحزم الموجودة
Section titled “التحقق من الحزم الموجودة”sf package list --target-dev-hub DevHubالتحقق من إصدارات الحزمة
Section titled “التحقق من إصدارات الحزمة”sf package version list --packages FlexibleTeamShare --target-dev-hub DevHubإنشاء إصدار حزمة جديد
Section titled “إنشاء إصدار حزمة جديد”1. تحديث الإصدار في sfdx-project.json (اختياري)
Section titled “1. تحديث الإصدار في sfdx-project.json (اختياري)”{ "packageDirectories": [ { "versionName": "ver 0.2", "versionNumber": "0.2.0.NEXT", "path": "force-app", "default": true, "package": "FlexibleTeamShare" } ], "namespace": "tucariofts"}2. إنشاء إصدار حزمة (beta)
Section titled “2. إنشاء إصدار حزمة (beta)”sf package version create \ --package FlexibleTeamShare \ --installation-key-bypass \ --wait 20 \ --code-coverage \ --target-dev-hub DevHub \ --definition-file config/package-scratch-def.json3. اختبار التثبيت
Section titled “3. اختبار التثبيت”sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104. الترويج إلى Released (Production)
Section titled “4. الترويج إلى Released (Production)”sf package version promote \ --package 04tXXXXXXXXXXXXXXX \ --target-dev-hub DevHubالنشر على AppExchange
Section titled “النشر على AppExchange”- سجل الدخول إلى Partner Community
- Publishing > Listings > New Listing
- أضف إصدار الحزمة المروّج
- املأ تفاصيل القائمة
- قدّم للمراجعة
استكشاف الأخطاء وإصلاحها
Section titled “استكشاف الأخطاء وإصلاحها””Not available for deploy for this organization” (Translations)
Section titled “”Not available for deploy for this organization” (Translations)”مؤسسة Scratch ليس لديها Translation Workbench ممكّن.
الحل: استخدم --definition-file config/package-scratch-def.json الذي يتضمن:
{ "orgName": "Package Build Org", "edition": "Enterprise", "settings": { "languageSettings": { "enableTranslationWorkbench": true, "enableEndUserLanguages": true, "enablePlatformLanguages": true } }}“No such column” (FLS errors)
Section titled ““No such column” (FLS errors)”استخدم WITH SYSTEM_MODE بدلاً من WITH USER_MODE في استعلامات SOQL.
”You cannot deploy to a required field”
Section titled “”You cannot deploy to a required field””قم بإزالة الحقول المطلوبة من Permission Sets (الحقول المطلوبة لا تحتاج FLS).