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

管理パッケージのコンポーネントの削除


必要なユーザ権限
パッケージからコンポーネントを削除する 「AppExchange パッケージの作成」
管理-リリース済み 「管理-リリース済み」パッケージをアップロードした後、コンポーネントを組織から削除する必要があることが判明する場合があります。コンポーネントを削除するときに、次のいずれかの状況が発生する可能性があります。
  • パッケージに追加したコンポーネントを削除できない。
  • コンポーネントは削除できるが、復元は [削除されたパッケージコンポーネント] ページからのみ可能。
  • コンポーネントは削除できるが、復元は [削除されたパッケージコンポーネント] ページまたはごみ箱から可能。

Visualforce ページおよびグローバル Visualforce コンポーネントを管理パッケージから削除する場合、これらのページやコンポーネントの動作は公開 Apex クラスや公開 Visualforce コンポーネントの動作とは異なるため、2 段階のプロセスが必要です。登録者組織でのパッケージアップグレードでは、削除済みの Visualforce ページおよびグローバル Visualforce コンポーネントが削除されません。組織のシステム管理者は [削除] ボタンまたはリンクを使用できるようになっていますが、多くの組織では廃止されたページやコンポーネントを引き続き使用しています。他方、公開 Apex クラスおよび公開 Visualforce コンポーネントは、アップグレードプロセス時に削除されます。ページやコンポーネントの削除時にこの 2 段階の手順を行わないと、後で公開クラスおよびコンポーネントの削除によって登録者の廃止されたページおよびコンポーネントが破損した場合に Salesforce による警告を受信できません。

公開 Apex クラスまたは公開 Visualforce コンポーネントを参照または使用する Visualforce ページまたはグローバル Visualforce コンポーネントを削除する場合は、次の順序で削除を実行します。

  1. フェーズ 1: 参照を削除する。
  2. フェーズ 2: 廃止されたページまたはコンポーネントを削除する。
  1. 公開 Apex クラスまたは公開 Visualforce コンポーネントへの参照をすべて削除するには、Visualforce ページまたはグローバル Visualforce コンポーネントを編集します。
  2. パッケージの新しいバージョンをアップロードします。
  3. フェーズ 1 のアップグレードを登録者に転送します。
  1. Visualforce ページまたはグローバル Visualforce コンポーネントを削除します。
  2. 必要に応じて、関連する他のコンポーネントやクラスを削除します。
  3. パッケージの新しいバージョンをアップロードします。
  4. フェーズ 2 のアップグレードを登録者に転送します。

メモ

以前リリースした管理パッケージを更新するときに、次の主要な種類のコンポーネントを削除できます。
  • カスタムボタンまたはカスタムリンク
  • カスタムコンソール
  • カスタム項目
  • カスタムオブジェクト
  • カスタム設定
  • カスタムタブ
  • 項目セット
  • 権限セット
  • レコードのタイプ
  • Sコントロール
  • 静的リソース
  • 入力規則
  • Visualforce のコンポーネント
  • Visualforce ページ
完全なリストについては、「管理パッケージで使用可能なコンポーネント」を参照してください。
コンポーネントを削除すると、そのコンポーネントに存在するすべてのデータが完全に削除され、追跡された履歴データが削除されて、割り当てルールやエスカレーションルールなど、そのコンポーネントに依存するインテグレーションはすべて変更されます。さらに、管理パッケージのコンポーネントを削除すると、復元することも、同じ名前で別のコンポーネントを作成することもできなくなります。

管理パッケージ内では、項目の API 名が一意である必要があり、コンポーネントを削除した後も API 名を再利用することはできません。パッケージのインストールおよびアップグレード時に、この制限によって競合を回避できます。

メモ

お客様が特定のアクションを実行しなければ、登録者組織のデータやメタデータが削除されることはありません。新しいパッケージバージョンにアップグレードする登録者は、削除したコンポーネントを引き続き組織で使用できます。該当するコンポーネントは、[パッケージの詳細] ページの [未使用のコンポーネント] セクションに表示されます。このリストにより、登録者は、使用されていないコンポーネントを明示的に削除する前に、データをエクスポートしたり、これらのコンポーネントを伴うカスタムインテグレーションを変更したりすることができます。たとえば、顧客はカスタムオブジェクトまたはカスタム項目を削除する前に、[設定] から、[クイック検索] ボックスに「データのエクスポート」と入力し、[データのエクスポート] を選択すると、データレコードを保持できます。

コンポーネントの削除によって予想される影響を顧客に指導することはシステム管理者の責任です。アップグレードしたパッケージのリリースノートで、削除したすべてのカスタムコンポーネントをリストして、必要なアクションを顧客に通知します。

メモ

管理コンポーネントを削除する場合は、次の制限事項が適用されます。
  • コンポーネントが、ワークフロールール、入力規則、Apex クラスなどの他のメタデータで参照されている場合、そのコンポーネントは削除できません。
  • Apex 共有の理由、Apex 共有再適用、関連ルックアップ検索条件、コンパクトレイアウト、アクションのいずれかが含まれる場合、カスタムオブジェクトは削除できません。
  • 同じパッケージ内のカスタムレポートタイプによって参照されるカスタム項目を削除することはお勧めしません。削除すると、アップグレードしたパッケージをインストールするときにエラーが発生します。
  • 管理パッケージの一部であるカスタムレポートタイプから項目を削除し、削除した項目がバケット化の一部であるかグルーピングで使用されていると、エラーメッセージが表示されます。

管理コンポーネントは、ユーザインターフェースで宣言して削除することも、メタデータ API を使用してプログラムで削除することも可能です。後者の場合は、destructiveChanges.xml マニフェストファイルに削除するコンポーネントを指定して、標準の deploy() コールを使用します。管理対象外のコンポーネントを削除する場合も処理は同じです。詳細は、メタデータ API 開発者ガイドを参照してください。