2GP と 1GP の管理パッケージの比較
第一世代管理パッケージ (1GP) に慣れていて、2GP と 1GP の違いについて知りたい方は、以下でこれらの違いについて読んでください。
| 1GP 管理パッケージ | 2GP 管理パッケージ |
|---|---|
| パッケージ組織がパッケージのメタデータの信頼できる情報源になります。 | バージョン管理システムが信頼できる情報源 (ソース駆動型システム) になります。 1GP とは異なり、2GP ではパッケージ組織やパッチ組織は使用しません。 |
| パッケージ組織がパッケージを所有します。パッケージのメタデータは、パッケージ組織に存在します。 | Dev Hub がパッケージを所有しますが、Dev Hub にはパッケージのメタデータは含まれません。 パートナービジネス組織 (PBO) で Dev Hub を有効化することをお勧めします。 |
| パッケージ組織は、管理パッケージを 1 つだけ所有できます。 | Dev Hub は、1 つまたは複数のパッケージを所有できます。 |
| 管理パッケージの名前空間は、パッケージ組織で作成します。 | 管理パッケージの名前空間は、名前空間組織で作成されて Dev Hub にリンクされます。 詳細は「名前空間」を参照してください。そして、複数の名前空間を単一の Dev Hub に関連付けることができます。 名前空間は、Salesforce CLI コマンドの force:package:create の実行時に 2GP にリンクされます。名前空間は、sfdx-project.json ファイルで指定する必要があります。 |
| 名前空間は、1 つのパッケージにしか関連付けることはできません。 | 複数のパッケージで同じ名前空間を使用できます。 |
| パッケージ間でコードを共有する手段は global Apex のみです。 | 公開 Apex クラスおよびメソッドで @namespaceAccessible アノテーションを使用することで、同じ名前空間を共有している複数のパッケージで同じ名前空間を共有できます。 |
| パッケージの作成やアンインストールなど、一部のパッケージ操作は自動化できません。 | Salesforce CLI を使用して、すべてのパッケージ操作を自動化できます。 |
| パッケージのバージョン管理は直線的です。 | パッケージバージョン管理ではブランチがサポートされます。 |
| パッチ場合は、パッチ組織という特別な組織でのみ作成できます。 | パッチバージョンは、Salesforce CLI を使用して作成されます。バージョン管理システムが信頼できる情報源となり、パッチ組織はありません。 |
これらの違いはありますが、1GP と 2GP の管理パッケージには多くの共通点があります。メタデータをパッケージに関連付ける際の主要なパッケージ概念は同じです。そして、登録者組織でインストール/アンインストールできるパッケージとパッチバージョンの反復と作成はどちらでも可能です。どちらの管理パッケージ種別でも、パッケージを AppExchange セキュリティレビューに送り、パッケージを AppExchange に登録できます。また、どちらの管理パッケージ種別でも、ライセンス管理アプリケーション、登録者サポートコンソール、機能管理アプリケーションを使用できます。