名前空間
- 管理パッケージの場合、名前空間は必須です。
- 同じ名前空間を使用して複数のパッケージを開発できますが、各パッケージに関連付けられるのは 1 つの名前空間のみです。ISV の場合、すべてのパッケージに同じ名前空間を使用することをお勧めします。
- 複数の名前空間を使用する場合、各名前空間に対して 1 つのプロジェクトを設定します。
パッケージ名前空間を指定すると、パッケージに追加したすべてのコンポーネントの API 参照名に名前空間プレフィックスが付けられます。たとえば、Insurance_Agent というカスタムオブジェクトの API 参照名が Insurance_Agent__c だとします。このコンポーネントを Acme 名前空間に関連付けられたパッケージに追加すると、API 参照名は Acme__Insurance_Agent__c になります。
ロック解除済みパッケージの名前空間
パッケージを作成するときに特定の名前空間を使用するかどうかを選択できます。
パッケージ化を初めて使用するエンタープライズ顧客の場合、おそらくいくつかのフェーズでパッケージを採用することになります。その場合、名前空間プレフィックス (Acme__) は本番組織でパッケージ化されているメタデータとまだパッケージ化されていないメタデータを区別するために役立ちます。
一方、「名前空間なし」のパッケージを作成すると、アプリケーションの各部分を整理および配布する方法を開発者がより詳細に制御できます。パッケージを採用するときの初期フェーズでは、こうした柔軟性が必要になることがあります。
組織内にあるパッケージ化されていないメタデータへの連動関係がない機能のセットを新しく作成する場合、名前空間を使用するかどうかの判断は開発計画の評価によって決まります。
ただし、既存のパッケージ化されていないメタデータをパッケージに移行する計画の場合、名前空間なしでロック解除済みパッケージを作成することをお勧めします。それにより、このメタデータを組織から名前空間なしのパッケージに移行するとき、API 参照名が変わりません。
たとえば、カスタムオブジェクト myobj__c は、パッケージに移動した後も同じままです。名前空間を含める場合、同じオブジェクトはパッケージに追加後 foons__myobj__c になります。移行後のメタデータを参照するオブジェクトがパッケージ外にある場合、API 参照名の変更により、カスタマイズが機能しなくなる可能性があります。