管理パッケージのコンポーネントの削除
| 必要なユーザ権限 | |
|---|---|
| パッケージからコンポーネントを削除する | 「AppExchange パッケージの作成」 |
「管理-リリース済み」パッケージをアップロードした後、コンポーネントを組織から削除する必要があることが判明する場合があります。コンポーネントを削除するときに、次のいずれかの状況が発生する可能性があります。- パッケージに追加したコンポーネントを削除できない。
- コンポーネントは削除できるが、復元は [削除されたパッケージコンポーネント] ページからのみ可能。
- コンポーネントは削除できるが、復元は [削除されたパッケージコンポーネント] ページまたはごみ箱から可能。
以前リリースした管理パッケージを更新するときに、次の主要な種類のコンポーネントを削除できます。
- カスタムボタンまたはカスタムリンク
- カスタムコンソール
- カスタム項目
- カスタムオブジェクト
- カスタム設定
- カスタムタブ
- 項目セット
- 権限セット
- レコードのタイプ
- Sコントロール
- 静的リソース
- 入力規則
- Visualforce のコンポーネント
- Visualforce ページ
コンポーネントを削除すると、そのコンポーネントに存在するすべてのデータが完全に削除され、追跡された履歴データが削除されて、割り当てルールやエスカレーションルールなど、そのコンポーネントに依存するインテグレーションはすべて変更されます。さらに、管理パッケージのコンポーネントを削除すると、復元することも、同じ名前で別のコンポーネントを作成することもできなくなります。
お客様が特定のアクションを実行しなければ、登録者組織のデータやメタデータが削除されることはありません。新しいパッケージバージョンにアップグレードする登録者は、削除したコンポーネントを引き続き組織で使用できます。該当するコンポーネントは、[パッケージの詳細] ページの [未使用のコンポーネント] セクションに表示されます。このリストにより、登録者は、使用されていないコンポーネントを明示的に削除する前に、データをエクスポートしたり、これらのコンポーネントを伴うカスタムインテグレーションを変更したりすることができます。たとえば、顧客はカスタムオブジェクトまたはカスタム項目を削除する前に、[設定] から、[クイック検索] ボックスに「データのエクスポート」と入力し、[データのエクスポート] を選択すると、データレコードを保持できます。
管理コンポーネントを削除する場合は、次の制限事項が適用されます。
- コンポーネントが、ワークフロールール、入力規則、Apex クラスなどの他のメタデータで参照されている場合、そのコンポーネントは削除できません。
- Apex 共有の理由、Apex 共有再適用、関連ルックアップ検索条件、コンパクトレイアウト、アクションのいずれかが含まれる場合、カスタムオブジェクトは削除できません。
- 同じパッケージ内のカスタムレポートタイプによって参照されるカスタム項目を削除することはお勧めしません。削除すると、アップグレードしたパッケージをインストールするときにエラーが発生します。
- 管理パッケージの一部であるカスタムレポートタイプから項目を削除し、削除した項目がバケット化の一部であるかグルーピングで使用されていると、エラーメッセージが表示されます。
管理コンポーネントは、ユーザインターフェースで宣言して削除することも、メタデータ API を使用してプログラムで削除することも可能です。後者の場合は、destructiveChanges.xml マニフェストファイルに削除するコンポーネントを指定して、標準の deploy() コールを使用します。管理対象外のコンポーネントを削除する場合も処理は同じです。詳細は、『メタデータ API 開発者ガイド』を参照してください。