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

第二世代管理パッケージ (ベータ) からのメタデータコンポーネントの削除

第二世代管理パッケージで不要になった Apex クラスなどのメタデータコンポーネントを削除します。

この機能はベータサービスです。ベータサービスはお客様独自の裁量で試行するものとします。ベータ機能の使用には、「Agreements and Terms」に記載されたベータサービス規約が適用されます。2GP からのメタデータコンポーネントの削除に関するフィードバックや提案は、パートナーコミュニティの管理パッケージグループに投稿してください。

メモ

登録者組織でのコンポーネント削除の影響

パッケージのアップグレード時、登録者組織から物理削除されるのは、特定の種類のコンポーネントのみです。パッケージバージョンで削除されたメタデータコンポーネントの大部分は、パッケージのアップグレード後も登録者組織に残り、廃止としてマークされます。登録者組織でパッケージがアップグレードされる場合は、設定変更履歴により、どのコンポーネントが削除されたかがログに記録されます。廃止となったメタデータを削除できるのは、登録者組織のシステム管理者です。

このベータ機能で、第二世代管理パッケージからの削除がサポートされるのは、次のメタデータコンポーネントです。

メタデータコンポーネント パッケージをアップグレードしたときのメタデータコンポーネントに対する処理
分析スナップショット 廃止としてマーク
Apex クラス (グローバル Apex クラスは除く) 物理削除
Apex トリガ 物理削除
Aura 定義バンドル 廃止としてマーク
コンパクトレイアウト 廃止としてマーク
カスタムアプリケーション 廃止としてマーク
カスタムアプリケーションコンポーネント 廃止としてマーク
カスタム項目 廃止としてマーク
カスタム表示ラベル 廃止としてマーク
カスタムオブジェクト 廃止としてマーク
カスタム権限 廃止としてマーク
カスタムタブ 廃止としてマーク
ダッシュボード 廃止としてマーク
ダッシュボードフォルダ 廃止としてマーク
ドキュメント 廃止としてマーク
項目セット 廃止としてマーク
FlexiPage 廃止としてマーク
Layout 廃止としてマーク
リストビュー 廃止としてマーク
権限セット 廃止としてマーク
プロファイル 廃止としてマーク
クイックアクション 廃止としてマーク
レコードタイプ 廃止としてマーク
リモートサイトの設定 廃止としてマーク
Report 廃止としてマーク
レポートフォルダ 廃止としてマーク
レポートタイプ 廃止としてマーク
共有の理由 廃止としてマーク
静的リソース 廃止としてマーク
入力規則 廃止としてマーク
Visualforce コンポーネント (グローバルコンポーネントは除く) 物理削除
Visualforce ページ 廃止としてマーク
WebLink (カスタムボタンまたはカスタムリンク) 廃止としてマーク

メタデータコンポーネントの削除方法

この機能を有効にするには、https://partners.salesforce.com/partnerSupport でケースを登録します。

この機能が有効になったら、Salesforce DX プロジェクトからメタデータコンポーネントのソースファイルを削除して、新しいパッケージバージョンを作成します。新しいパッケージバージョンをテストし、削除したメタデータがなくても正常に機能していることを確認します。

第二世代管理パッケージからメタデータコンポーネントを削除する前に

第二世代管理パッケージからメタデータコンポーネントを正常に削除するには、次の点に留意してください。

  • この機能へのアクセスをまだ要求していない場合は、要求します。
  • 削除できるメタデータコンポーネントのリストをよく理解します。
  • 削除予定のメタデータに対する依存関係がないことを確認します。

パッケージ内のメタデータへの依存関係の削除

削除予定のメタデータコンポーネントに対して依存関係がある場合は、最初に依存関係を削除してから、メタデータコンポーネントを削除します。

たとえば、ページレイアウトで参照されるカスタム項目を削除する前に、ページレイアウトを編集して、カスタム項目への参照を削除します。次に、ソースファイルからカスタム項目を削除して、新しいパッケージバージョンを作成します。

シナリオによっては、コンポーネントを削除するために 2 段階の方法が必要なものがあります。たとえば、Visualforce コンポーネントを含む Visualforce ページを削除する予定があり、このページを、Lightning コンポーネントを含む Lightning ページに置き換える場合、Visualforce ページと Visualforce コンポーネントの両方を 1 回のアップグレードで削除すると、登録者に対して問題が発生することがあります。これらの問題が発生するのは、パッケージのアップグレード時に Visualforce コンポーネントが削除され、Visualforce ページが廃止となるためです。

この例で、登録者に対して問題が発生しないようにするには、Visualforce コンポーネントへの参照を Visualforce ページから削除し、新しいパッケージバージョンを作成して、アップグレードをプッシュします。次に、パッケージバージョンから Visualforce ページを削除して、このアップグレードを登録者にプッシュします。

他のパッケージにある依存関係の削除

メタデータコンポーネントを削除するにあたり、最初にメタデータへのすべての参照を削除します。これには、そのメタデータコンポーネントに依存する他のパッケージ内の参照も含まれます。たとえば、公開 Apex クラスを削除する場合は、他のパッケージが Apex @namespaceAccessible アノテーションを使用してそのクラスを参照していないことを確認します。

このセクションでは、PackageA は、メタデータコンポーネントを削除する予定のパッケージを参照しています。PackageB は、PackageA から削除されるメタデータに依存する任意のパッケージです。PackageB のメタデータコンポーネントまたは Apex クラスへの参照がある場合は、次の手順を実行します。

  1. メタデータコンポーネントへの参照を PackageB から削除します。
  2. PackageB の新しいバージョンを作成します。
  3. PackageB の新しいバージョンを登録者にプッシュします。
  4. PackageA から削除予定のメタデータへの参照が他のパッケージに含まれている場合は、これらの手順を繰り返します。

メタデータコンポーネントへのすべての参照が削除されたら、PackageA の Salesforce DX プロジェクトからメタデータコンポーネントのソースファイルを削除して、PackageA の新しいバージョンを作成します。このアップグレードを登録者にプッシュする前に、新しいパッケージバージョンをテストして、正常に機能することを確認します。