今回はApache OpenOffice 4.
Apache OpenOffice 4.0とLibreOffice 4.1.0の現状
冒頭の概要を読んでもまったく意味がわからないと思いますので、
AOOは現在4.
もちろんLibO 4.
テンプレートのあり方はAOOとLibOで違いがあります。AOO
拡張機能もAOOとLibOで若干異なる部分もあるのですが、
新しいテンプレートは筆者も気に入っており、
拡張機能を作成する意義
LibOはテンプレートが少ないので、
拡張機能の基礎知識
LibOの拡張機能は誰でも作成することができます。一定のルールで作成したファイルやフォルダをZIP形式で圧縮し
テンプレートのダウンロード
AOOのリポジトリはSubversionにあり、
まずaoo-template-extensionというフォルダを作成し、
svnコマンドで取得するのが王道ですが、
META-INF/manifest.xml
実際に拡張機能に必要な設定ファイルを書いていきます。まずは必須のmanifest.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE manifest:manifest PUBLIC "-//OpenOffice.org//DTD Manifest 1.0//EN" "Manifest.dtd">
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
<manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
manifest:full-path ="Paths.xcu"/>
</manifest:manifest>
キモは
Paths.xcu
次はmanifest.
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data oor:package="org.openoffice.Office" oor:name="Paths"
xmlns:install="http://openoffice.org/2004/installation"
xmlns:oor="http://openoffice.org/2001/registry"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<node oor:name="Paths">
<node oor:name="Template" oor:op="fuse">
<node oor:name="InternalPaths">
<node oor:name="%origin%/layout/$(vlang)" oor:op="fuse"/>
</node>
</node>
</node>
</oor:component-data>
今回の例ではとくに意味はないのですが、
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で圧縮するのですが、
$ cd aoo-template-extension $ zip ../aoo-template-extension.oxt * layout/ja/* META-INF/manifest.xml
これだとカレントフォルダの1つ上のフォルダに拡張子がoxtで保存できるため、
作成した拡張機能は筆者のサイトに置いておきます。
インストール
できた拡張機能をインストールしてみましょう。問題がある場合はエラーメッセージが表示されるので、
インストールは、






参考情報
実のところ一番参考になるのは既存の拡張機能です。冒頭のとおり拡張子をzipにしたら普通に伸張できるので、
あとはWikiですが、