拡張パッケージを使用した複数のエディションのサポート
このアプローチでは、コアアプリケーション機能を含む基本管理パッケージを使用します。基本パッケージに含まれる機能は、Group Edition および Professional Edition でサポートされている機能のみです。そこで、この基本パッケージを拡張するために 2 つ目の管理パッケージ (拡張パッケージ) を使用します。拡張パッケージでは、Enterprise Edition、Unlimited Edition、Performance Edition でサポートされている機能が追加されます。たとえば、在庫を追跡する倉庫アプリケーションがあり、このアプリケーションへの拡張にはワークフロー (Group では使用不可) が含まれるとします。Group Edition と Professional Edition のユーザーは、基本倉庫アプリケーションをインストールでき、その他のユーザーは基本パッケージをインストールしてから、ワークフローコンポーネントを含む拡張パッケージをインストールできます。
基本パッケージおよび拡張パッケージを使用した複数のエディションのサポート
拡張パッケージを使用することで、複数のコードセットの使用を回避してユーザーにアップセルを行うことができます。ユーザーをアップグレードするのに必要なのは、拡張パッケージをインストールすることのみです。
拡張パッケージを作成するプロセスは次のとおりです。
- Group Edition および Professional Edition でサポートされている機能を使用する基本管理パッケージを作成します。
- この基本管理パッケージを別の Developer Edition 組織にインストールします。
- この組織で、Group Edition および Professional Edition でサポートされているその他の機能を含む拡張パッケージを作成します。機能の重複を回避するために、基本管理パッケージを参照することができます。基本管理パッケージを参照するコンポーネントは、自動的にこのパッケージを拡張パッケージとして起動します。
拡張パッケージは基本パッケージに依存するため、アプリケーションおよびパッケージ間のインターフェースを丁寧に設計することが重要です。たとえば、拡張パッケージが基本パッケージの Apex クラスをコールする場合、対象の Apex を global にしておく必要があります。
また、アプリケーションのライフサイクル全体を考慮することも重要です。たとえば、新しい機能を追加する場合は、適切なパッケージに含めるようにします。基本パッケージへの更新で拡張パッケージを壊さないようにします。