Configuration Manager の設定リポジトリの重要な設計照準の 1 つは、できるだけ多くの既存の設定形式による設定データのリポジトリとして機能できるような柔軟な設計です。
リポジトリに使用される設定形式は、設定データを「コンポーネント」に分割します。コンポーネントとは設定オプションの集合です。1 つのコンポーネントに属する設定は、通常は一緒に使用され、相互に関連している可能性があります。多くの場合、特定のクライアント、ソフトウェアモジュール、アプリケーションドメインなどに関連付けられています。コンポーネントはその名前で識別され、たとえば org.openoffice.Inet のような構造的な名前を使用してパッケージの階層にグループ化されます。
各コンポーネントは階層構造になっています。この構造は 「 ノード」と「プロパティ」で構成されています。ノードは、他のノードやプロパティのコンテナの役割をする構成要素です。プロパティは階層のリーフ要素で、1 つまたは複数の値が含まれています。ノードとプロパティは名前で識別されるため、その親ノード内で一意でなければなりません。一意な名前があれば、そのコンポーネントとパス (たとえば org.openoffice.Inet/Settings/ooInetProxyType) によって、どのノードやプロパティでも参照できます。
他の設定システムでは異なる設定形式が使用されています。他の設定システムの設定データは、APOC 設定形式を使用して設定レジストリに保存されますが、アプリケーションに対応する設定形式で渡す必要があります。APOC 形式を、アプリケーションが使用している形式に 1 対 1 でマッピングする必要があります。構文のマッピングは、対応 APOC アダプタによってサイレントに実行されます。テンプレート開発者に残された唯一のタスクは、設定データを設定ポリシーツリーに保存するときに正しい設定パスのマッピングを使用することです。これらのマッピングは、中央の設定リポジトリでクライアントのさまざまな設定システムの config オプションを区別するために必要です。以下の設定システムには、アダプタが考慮する具体的なマッピングが定義されています。
StarSuite/OpenOffice.org Registry (OOR。StarSuite と OpenOffice.org に使用)
Gnome Configuration (GConf。Gnome アプリケーションに使用)
Java Preferences (Java プログラムに使用)
Mozilla Preferences (Mozilla に使用)
OOR キー命名スキームは APOC 設定リポジトリに使用されるスキームなので、この設定システムに適応作業は不要です。
GConf の設定要素を APOC のコンポーネントとパスに変換するために、次のマッピングが実行されます。
GConf 関連のコンポーネントにはすべて org.gnome の接頭辞が付けられる
/apps/<subdir>/... はコンポーネントの接尾辞 apps.<encoded subdir> にマッピングされる
/desktop/<subdir>/... はコンポーネントの接尾辞 desktop.<encoded subdir> にマッピングされる
/system/<subdir>/... はコンポーネントの接尾辞 system.<encoded subdir> にマッピングされる
/extra/<subdir>/... はコンポーネントの接尾辞 extra.<encoded subdir> にマッピングされる
/extra/<keyname>/... はコンポーネントの接尾辞 extra にマッピングされる
命名規則に従っていないキーは、subdir と ooc があれば、コンポーネントの接尾辞 ooc.<encoded subdir> にマッピングされる
/schemas/<keypath> がコンポーネント部品のスキーマにマッピングされてから、上の規則が残りのキーに適用される
コンポーネント部品にマッピングされた GConf キーの subdirs はコンポーネント部品の制約に従ってエンコードされる
/apps/myapplication/sampleSub.Dir/sampleSetting は org.gnome.apps.myapplication/sampleSub.Dir/sampleSetting になる
/desktop/sampleDir/sampleSub.Dir/sampleSetting は org.gnome.desktop.sampleDir/sampleSub.Dir/sampleSetting になる
extra/sampleSetting は org.gnome.extra/sampleSetting になる
/sample.Dir/sampleSetting は org.gnome.ooc.sample.Dir/sampleSetting になる
/schemas/apps/gnome-setting/sampleSubDir/sampleSetting は org.gnome.schemas.apps.gnome-setting/sampleSubDir/sampleSetting になる
Java Preferences のノード / キーのペアを APOC のコンポーネントとパスに変換するために、最初の 3 つのノードパス要素 (3 つより少ない場合はすべてのノードパス要素) が java.prefs に付加されてコンポーネント名が形成され、残りのノードパス要素とキーでパスが形成されます。ユーザー設定のみが考慮されます。
ノード /com/sun/star/configuration、キー someKey は java.prefs.com.sun.star/configuration/someKey になる
ノード /com/acme/widget、キー someKey は java.prefs.com.acme.widget/someKey になる
ノード /sample.Dir、キー someKey は java.prefs.sample.Dir/someKey になる
Mozilla の設定要素を APOC のコンポーネントとパスに変換するために、最初の要素 (名前に複数の要素が含まれていると想定) が org.mozilla に付加されてコンポーネント名が形成され、残りの名前がノードのパスとして使用されます。要素が 1 つだけの設定は、org.mozilla.ooc のそれぞれの名前の下に保存されます。
mail.server.default.isSecure は org.mozilla.mail/server/default/isSecure になる
sampleSetting は org.mozilla.ooc/sampleSetting になる