この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

管理パッケージを使用した AppExchange ソリューションの開発

管理パッケージは、Salesforce パートナーがビジネスアプリケーションを作成して AppExchange で顧客に配布するために使用するツールです。管理パッケージには、開発したアプリケーションの配布、ライセンス、パイロット機能、トラブルシューティング、収益化に役立つ機能が用意されています。

パッケージは、Salesforce の顧客にアプリケーションを販売したり配布したりするためのコンテナです。パッケージを作成してから、アプリケーションを構成する機能、カスタマイズ、スキーマを追加します。パッケージ化するメタデータコンポーネントの例は次のとおりです。

  • Apex クラスおよびトリガ
  • 標準オブジェクトのカスタム項目
  • カスタムメタデータ型
  • カスタムオブジェクト
  • フロー
  • Lightning ページ
  • ページレイアウト

パッケージには多くの異なるメタデータコンポーネントを含めることができますが、単一コンポーネント (Visualforce ページなど) をパッケージ化することもできます。

Salesforce では、第二世代管理パッケージ (管理 2GP) と第一世代管理パッケージ (管理 1GP) を提供しています。今後は、すべて管理 2GP を使用して新しいアプリケーションを作成することをお勧めします。第二世代管理パッケージを使用してアプリケーションを作成する場合の利点は次のとおりです。

管理 2GP パッケージ 管理 1GP パッケージ
バージョン管理システムが信頼できる情報源 (ソース駆動型システム) になります。

管理 1GP とは異なり、管理 2GP ではパッケージ組織やパッチ組織は使用しません。

パッケージ組織がパッケージのメタデータの信頼できる情報源になります。
Dev Hub がパッケージを所有しますが、Dev Hub にはパッケージのメタデータは含まれません。

パートナービジネス組織 (PBO) で Dev Hub を有効化することをお勧めします。

パッケージ組織がパッケージを所有します。パッケージのメタデータは、パッケージ組織に存在します。
Dev Hub は、1 つまたは複数のパッケージを所有できるため、パッケージ開発が簡素化されます。 パッケージ組織は、管理パッケージを 1 つだけ所有できます。すべてのパッケージとすべてのパッチバージョンでは、新規の組織と一意のログイン情報が必要です。
複数のパッケージで同じ名前空間を使用できます。 名前空間は、1 つのパッケージにしか関連付けることはできません。
公開 Apex クラスおよびメソッドで @namespaceAccessible アノテーションを使用することで、同じ名前空間を使用している複数のパッケージでコードを共有できます。 パッケージ間でコードを共有する手段は global Apex のみです。
Salesforce CLI を使用して、すべてのパッケージ操作を自動化できます。操作を自動化することで時間を節約でき、チームの生産性が向上します。 パッケージの作成やアンインストールなど、一部のパッケージ操作は自動化できません。
パッケージは柔軟なバージョン管理か可能で、不要なパッケージバージョンは破棄できます。この柔軟なバージョン管理では、ブランチを使用してパッケージを並行開発することが可能です。 パッケージのバージョン管理は直線的です。
パッチバージョンは、Salesforce CLI を使用して作成されます。バージョン管理システムが信頼できる情報源となり、パッチ組織はありません。 パッチ場合は、パッチ組織という特別な組織でのみ作成できます。