Salesforce DX 開発者ガイド
Spring '26 (API version 66.0)
Winter '25 (API version 62.0)
Spring '24 (API version 60.0)
Winter '24 (API version 59.0)
Summer '23 (API version 58.0)
Spring '23 (API version 57.0)
Summer '22 (API version 55.0)
Spring '22 (API version 54.0)
Winter '22 (API version 53.0)
Summer '21 (API version 52.0)
Spring '21 (API version 51.0)
Winter '21 (API version 50.0)
Summer '20 (API version 49.0)
Spring '20 (API version 48.0)
Winter '20 (API version 47.0)
Summer '19 (API version 46.0)
Spring '19 (API version 45.0)
Winter '19 (API version 44.0)
Summer '18 (API version 43.0)
Spring '18 (API version 42.0)
Winter '18 (API version 41.0)
メタデータカバー率
パッケージとは?
2GP と 1GP の管理パッケージの比較
パッケージ ID と別名
第二世代パッケージのワークフロー
第二世代管理パッケージのベストプラクティス
頻繁に使用するパッケージ化操作
パッケージのアンインストール
AppExchange でのアプリケーションの公開
第一世代管理パッケージと第二世代管理パッケージの差異
注文の新規保存方式へのテストと対応
Salesforce DX に関する制限事項
第二世代管理パッケージ
第二世代管理パッケージ (2GP) によって、AppExchange パートナーがアプリケーションやメタデータを開発、配布、管理する新しい手法が切り開かれます。2GP を使用することで、ソースを整理し、小さいモジュール式のパッケージをビルドし、バージョン管理システムと統合して、カスタム Apex コードをさらに活用できます。バージョン管理システムが信頼できる情報源となるため、パッケージ組織やパッチ組織は存在しません。すべてのパッケージ操作は、Salesforce CLI で実行したり、スクリプトを使用して自動化したりできます。また、第二世代管理パッケージをセキュリティレビューのために送信し、AppExchange にリストできます。
2GP を使用して新しい管理パッケージを作成してください。現時点では、第一世代管理パッケージを第二世代管理パッケージに移行することはできません。
第二世代管理パッケージは、AppExchange パートナー特有のニーズに対応します。顧客であってもシステムインテグレータであっても、複数の顧客にパッケージを配布する予定がない場合は、ロック解除済みパッケージの使用をお勧めします。ロック解除済みパッケージを使用すると、既存のメタデータを整理したり、アプリケーションやエクステンションをパッケージしたり、新しいメタデータをパッケージしたりできます。詳細は、「ロック解除済みパッケージ」を参照してください。
メモ
-
パッケージとは?
パッケージ化に詳しくないのであれば、パッケージを、メタデータで満たされたコンテナだと考えてください。そこには、関連する機能、カスタマイズ、スキーマのセットが含まれています。パッケージを使用してメタデータを Salesforce 組織間で移動できます。 -
2GP と 1GP の管理パッケージの比較
第一世代管理パッケージ (1GP) に慣れていて、2GP と 1GP の違いについて知りたい方は、以下でこれらの違いについて読んでください。 -
名前空間
名前空間は、パッケージおよびそのコンテンツと顧客の組織内のその他のパッケージを区別する 1 ~ 15 文字の英数字で構成される識別子です。名前空間は、パッケージに対し作成時に割り当てられ、変更できません。 -
パッケージ ID と別名
パッケージまたはパッケージバージョンを作成するときに、Salesforce CLI によってパッケージ名に基づいてパッケージの別名が作成され、sfdx-project.json ファイルの packageAliases セクションにその名前が保存されます。パッケージ化ワークフローを自動化する CLI コマンドを実行するかスクリプトを作成するときは、多くの場合、パッケージ ID またはパッケージバージョン ID ではなくパッケージの別名を参照する方が簡単です。 -
第二世代管理パッケージを作成する前に
第二世代管理パッケージを使用する場合、以下を検証して、適切に設定されていることを確認してください。 -
第二世代パッケージのワークフロー
コマンドラインから直接、第二世代管理パッケージを作成してインストールできます。 -
パッケージの設定
各パッケージの sfdx-project.json ファイルにエントリを追加し、その別名、バージョンの詳細、連動関係、機能、および組織設定を指定します。コマンドラインから、オプションの設定または変更 (インストールキーの指定、パッケージ名の更新、説明の追加など) を行うこともできます。 -
第二世代管理パッケージのベストプラクティス
第二世代管理パッケージを使用するときには、次のベストプラクティスに従うことをお勧めします。 -
頻繁に使用するパッケージ化操作
-
パッケージの作成
パッケージは、アプリケーションまたはパッケージに関する重��な詳細 (パッケージ名、説明、および関連付けられた名前空間) を保持する最上位のコンテナです。 -
パッケージアップグレードの転送
転送アップグレードでは、顧客にアップグレードのインストールを依頼しなくても、登録者組織にインストールされているパッケージをアップグレードできます。転送アップグレードを受信する組織、パッケージのアップグレード先のバージョン、アップグレードのタイミングを選択できます。転送アップグレードが役立つのは、ホットバグ修正の変更を転送する必要がある場合です。 -
パッケージのインストール
第二世代管理パッケージは、CLI またはブラウザを使用してインストールします。パッケージバージョンはスクラッチ組織、Sandbox 組織、DE 組織、または本番組織にインストールできます。 -
パッケージのアンインストール
パッケージは Salesforce CLI を使用して登録者組織からアンインストールするか、設定 UI からアンインストールすることができます。第二世代管理パッケージをアンインストールすると、パッケージ内のすべてのコンポーネントが組織から削除されます。 -
AppExchange でのアプリケーションの公開
1GP 管理パッケージを公開したことがある場合、2GP 管理パッケージを公開するプロセスは異なることに気が付くでしょう。Dev Hub 組織を AppExchange 公開コンソールにリンクすると、リリースされたすべての 2GP パッケージバージョンが公開コンソールに表示されます。 -
第一世代管理パッケージと第二世代管理パッケージの差異
次の機能は、第一世代管理パッケージでサポートされています。第二世代管理パッケージでは、まだサポートされていません。当社では、これらの機能の差異を解消しようと取り組んでいます。 -
注文の新規保存方式へのテストと対応
注文オブジェクトを含むパッケージを作成した場合、その種別を問わず、インストール済みパッケージが機能しないことがあり、パッケージのアップグレードまたは新しいパッケージのインストールがブロックされます。その理由は次のとおりです。注文オブジェクトに関連付けられているレコードのカスタムアプリケーションロジックが適切に評価されなかった問題には、「注文の保存方式」リリース更新で対処しているためです。