Ubuntu Weekly Recipe

第279回 LibreOfficeの『拡張機能』を作成する

この記事を読むのに必要な時間:およそ 5 分

description.xml

ここまでやれば一応は拡張機能になるのですが,インストール前にライセンスを明示したり,説明を入れたりする場合はdescription.xmlが必要になります。すなわちほぼ必須ということになります。内容は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://openoffice.org/extensions/description/2006"
xmlns:d="http://openoffice.org/extensions/description/2006"
xmlns:xlink="http://www.w3.org/1999/xlink">

  <version value="1.0" />

  <identifier value="info.fruitsbasket.ikuya.aootemplateextension" />

  <platform value="all" />

  <dependencies>
    <OpenOffice.org-minimal-version value="3.3" d:name="OpenOffice.org 3.3 and above"/>
  </dependencies>

  <registration>
    <simple-license accept-by="admin" default-license-id="this" >
      <license-text xlink:href="LICENSE_ALv2.txt" license-id="this" />
    </simple-license>
  </registration>

  <release-notes>
    <src xlink:href="release-note.txt" lang="ja" />
  </release-notes>

  <publisher>
    <name xlink:href="http://ikuya.info/" lang="ja">あわしろいくや</name>
  </publisher>

  <display-name>
    <name lang="ja">AOOテンプレート拡張</name>
  </display-name>

  <extension-description>
    <src xlink:href="description.txt" lang="ja" />
  </extension-description>

</description>

変更の必要があるところだけ解説します。

  • version value:拡張機能のバージョンです。変更があった場合は上げる必要があります。
  • identifier value:自動アップデートの対象にしない場合は,一意であれば何でもいいようです。
  • platform value:この拡張機能はプラットフォームに依存しないため,⁠all⁠です。
  • dependencies:必要な最低限のOOoのバージョンですが,今回は3.3以上にしました。LibO/AOOともにこれで問題ありません。
  • registration:今回最も苦労したのがここです。ファイル名以外は変更しないのが無難と言えます。
  • release-notes:一応指定しましたが,見るところはありませんでした。
  • publisher:作者の情報です。拡張機能マネージャに表示されます。
  • display-name:拡張機能の表示名です。
  • extension-description:拡張機能の説明です。これも拡張機能マネージャに表示されます。

他にアイコンも表示することができるのですが,今回は商標の関係で省きました。

release-note.txt

あってもなくてもあまり関係ありませんが,内容は次のとおりです。

これはApache OpenOffice (AOO) 4.0のImpress用テンプレートをLibreOfficeで使用するための拡張機能です。
AOO 4.0には含まれていますが,日本語版では使用できないため,日本語で使用するAOOユーザーにも有益かと思います。

ファイルは
http://svn.apache.org/viewvc/openoffice/trunk/main/extras/source/templates/layout/lang/en-US/
から取得できます。

description.txt

内容は次のとおりです。

Apache OpenOffice (AOO) 4.0のImpress用テンプレートをLibreOfficeで使用するための拡張機能です。

ファイル構成

これで完成ですが,ファイル構成は次のとおりです。このとおりになっているか今一度ご確認ください。

  • ./description.xml
  • ./Paths.xcu
  • ./description.txt
  • ./LICENSE_ALv2.txt
  • ./release-note.txt
  • ./META-INF
  • ./META-INF/manifest.xml
  • ./layout
  • ./layout/ja
  • ./layout/ja/lyt-frepa.otp
  • ./layout/ja/lyt-book.otp
  • ./layout/ja/lyt-roundedrect.otp
  • ./layout/ja/lyt-bluegrey.otp
  • ./layout/ja/lyt-bluelinesgrad.otp
  • ./layout/ja/lyt-glacier.otp
  • ./layout/ja/lyt-brown.otp
  • ./layout/ja/lyt-movwaves.otp
  • ./layout/ja/lyt-bluetitledown.otp
  • ./layout/ja/lyt-water.otp
  • ./layout/ja/lyt-greengradlines.otp
  • ./layout/ja/lyt-charglow.otp
  • ./layout/ja/lyt-forest.otp
  • ./layout/ja/lyt-aqua.otp
  • ./layout/ja/lyt-organic.otp
  • ./layout/ja/lyt-blackandwhite.otp
  • ./layout/ja/lyt-sunrise.otp
  • ./layout/ja/lyt-techpoly.otp
  • ./layout/ja/lyt-ocean.otp
  • ./layout/ja/lyt-rededges.otp
  • ./layout/ja/lyt-keyboard.otp
  • ./layout/ja/lyt-numdark.otp
  • ./layout/ja/lyt-paper.otp
  • ./layout/ja/lyt-wine.otp
  • ./layout/ja/lyt-tunnel.otp

圧縮

最後にZIPで圧縮するのですが,アーカイブの直下が上記のフォルダ構成になる必要があります。GUIのアーカイバを使用すると,もう1つフォルダを挟むことになってしまうため,コマンドラインで作成するのが簡単です。次のコマンドを入力してください。

$ cd aoo-template-extension
$ zip  ../aoo-template-extension.oxt * layout/ja/* META-INF/manifest.xml

これだとカレントフォルダの1つ上のフォルダに拡張子がoxtで保存できるため,あとはLibOに渡せば拡張機能のインストールができます。

作成した拡張機能は筆者のサイトに置いておきます。

インストール

できた拡張機能をインストールしてみましょう。問題がある場合はエラーメッセージが表示されるので,どこを修正するべきなのか大まかにわかります。

インストールは,拡張機能をダブルクリックするだけです。あるいは,右クリックしてもメニューからインストールできます。⁠ツール][拡張機能][追加]からもできます。以下いくつかスクリーンショットです。

図1 拡張機能が正しく作成できていると,このようなダイアログが表示される

図1 拡張機能が正しく作成できていると,このようなダイアログが表示される

図2 ライセンスを表示すると,なんだかそれっぽい

図2 ライセンスを表示すると,なんだかそれっぽい

図3 インストールが完了するとこうなる。description.xmlの内容が反映されている

図3 インストールが完了するとこうなる。description.xmlの内容が反映されている

図4 LibO 4.1.0 RC1でサイドバーを有効にし,テンプレートを表示した

図4 LibO 4.1.0 RC1でサイドバーを有効にし,テンプレートを表示した

図5 AOO 4.0の開発版。当然ではあるが同じテンプレートがある

図5 AOO 4.0の開発版。当然ではあるが同じテンプレートがある

図6 AOO 3.4.1にもインストールしてみた

図6 AOO 3.4.1にもインストールしてみた

参考情報

実のところ一番参考になるのは既存の拡張機能です。冒頭のとおり拡張子をzipにしたら普通に伸張できるので,中身を見るのも簡単です。

あとはWikiですが,以下に挙げます。ほとんどはOOo時代のものです。最後だけLibOのもので,LibOでしか動作しない拡張機能を作成する際に必要な情報です。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバー。Ubuntu Japanese Teamではパッケージングなどを担当。ほかには日本語入力関連やOpenOffice.org日本ユーザー会コミッティも兼任。

コメント

コメントの記入