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

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

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

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

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

第二世代管理パッケージから削除できるメタデータコンポーネントを次に示します。

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

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

この機能へのアクセス権を要求するには、Salesforce パートナーコミュニティでケースを登録します。

要求が承認されたら、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 のバージョンを作成します。このアップグレードを登録者にプッシュする前に、新しいパッケージバージョンをテストして、正常に機能することを確認します。