Skip to main content
From 16:00 UTC on January 17, 2026, to 20:00 UTC on January 17, 2026, we will perform planned maintenance on the Trailhead, myTrailhead, and Trailblazer Community sites. During the maintenance, these sites will be unavailable, and users won't be able to access them. Please plan your activities around this required maintenance.

第二世代管理パッケージ化について学ぶ

学習の目的

この単元を完了すると、次のことができるようになります。

  • 管理パッケージ化とは何のために使用されるかを説明する。
  • 第二世代管理パッケージに含めることができるメタデータの種類を挙げる。
  • 名前空間とは何か、何に使用されるかを説明する。

第二世代管理パッケージ化が重要な理由

ビジネスアプリケーションを開発して Salesforce のお客様に販売しようと考えていますか? 管理パッケージは、Salesforce パートナーがビジネスアプリケーションを作成し、AppExchange からお客様に配布するために使用するツールです。管理パッケージで提供される一連の機能を使用して、アプリケーションの配布、ライセンスやパイロット機能の提供、トラブルシューティング、収益化を行うことができます。 

Salesforce には第一世代管理パッケージ化 (管理 1GP) と第二世代管理パッケージ化 (管理 2GP) があります。今後はこのモジュールで説明する管理 2GP の使用を推奨します。 

メモ

社内用または特定のお客様のプロジェクト用にパッケージを作成する場合は、ロック解除済みパッケージを使用してください。 

Salesforce では、管理 2GP が新しい管理パッケージを開発するための最良のアプローチであると自負しています。管理 2GP の各側面について説明していきますが、利点を要約すると次のようになります。 

管理 2GP は、ソース駆動型で自動化に適した最新の開発モデルに基づいています。管理 2GP を使用してソース管理システムと連携させ、パッケージ間でカスタム Apex コードをより有効に活用し、組み立て可能な小さなモジュール式パッケージをビルドできます。また、サブチームによる並行開発をサポートし、パッケージ間の連動関係を明示的に宣言する機能も提供されています。管理 2GP を使用すると、Salesforce CLI を使用してすべてのパッケージ化操作を実行したり、スクリプトを使用して自動化したりできます。 

これまで管理 1GP を使用してパッケージを作成していた方に留意していただきたいのは、管理 2GP は第一世代管理パッケージの単なるバージョン 2.0 ということではなく、まったく異なる改善されたパッケージ開発アプローチであり、アプリケーションとメタデータを開発して管理する新しい方法であるということです。Salesforce での今後のアプリケーション開発は管理 2GP が主流となっていきます。

このまま読み進め、このテクノロジーとその利点についてさらに理解を深めてください。 

Salesforce でのパッケージ開発

パッケージ開発は Salesforce に限ったことではありません。Java、NPM、または類似のソフトウェア開発ツールに精通している方は、すでにパッケージ開発の経験があることと思います。

Salesforce では、パッケージとは Salesforce のお客様に販売して配布するアプリケーションのコンテナを指します。パッケージを作成し、それにアプリケーションを構成する機能、カスタマイズ、スキーマを追加します。 

パッケージ化できるメタデータコンポーネントの例として、次のようなものがあります。 

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

パッケージには、各種のメタデータコンポーネントを多数含めることができます。または Visualforce ページのような 1 つのコンポーネントをパッケージ化することもできます。管理 2GP に含めることができるメタデータの完全なリストについては、Metadata Coverage (メタデータカバー率) レポートを参照してください。

完成したアプリケーションをパッケージ化し、パッケージ化されたアプリケーションのセキュリティレビューを受けた後、マーケティングと配布のために AppExchange にリストします。パッケージはそこから任意の Salesforce 組織にインストールできます。お客様にとって、Salesforce 組織へのパッケージのインストールは、携帯電話へのアプリケーションのインストールと概念的に類似しています。お客様の組織にアップグレードを転送して、お客様がパッケージの最新バージョンを使用するようにしてください。

パッケージバージョンとパッケージの違い 

アプリケーション (つまりパッケージ) は徐々に発展していきます。パッケージ内のメタデータを変更、追加、または削除するときは必ず、新しいパッケージバージョンを作成します。各パッケージバージョンにはバージョン番号 (1.3.0.2 など) があります。各パッケージバージョンは不変のアーティファクトで、特定時点のメタデータの静的なスナップショットです。 

パッケージが継続的に発展している間は、パッケージがパッケージバージョンという形式の安定した状態のときに、そのスナップショットを取得します。厳密に言えば、「パッケージをインストールする」とは、実際には特定のパッケージバージョンをインストールすることを意味します。

新しいパッケージバージョンを作成してリリースするときには、お客様自らが最新のパッケージバージョンにアップグレードするか、お客様にアップグレードを転送することができます。こうしてアプリケーションの機能を絶えず発展させていくことにより、アプリケーションのファンとなるお客様が増えていきます。

名前空間とは何か、なぜ必要なのか?

たとえば、パッケージに追加する予定の EnhancedAccount__c というカスタムオブジェクトを開発したとします。ところが、Get Cloudy Partners という別の Salesforce パートナーも同じカスタムオブジェクトを開発していました。お客様があなたのパッケージと Get Cloudy のパッケージの両方をインストールしたらどうなるでしょうか? 心配ありません。名前空間があります。 

EnhancedAccount__c オブジェクトを FinanceX 名前空間に関連付けられたパッケージにオブジェクトを追加すると、API 参照名は FinanceX__EnhancedAccount__c になります。このパッケージに追加するすべてのコンポーネントには、コンポーネントの API 参照名に FinanceX 名前空間のプレフィックスが付けられます。

名前空間は英数字で構成される識別子です。名前空間を作成して登録したら、その名前空間を 1 つ以上のパッケージに関連付けます。これでパッケージとそのコンテンツが、お客様の組織の他のパッケージやコンポーネントと区別されました。選択する名前空間は Salesforce システム内で一意であることが保証されています。そのため、名前空間は 2 つとして同じものはありません。

管理 1GP パッケージを開発している方は、すでに名前空間の使用に慣れていると思いますが、管理 2GP では名前空間の操作に大幅な変更があったため、このまま読み続けてください。 

管理 2GP では、同じ名前空間を複数の 2GP に割り当てることができます。パッケージ間で名前空間を共有すると、同じ名前空間のパッケージ間でコードを簡単に共有できます。このトピックについては、単元 2 でもう少し詳しく説明します。

メモ

1 つの名前空間を複数の管理 2GP で使用することができますが、各管理 2GP パッケージは 1 つの名前空間にしか関連付けられません。 

パッケージの作成を開始する前に、名前空間を作成して登録しておきます。パッケージを定義して作成するときに、パッケージに使用する登録済みの名前空間を指定します。 

メモ

パッケージの作成後に、パッケージに関連付けた名前空間を変更することはできません。

名前空間についてと、管理 2GP に含めることができるメタデータ型について説明しました。次は管理 2GP パッケージ開発の主な利点について詳しく説明します。 

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む