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