管理パッケージで使用可能なコンポーネント
すべてのコンポーネントを配布用にパッケージ化できるわけではありません。パッケージ化できないコンポーネントを使用するアプリケーションを作成すると、登録者はアプリケーションをインストールした後に、これらのコンポーネントを作成し、設定する必要があります。登録者にとってインストールの簡易性が重要な場合は、開発時にはパッケージ化できるコンポーネントを作成することを念頭に置いてください。
管理パッケージで使用可能なコンポーネント、およびこれらのコンポーネントが更新可能または削除可能かを、次の表に示します。次のセクションで、表の列と値について説明します。
- アップグレード可能
- パッケージをアップグレードするときに一部のコンポーネントが新しいバージョンに更新されます。
- いいえ: コンポーネントはアップグレードされません。
- はい: コンポーネントはアップグレードされます。
- 登録者による削除可能
- パッケージの登録者またはインストーラがコンポーネントを削除できます。
- いいえ: 登録者はコンポーネントを削除できません。
- はい: 登録者はコンポーネントを削除できます。
- 開発者による削除可能
- 開発者は、パッケージが「管理-リリース済み」としてアップロードされた後に、一部のコンポーネントを削除できます。削除されたコンポーネントは、パッケージのアップグレード中に登録者の組織では削除されません。「保護可能」属性に、コンポーネントの削除についての詳細が示されています。
- いいえ: 開発者は「管理-リリース済み」コンポーネントを削除できません。
- はい: 開発者は「管理-リリース済み」コンポーネントを削除できます。
- 保護可能
- 開発者は、特定のコンポーネントに保護マークを付けることができます。保護コンポーネントは、登録者の組織で作成されたコンポーネントからリンク付けしたり参照したりすることはできません。開発者は、今後のリリースで、インストールの失敗を心配することなく保護コンポーネントを削除できます。ただし、コンポーネントが非保護に設定され、グローバルにリリースされると、開発者は削除できなくなります。登録者がコンポーネントが削除されているパッケージバージョンにアップグレードすると、登録者の組織からそのコンポーネントが削除されます。
- いいえ: コンポーネントに保護マークを付けることができません。
- はい: コンポーネントに保護マークを付けることができます。
- IP の保護
- 特定のコンポーネントには、Apex コードを隠すなど、知的財産の保護が自動的に含まれます。唯一の例外には、グローバルとして宣言されている Apex メソッドがあります。それらのメソッド署名は登録者でも参照できます。パッケージ化して公開するコンポーネント内の情報は、AppExchange のユーザに表示されることがあります。カスタムSコントロール、数式、Visualforce ページ、またはアプリケーション内で隠せないその他のコンポーネントにコードを追加する場合は、注意してください。
- いいえ: コンポーネントは知的財産の保護をサポートしていません。
- はい: コンポーネントは知的財産の保護をサポートしています。
* この種類のコンポーネントを新バージョンのパッケージおよび登録者のアップグレードから削除すると、登録者組織の管理者 (システム管理者) がコンポーネントを削除できます。
** パッケージ化する組織でコンポーネントの削除機能が有効になっていると、この種類のコンポーネントが「管理-リリース済み」パッケージの一部であっても削除できます。
*** Visualforce の公開コンポーネントを新バージョンのパッケージおよび登録者のアップグレードから削���すると、コンポーネントはアップグレード時に登録者組織から削除されます。Visualforce コンポーネントがグローバルの場合は、管理者 (システム管理者) がコンポーネントを削除するまで登録者組織に残ります。
- コンポーネントの属性と動作
- コンポーネントの一部の属性のみをアップグレードできます。多くのコンポーネントは、管理パッケージ内で動作が異なったり、追加制限があったりします。パッケージを設計するときに、これらの動作を考慮することが重要です。
- Visualforce ページまたは Apex コードでフローを参照した後に名前空間を登録する場合、必ずフロー名に名前空間を追加してください。追加しない場合、パッケージのインストールに失敗します。
- Visualforce ページとグローバル Visualforce コンポーネントの削除
- パッケージから Visualforce ページまたはグローバル Visualforce コンポーネントを削除する前に、削除するページまたはコンポーネントから公開 Apex クラスおよび公開 Visualforce コンポーネントへのすべての参照を削除します。参照を削除したら、ページまたはグローバルコンポーネントを削除する前に、登録者を中間パッケージバージョンにアップグレードします。