Top > Extensions > Configuration

拡張機能と設定ファイル Edit

3.3 以降ではこのページのコンフィグレーションの構造についての説明は古くなっています。user と share 以外に bundle が追加されました。これはインストールセットに同梱されたもので、share より優先されます。

3.3 でコンフィグレーションが変更されていくつかの API が動かなくなっています。

  • com.sun.star.configuration.bootstrap.BootstrapContext
  • com.sun.star.configuration.AdministrationProvider

OpenOffice.org の設定でメニューのツール - オプションから変更できるものは多くの場合コンフィグレーションファイルと呼ばれる設定ファイルに設定が保存されています。コンフィグレーションファイルの実体は XML ファイルです。

このコンフィグレーションファイルは拡張機能に入れて他の人に配布することができます。配布することで利用者は同じ設定を利用できるわけです。(管理者向き)

設定ファイルだけしか入れなくとも拡張機能になります。

関連ドキュメント Edit

三相構造 Edit

OpenOffice.org のコンフィグレーション設定は三相に分かれています。

(優先順位低い) shared - extension - user (優先順位高い)

shared のものはユーザーが変更することのないもの、またはデフォルトの設定です (GUI から変更できないだけで変更できるものもあります)(変更できるが普通変更しない)。

user にはユーザーが変更した設定が保存されます。shared と user に同じ項目の設定があるときには user の設定が優先的に反映されます。

ここに拡張機能により extension が入り込むと、これは二つの間に位置します。拡張機能により追加されるコンフィグレーションには、拡張機能独自のものだけでなく OOo に元からあるものもあります。次の三通りに分かれます。

  1. shared にはあるが、user にはないとき、extension が優先。
  2. shared にない。extension が優先。
  3. user にある。user が優先。

ほとんどの設定はユーザーが変更しない限り user に設定がありません。そのため、構成ファイルを早い段階で拡張機能としてインストールすれば extension のものが利用されることになります。こういった場合には拡張機能によるコンフィグレーションファイルの配布が有効です。

四相構造 Edit

上記では三相構造と書いてありますが、実際には四層構造です。拡張機能の extension にも shared と user があるためです。

(優先順位低い) shared - extension shared - extension user - user (優先順位高い)

コンフィグレーションファイル拡張機能 Edit

コンフィグレーションファイルは得にコードと一緒に入れたりする必要はありません。ここではコンフィグレーションファイルのみで構成された拡張機能について取り上げます。

たとえば、日本ではオートコレクト機能がよく邪魔にされます。できればデフォルトで (大抵のものは) 無効にしておいてほしいものです。こういった場合、管理者が無効にした設定を含むコンフィグレーションファイルを入れた拡張機能を配布するといった方法があります。

方法は他にもあります。たとえば次のような方法が挙げられます。

  1. 設定を変更してビルドし直したものを作成する
  2. 個別に shared のファイルを入れ替える
  3. presets に変更済み構成ファイルを入れておく
  4. 構成ファイルを含む拡張機能パッケージをバンドルしたインストールパッケージを作成する
  5. ConfigurationUpdateAccess や AdministrationProvider を利用する
  6. 拡張機能パッケージをそのまま配布する

上のものほど管理者の手間が掛かるがユーザーの手間が少ない。下のものほどユーザーの手間を取らせるが管理者の手間が少ない。といった感じになります。

以下、一例。

Writer オートコレクトオフ Edit

Writer でオートコレクト機能の多くのものをオフにしたコンフィグレーションファイルを拡張機能として配布するときの手順です。

  1. 設定に対応したコンフィグレーションファイルを調べる
  2. 設定を変更する
  3. コンフィグレーションファイルをコピーしてくる
  4. MimeType を指定する
  5. Zip 圧縮して拡張機能パッケージにする

まず、Writer のオートコレクト機能の設定が保存されているコンフィグレーションファイルを調べてきます。例えば、Configurations にある表を見て探します。または grep で。

Writer のオートコレクト機能はユーザーのファイルがあるディレクトリの次の場所に保存されています。Windows 環境とその他の環境でユーザーのディレクトリが違います。

Windows

C:\Documents and Settings\user\Application Data\
OpenOffice.org2\user\registry\data\org\openoffice\Office\Writer.xcu

Linux など

~/.openoffice.org2/user/registry/data/org/openoffice/Office/Writer.xcu

Writer.xcu ファイルの AutoFunction ノードがオートコレクト機能の設定を含んでいる部分です。

OOo を起動して配布する設定に変更したら、一度 OOo を終了させます。(基本的に設定を変更するとすぐに反映されますが、念のため。)

そして、Writer.xcu ファイルを作業するディレクトリにコピーしてきます。

同じディレクトリに META-INF ディレクトリを作成します。さらにその中に manifest.xml ファイルを作成してください。

manifest.xml ファイルに Writer.xcu ファイルの種類を書き込みます。manifest を参考にすると次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
<manifest:file-entry manifest:full-path="Writer.xcu" 
manifest:media-type="application/vnd.sun.star.configuration-data"/>
</manifest:manifest>

ここで、ディレクトリ内の構成は次のような配置にしておきます。

  • Writer.xcu
  • META-INF
    • manifest.xml

最後にこれらのファイルを zip 圧縮します。このとき、Writer.xcu ファイル (および META-INF ディレクトリ) が zip ファイルの一番上にくるように圧縮します。

ファイル名を XXX.oxt などに変更すれば完成です。(Windows 環境では oxt の拡張子のファイルはダブルクリックするだけで拡張機能マネージャが開いてインストールできます。)

作成した拡張機能のインストールは拡張機能マネージャから行います。

  1. ツールメニューの拡張機能マネージャを選択
  2. マイ拡張機能を選択する
  3. 追加ボタンを押して、インストールする拡張機能ファイルを選択する

こうしてインストールされた設定は次に設定ファイルが読み込まれた時から有効になりますが、いつ読み込まれるのか分かりにくいです。そのため OpenOffice.org を再起動する方法が一番手っ取り早いです。(多くの拡張機能のインストール説明でこの再起動が出てくるのはそのためです。)

完成したファイルです。ユーザーによる設定がない状態でインストールすれば、URL を認識以外のオートコレクトの項目がほとんどオフになります。また、削除すれば元の設定に戻ります (user に設定が無い場合)。

fileWriter_AutoCorrect_Off.oxt

Writer 以外のオートコレクト Edit

Writer のオートコレクト設定は Writer だけでなく Writer/Web および Master ドキュメントにも影響しています。

それ以外の Calc、Impress および Draw のオートコレクトも別の一つの設定です。

Writer 以外のオートコレクトオフの拡張機能パッケージを作成してみてください、と書こうと思いましたが設定が Common.xcu に保存されるため作成しておきます (Common.xcu は様々な設定が含まれており非常に複雑です)。

fileCommon_AutoCorrect_Off.oxt

ここでは設定ファイルを一つの拡張機能パッケージに一つずつ入れましたが、複数を一つにまとめることもできます。

ディレクトリおよびファイル構成を次のようにします。

  • Common.xcu
  • Writer.xcu
  • META-INF
    • manifest.xml

manifest.xml ファイルに次のように記述します。

<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest>
<manifest:file-entry manifest:full-path="Common.xcu" 
manifest:media-type="application/vnd.sun.star.configuration-data"/>
<manifest:file-entry manifest:full-path="Writer.xcu" 
manifest:media-type="application/vnd.sun.star.configuration-data"/>
</manifest:manifest>

単純に file-entry の項目を増やします。


Attach file: fileCommon_AutoCorrect_Off.oxt 1375 download [Information] fileWriter_AutoCorrect_Off.oxt 1416 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes