Shinji Enoki's blog

LibreOfficeの話題を中心にする予定です

LibreOffice onlineをDebianでビルドしてみました

LibreOffice online(LOOL)をDebian jessieでビルドしてみましたので、メモを残しておきます。

ソースコードのREADMEと小笠原さんのオープンソースカンファレンス2016 Gunma群馬での発表資料を参考にビルドしました。

www.slideshare.net

LOOLの構成

LibreOfficeのビルド

TDF Wikiの「 Linuxと*BSDシステムにおけるLibreOfficeビルドのヒントとコツ」を参考にLibreOfficeをビルドします。

ビルドに必要なパッケージをインストール

$ sudo aptitude update
$ sudo aptitude safe-upgrade 
$ sudo aptitude build-dep libreoffice

以前にLibreOfficeはこの環境でビルドしたことがありましたので、このステップは不要でした。他にも個別でパッケージをインストールする必要があったかもしれません。

LibreOfficeソースコードを取得

今回はお試しでビルドするので、履歴情報を取得しない--depth=1オプションを付けています。

$ git clone --depth=1 git://anongit.freedesktop.org/libreoffice/core libreoffice 

ビルドは4-5時間ほどがかかったように思います。最初に関連のソースコードのダウンロードが走りますが、それだけで30分ほどかかりました。普段使いのノートPCでビルドさせており、他の作業をしたいときにはCtrl+Cで中断させて(もう1度makeで続き)いました。

$ cd libreOffice
$ /autogen.sh --with-lang="ja"
$ make 

ビルドしたLibreOfficeを起動するには、ソースコードのある"libreOffice"ディレクトリでinstdir/program/soffice & と実行させます。

pocoのビルド&インストール

小笠原さんのスライドに従って、ライブラリのpocoをインストールします。

$ curl -O http://pocoproject.org/releases/poco-1.7.3/poco-1.7.3-all.tar.gz
$ tar zxvf poco-1.7.3-all.tar.gz
$ cd poco-1.7.3-all
$ ./configure --prefix=/opt/poco
$ make
$ sudo make install 

LOOLのインストール

サーバーloolwsdのビルド

$ cd ~/LibreOffice_code/
$ git clone https://github.com/LibreOffice/online.git
  • ビルドまで
    • 手元環境では、libtoolizeコマンドがなかったのでインストールします。
$ sudo aptitude install libtool
$ cd loolwsd
$ libtoolize
$ aclocal
$ automake --add-missing
$ autoreconf
$ autoheader
$ ./configure --enable-silent-rules --with-lokit-path=(LibreOfficeのソースコードツリーのフルパス)/include --with-lo-path=(LibreOfficeのソースコードツリーのフルパス)instdir --with-poco-includes=/opt/poco/include --with-poco-libs=/opt/poco/lib --enable-debug
$ make

なお、パッケージが足りないエラーが出たのでlibcap-devをインストールして再度./configureしています。

configure: error: libcap not available?
$ sudo aptitude install libcap-dev

クライアント側インストール

  • nodejs系のパッケージインストール
$ sudo aptitude install nodejs node-jake node-uglify 
以下の新規パッケージがインストールされます:
  coffeescript{a} libc-ares2{a} libv8-3.14.5{a} node-amdefine{a} 
  node-async{a} node-glob{a} node-inherits{a} node-jake node-lru-cache{a} 
  node-minimatch{a} node-once{a} node-optimist{a} node-sigmund{a} 
  node-source-map{a} node-uglify node-utilities{a} node-wordwrap{a} nodejs 
更新: 0 個、新規インストール: 18 個、削除: 0 個、保留: 0 個。
  • Debianパッケージでnpmをインストールし、npm自身でアップデートさせます
$ sudo aptitude install npm
$ npm -v
1.4.21
$ sudo npm install -g npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ npm --v
3.10.6
  • makeでJSファイルを生成します。
$ cd ~/LibreOffice_code/online/loleaflet/
$ make

証明書のコピー

$ sudo mkdir /etc/loolwsd
$ cd ~/LibreOffice_code/online/loolwsd/etc/
$ sudo cp *pem /etc/loolwsd/

LOOLサーバーの実行

$ sudo mkdir -p /usr/local/var/cache/loolwsd
$ sudo chown `ユーザ名` /usr/local/var/cache/loolwsd
$ cd ~/LibreOffice_code/online/loolwsd
$ make run

ブラウザでアクセスする

test.odsを作成して、/opt/tmp/以下に置いた場合、以下にアクセスします。 https://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///opt/tmp/test.ods&host=wss://localhost:9980

テスト用ということでオレオレ証明書ですので、Firefoxの場合、「安全な接続ではありません」と証明書の警告がでます。「エラー内容」->「例外を追加」->「セキュリティ例外を承認」で許可します。

スプレッドシートが見えたら成功です。(相変わらず日本語は1文字しか入力できませんでした) f:id:shinji_enoki:20160826063548j:plain

おまけ:JSファイルの作成でしばらく躓きました

$ cd ~/LibreOffice_code/online/loleaflet/
$ jake build
jake aborted.
Error: Cannot find module 'browserify'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
(See full trace by running task with --trace)
  • そこでDebianパッケージでnode-browserify-liteを入れてみますが、うまく行きません。
$ aptitude search browserify
p   node-browserify-lite                                          - bundle client-side JavaScript using Node.js-style module syntax
$ sudo aptitude install node-browserify-lite 
以下の新規パッケージがインストールされます:
  node-browserify-lite node-pend{a} 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
...
$ jake build
jake aborted.
Error: Cannot find module 'browserify'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
(See full trace by running task with --trace)
  • Debianパッケージのnpmを入れてみて、npmでbrowserifyを入れてみます
$ sudo aptitude install npm
以下の新規パッケージがインストールされます:
  gyp{a} libc-ares-dev{a} libjs-node-uuid{a} libv8-3.14-dev{a} 
  node-abbrev{a} node-ansi{a} node-ansi-color-table{a} node-archy{a} 
  node-block-stream{a} node-combined-stream{a} node-cookie-jar{a} 
  node-delayed-stream{a} node-forever-agent{a} node-form-data{a} 
  node-fstream{a} node-fstream-ignore{a} node-github-url-from-git{a} 
  node-graceful-fs{a} node-gyp{a} node-ini{a} node-json-stringify-safe{a} 
  node-lockfile{a} node-mime{a} node-mkdirp{a} node-mute-stream{a} 
  node-node-uuid{a} node-nopt{a} node-normalize-package-data{a} 
  node-npmlog{a} node-osenv{a} node-qs{a} node-read{a} 
  node-read-package-json{a} node-request{a} node-retry{a} node-rimraf{a} 
  node-semver{a} node-sha{a} node-slide{a} node-tar{a} node-tunnel-agent{a} 
  node-underscore{a} node-which{a} nodejs-dev{a} npm 
更新: 0 個、新規インストール: 45 個、削除: 0 個、保留: 0 個。
$ npm install browserify
npm ERR! notarget No compatible version found: browserify@'./node_shrinkwrap/browserify-13.1.0.tgz'

諦めて、この状態で、サーバーを起動してみますが、Firefoxでアクセスすると画面が真っ白でした。 以下のようなエラーが出ており、bundle.jsが生成できていません。

wsd-07737-03 00:00:09.591516 [ client_req_hdl ] FileServerRequestHandler: File not found: /home/eno/LibreOffice_code/online//loleaflet/dist/bundle.js

そこで「(。ゝω・)ノ*:゚・☆ npmを更新したら動かなくなった」を参考にして、上記の手順のように、npmをnpmでアップデートさせる方法で対応しました。

今年のLibreOfficeイベントを振り返る(2015)

今年も日本でのLibreOfficeイベントはいろいろありました。どんなイベントがあったのかを振り返って、今後の方向を考えてみたいと思います。

この記事は、LibreOfficeアドベントカレンダーの2日目です。1日目は小笠原さんのLibreOffice Conference 2015 Aarhus 裏リポートでした。 f:id:shinji_enoki:20150711164814j:plain(第10回関西LibreOffice勉強会の様子)

今年のイベントサマリ

日本でのLibreOfficeコミュニティ関連イベントの一覧はこちらにありますので集計してみます。今年12月に予定しているものもカウントすると46回でした。意外に多かったです。(Wikiの一覧に記載忘れや計算ミスがあれば教えてください。※12/23に関東オフ、浜名湖と関西のhackfestを1回ずつ追記)

種類 内容 合計
勉強会 浜名湖2回、関西2回、九州1回 5
オフラインミーティング 関東2回 2
Hackfest 関東3回、名古屋1回、浜名湖1、関西5回(分野別だと、もくもく会1、翻訳1、バグハンティング7、開発1) 10
OSSイベントへの出展・セミナー OSC12回、KOF1回、姫路1回、和歌山1回 15
LibreOfficeの日 関西12回 12
その他 Document Freedom Day 2015 Tokyo、NVDAワールド 2015 東京 2
  • 日本でのミニカンファレンスは今年中に間に合わず、来年1/9(土)に向けて準備中です。

勉強会やオフラインミーティングは、主催側が関東は小笠原さん、浜名湖が杉本さん(+直也さんと石川さんも最近サポートされてます)、関西は私(大釜さんなど、何人かの方が助けてくださってます)といいだしっぺが3人しか動けなかったので、やや少なめだったと思います。

Hackfestは去年ごろから取り組みはじめ、今年は増やす方向で考えていましたが、だいたい狙い通りでした。参加者は少なめですが、作業に直結しているのでLibreOfficeそのものへの貢献度は最も高いイベントです。

オープンソースカンファレンスなどは結構出ていたことがわかります。日本語チームメンバーの大森さんが、ブースコンテナを毎回送ってくださるので、ノートPCだけ持っていけばいいのは非常に助かっています。もう少し各地でイベントに出てくださる方が増えて、負担を分担できればという気もしています。

個人的にはLibreOfficeの日など小さなものも含め主担当22回、ブースなどの参加10回など、合計で34回に参加していたようです。イベントをやりすぎた感もありましたが、効果面を考えると、コミュニティビルディングの種まき段階のものも多くて、まだまだという印象でした。 日程調整しつつも流れてしまった徳島勉強会も来年には復活させたいと考えています。

f:id:shinji_enoki:20150726145603j:plainLibreOffice Hackfest(翻訳査読スプリント) 2015-07-26 in 東京の様子)

イベントの種類と目的

個人的には、それぞれのイベントの概要と・目的を以下のように考えています。

  • 勉強会/オフラインミーティング
    • 平日夜もしくは、休日午後に集まってスピーカーを立てるセミナースタイルが多い。懇親会セットのケースが多い
    • ノウハウや情報の交換
    • 公開スライドによる情報の蓄積
    • 地域のユーザーコミュニティの形成。そこへ行けば聞ける場所に
  • Hackfest
    • 休日に集まって一緒にコミュニティの作業を行う
    • ベータ版やリリース候補をテストするバグハンティングが中心だったが、開発向けも初めて挑戦。翻訳査読を一気に片付けるスプリントも実施した
    • 新しい人や普段やっていない活動に取り組みたい人をフォローする
    • ノウハウを互いに伝授
    • コミュニケーションの場
    • 作業効率アップ、モチベーションの維持
  • オープンソースカンファレンスなどOSSイベント
    • 各地でのオープンソースイベントへブース出展やセミナーを行う
    • 他のOSSコミュニティの人たちと交流する
    • OSSに興味ある人たちへLibreOfficeをアピール・情報提供
    • LibreOfficeメンバ同士の交流
  • LibreOfficeの日
    • 毎月第3水曜日にコワーキングスペースに行く日を決めて、集まる場にする
    • 出入り自由(各自でコワーキング利用料を負担)でゆるい感じ
    • 地域のLibreOfficeコミュニティの形成。LibreOfficeに興味がある人が定期的に集まれる場にする
  • LibreOffice mini conference
    • 日本でのLibreOfficeに興味がある人が集まって交流と情報交換をする

振り返り

今年のイベントをKPTで振り返ってみます。コミュニティ全体としてですが、主催としての感想も混ざっています。

Keep(よかったこと、次も続けること)

  • かなりの数のイベントができた
  • hackfest系は、実際に作業を進める試みはある程度機能した
    • 作業するモチベーションにつながったり、やったことない人をフォローできたり、バグ確認など連携してやりやすかった
  • 関西のLibreOfficeの日はようやく認知されて、来てくれる人がちらほら出てきた

Problem(課題になったこと)

  • コミュニティのアクティビティはそこそこ安定しているものの、活性化にまでは至らなかった
  • イベントを主催側を担当する人は増えなかった
  • イベントレポートが出来ないことが多かった(私の担当イベントについて)

Try(次に挑戦すること)

  • hackfest系を増やす。定期開催化も進める
  • イベントの企画から他の人を巻き込んで進める
  • イベントレポートは、超簡単なものを当日or翌日に書く

アクティビティとしては確保できた反面、新しくイベントを担ってくれる人を見つけること、イベントの効果を高めることが来年のテーマとして考えています。

来年は、どのくらいのペースで出来るかわかりませんが、ボチボチやっていければと思います。興味を持たれたイベントがあればご参加いただけるとうれしいです。スタッフ側やスピーカー側でのご参加も大歓迎です!

明日のアドベントカレンダーは荒川さんの「CSVを扱うならExcelよりもCalcで」です。よろしくお願いします。

f:id:shinji_enoki:20150822175433j:plain(初の開発向けとなった関西LibreOffice HackFest 2015-08-22の様子) f:id:shinji_enoki:20151114135346j:plainオープンソースカンファレンス徳島でのLibreOfficeブース)

関西LibreOffice HackFest 2015-08-22を開催しました

2015年8月22日(土)に関西LibreOffice HackFest 2015-08-22LibreOffice日本語チームとして行いました。開催側の立場で、何をやったかを書いておきます。すぐ忘れてしまうので自分向けと、同様のイベントを企画する人向けのメモです。

LibreOfficeではプロジェクトの規模に対して開発者が少いことが課題の1つです。ちょっとしたパッチを書くにも、ビルドが面倒だったり、ソースコードのどこから読めばいいかわかりにくい、というハードルがあります。そこで開発に参加したい人向けに、ビルドやソースコードを読むイベントをやってみました。 f:id:shinji_enoki:20150822175433j:plain

ターゲットと企画の方向

ニッチな企画ですので、参加したい人がいるかをまず確認しました。参加したいといってくれた日本語チームメンバーでもある近藤さんを1人目のターゲットとして企画しました。 関西LibreOffice勉強会や毎月第三水曜日にJUSOコワーキングで行なっているLibreOfficeの日というイベントに来てくれるメンバでも、ビルドで止まっている方も2−3人いらしたので、ターゲットとして想定しました。

メンター

1人では乗り越えられないところを、経験者にフォローしてもらうイベントですので、メンターが大事です。日本では、LibreOfficeのパッチを書いている人はあまりいません。その中で、イベントに出てくれそうな安部さん、八木さんに相談して2人体制でいくことになりました。安部さんは遠方でしたのでSkype参加、八木さんが現地参加というフォーメーションです。 今回、八木さんは急遽都合が悪くなり、最終的には安部さんにSkypeでフォローいただきました。

会場探し

ビルドをするので長時間確保する必要があります。またソースコードのダウンロードなども想定されるので電源や回線が安定している必要があります。一方、参加者は10名を超えることはなさそうでしたので、サイズは気にしませんでした。腰を落ち着けて長時間使えるところ、電源とWifiが充実しているところ、という条件で探しました。

今回は、GMOクラウド大阪支社さんに協力いただき、GMOインターネットグループ 大阪オフィス内の会議室をお借りすることができました。Wifiも高速で安定していて、電源、プロジェクターなど設備が素晴らしく、助かりました。ありがとうございました。

当初は隣の広い「GMO Yours大阪」を押さえていただいていたのですが、振り替えて欲しいということで会議室スペースになりました。結果的には、会議室スペースの方がやりやすかったです。

企業の会議室はファシリティが素晴らしかったり、無料でお借りできる反面、ビルの入退室に制限があったり、社員の方に休日に出ていただく必要があります。 今回の会場は、フロアまでは上がれるものの、そこから先のドアは社員の方に開けていただく必要があります。途中で参加された1名の方からConnpass経由で連絡があったのですが、当初気が付かずに見逃すところでした。安部さんが気がついてくださって、事なきを得ました。前日夕方に携帯電話番号を伝えるメッセージを送っていたのですが、それ以降に申込される方もいらっしゃるので、次回以降も気をつける必要がありそうです。 なお、普段からコミュニティに出てこられるエンジニアの方に相談して開けていただきましたので、LibreOfficeのビルドも挑戦されていました。

f:id:shinji_enoki:20150822175525j:plain (部屋の外から会場の風景も撮ってみました。)

企画のつめ

毎週水曜日の夜に行なっている、日本語チームの定例チャットミーティングで進め方を相談しました。メンター側の安部さん、参加側の近藤さん、関東でHackfest開催されている小笠原さんがいらしたので、話が早かったです。私自身は開発者ではないこともあり、どのようにすればいいか最初はイメージしにくかったのですが、各自で取り組んでもらって詰まったところをフォローする形にしました。

申込ページ作成と告知

ConnpassのLibreOffice日本語チームのイベントとして立てました。ニーズを確認するために申込時に何をやるつもりかをアンケートを取っておいたので、大体どのようになりそうか想定できました。

告知はLibreOfficeの日本のメーリングリスト、関西LibreOffice勉強会メーリングリストFacebookイベント、Twttierの日本語チームアカウントでのツイートで行いました。また、興味ありそうな方にはお会いした際に口頭でお誘いしていました。 当初想定したターゲットの方が3名くらい来ていただければOKと考えていましたが、知っていれば行きたかったのに、というのは避けたかったのですが、なかなかリーチするのは難しいです。 Facebookイベントはどの程度認知されたかはわかりますので便利でした。初めましての方も1名いらして、Connpassで知ったとのことでした。

準備

Skypeアカウントを確認すること、Skype用にノートPCを1台確保しました。また、前日に個人的にビルドを試してみました。 隣の大きなスペースは他のイベントでお借りしたことがあり、ある程度会場の状況はわかっていましたので、下見はしませんでした。

参加者

最終的には現地で7名、Skypeでの安部さんを含めて7名でした。

当日スケジュール

ざっくりしたスケジュールしか考えていませんでしたが、結果的には以下のような流れになりました。

  • 14:00 会場に入ってセッテング
  • 14:30 自己紹介/今日やること発表
  • 14:35 安部さんのレクチャープレゼン
  • 14:50 各自作業開始(ビルドをしてエラーが出ると安部さんに聞く)
  • 17:00 買い出し、休憩
  • 17:?? 作業に戻る
  • 18:35 安部さんのコードリーディングプレゼン+質疑応答
  • 19:05 振り返り
  • 19:30 ビルド待ち、情報交換、ディスカッション
  • 20:00 終了。その後晩御飯行く

f:id:shinji_enoki:20150822170848j:plain (17時すぎ、疲れてきたので栄養分を補給してるところ)

やることを確認すると、みなさんまずはビルドをするという方ばかりでした。 1人で2台-3台持ってこられている方が多くて、複数台で違う環境でビルドなどされていました。

ビルドの様子

Ubuntu 14.04のみがノーエラーでビルド完了まで行けました。 それ以外は途中で止まって試行錯誤しており、ビルドが時間内におわらず時間切れというパターンが多かったです。マシンスペックにもよりますが最初にビルドするには3-4時間はかかります。

Linux Mintは必要なパッケージが多くて、ビルド以前のautogen.shをクリアしきれなかったようです。

やってみてのあれこれ

現場にいれば、すぐにノートPCを覗きこめて便利なのですが、今回はリモート先のメンターに対して、ログをWebやDropboxへアップしてIRCでURLを伝えるという形でしたので、ひと手間かかりました。

Skypeはトラブルを覚悟していましたが、 1度回線が切れたくらいで安定していました。Skypeに繋いだマシンをプロジェクターで映しっぱなしにしておきました。お互いにビデオを流しっぱなしで様子がわかる状況でした。 PCはThinkPadのT430を使い、マイクとスピーカーなしでもほぼ問題なかったです。カメラはPC付属でなくWebカメラで会場の様子が相手に見えるようにしました。

画面共有を使ってプレゼンしてもらったのですが、プロジェクターの性能がいいこともあってクリアでした。 f:id:shinji_enoki:20150822183734j:plain

安部さんからビルドの話とコードリーディングの話を2回プレゼンいただいて、イメージをつかむのに良かったように思います。2度めの後はみんなビルド中ということもあり、質問大会にしました。

うまく進んだ人、進めなかった人もありますが、全体としてはナレッジが大分共有できたように思います。 まだ、解決できなかった人もいますし、次回も企画したいと考えています。

振り返りKPT

Keep

  • やったことなかったが、開催できてよかった
  • 思ったよりもニーズがあった
  • わいわいやって楽しかった
  • 集まってやると、エラーが出ても心が折れにくい
  • 回線が安定していたのがよかった
  • Skype経由でもある程度はできるということがわかった
  • 運営に特化したので、技術的でない部分のフォローが出来た
  • メンター2名体制だったので、1名が来られないトラブルでもイベントは成立できた
  • 2台マシンを持っていったのでSkype用と作業用に分けれた
  • 参加者が複数台持ってきてくれて複数環境でやれた

Problem

  • ビルドまでいけたのが1人だけだった
  • git cloneするのに時間が取られた makeは成功していなくても、そこまで終わっていると早かった
  • すばやくフォローするには、現場にいるメンターが欲しい
  • 事前にこまめな連絡をしきれなかった
  • 当初IRCに入るのを忘れていた
  • ビルドの時間待ち時間をもう少し有効に使えたかも

Try

  • 出来れば同じ会場をお願いする
  • 会場で参加できるメンターも確保する
  • 手順を送っておいて、git cloneまで済んでいる人を増やす
  • ソースコードリーディングの次の一歩を。手を動かしてソース読んでいくのもよいかも

オープンソースカンファレンス 2015 Kansai@Kyotoに参加しました

2015年8月7日(金)-8日(土)に京都リサーチパーク(KRP) で開催された、オープンソースカンファレンス2015 Kansai@Kyotoに、LibreOffice日本語チームとして参加しました。2日ともブース出展し、土曜日には近藤さん、中村さんによるセッションもありました。

f:id:shinji_enoki:20150815013417j:plainLibreOfficeブースをセッティングしたところ。後ろの山下さんブースの存在感が強烈です) (上記含め、近藤さん撮影の写真を何枚か使わせていただいています)

OSC京都は毎年暑いのですが、今年はいつもにも増して暑かったです。金曜日は体温を超えていたかもしれず、スコールのような豪雨も降りました。外を歩いていた人は大変だったのではと思います。建物に入ると冷房があるので大丈夫です。

OSC京都全体としては、金曜は約400名、土曜は約750名だったそうです。かなり盛況だった年だと思います。

LibreOfficeブース/セッション

LibreOffice日本語チームブースを担当したのは、近藤さん、小笠原さん(土のみ)、榎の3人でした。ブースに来られる方は、LibreOfficeを利用されている方も多い一方で、まったくご存知ない方もちらほらいらっしゃいました。Drawの翻訳について指摘されることもありました。ブースに遊びに来られていた西堀さんが、帰ってから調べて翻訳の提案をしてくださいました。

LibreOfficeセミナーでは、近藤さんによる「LibreOfficeの最新動向」、中村さんによる「LibreOfficeの使いどころ」の2本立てでした。まず、近藤さんからLibreOfficeの概要や先日リリースされたLibreOffice5.0に向けての活動や、8/22(土)に開催するLibreOffice hackfestの紹介がありました。 中村さんからは、多くの人はオフィスソフトをうまく使えていない、という問題提起がありました。目的に合わせてツールを選ぶなどの提案を軽妙なトークで紹介されました。アンケートでも面白かったというコメントを書いてくださった方がいらして嬉しかったです。 セミナーの参加者は22名。予想よりも多く来てくださいました。一番小さい部屋でしたので溢れてしまって、途中で来られた2−3人は入れませんでした。

f:id:shinji_enoki:20150815012125j:plainLibreOfficeのセッション開始直前の様子)

オープンデータ京都実践会

今回、オープンデータ京都実践会もブースを土曜のみですが出展しました。ブース番は手分けしましたが主に鈴木さんと高橋真知さんが担当、私もLibreOfficeブースの隣にしてもらったこともあり少しできました。 Wikipedia ARTS 大阪新美術館コレクションのチラシを200部ほど送ってもらって配布しました。懇親会で坂ノ下さんが配ってくださったので、ほぼ全部配布できたようです。

オープンデータ京都実践会のセッションは、コミュニティブースの一角であるアトリウムで行われました。3人の分担で、青木さんからオープンデータと会の紹介、高木さんから田舎でオープンデータを使ったイノベーションの話、鈴木さんからWikipediaARTSの紹介がありました。

オープンデータ京都実践会のセミナーの裏方や、日本UNIXユーザ会のセミナーでの撮影係もしていたので、土曜はあまりブースにいられませんでした。どちらのセッションもそこそこ席は埋まって熱心に聞いてくださる方が多くてよかったです。

f:id:shinji_enoki:20150808142554j:plain

(オープンデータ京都実践会のセッションの様子)

今年の京都のローカルブースは昨年以上に展示物も豊富で、パワフルでした。学生&ローカルブースで一列並んでいるのは存在感がありました。

(左:金曜日開始直前?ブース俯瞰 / 右:Vine Linuxブースの笹に、実行委員長のよしだ先生の短冊が..)

(左:謎の着ぐるみ / 右:京都府警に見張られながらブースを出す法林さん)

金土ともギークハウスに泊まって、与太話からOSSコミュニティについての議論まで、夜遅くまで熱く話をしていました。そのせいで翌週は木曜くらいまで体調が悪かったです。

日曜日はDocFest 2015 Aug. Osaka

日曜日にはオープンソースカンファレンス京都に来た人もターゲットに、オープンソースの翻訳の集まりであるDocFest 2015 Aug. Osakaを大阪のグランフロントで行いました。昨年に引き続きJoomla!コミュニティの藤原さんに会場を確保いただきお世話になりました。ありがとうございました。参加者8名で、各コミュニティの翻訳事情などを情報交換した後に各自の作業をしました。LibreOfficeの翻訳に興味をお持ちだったお二人には小笠原さんがフォローしてくださいました。

気温だけでなく内容も暑かった京都の夏でした。

f:id:shinji_enoki:20150809142843j:plain

(DocFestで作業している様子)

第9回関西LibreOffice勉強会を開催しました

2015年4月4日(土)に第9回関西LibreOffice勉強会を行いました。 開催からだいぶたってしまいましたが、その時の様子をレポートします。

会場は今回も住友電工情報システム株式会社さんの会議室をお借りしました。ODPGとしてご協力いただきました。ありがとうございました。

天気もよく、花見日和だったのではと思いますが、そんなこととは関係なくLibreOfficeづくしな1日でした。

飛び入りも含めて4つのセッションがありました。また、参加者は勉強会15名、懇親会13名と懇親会参加率が高かったです。

「これがCalcだ!-Calcをコンセプトから見直す-」(60分)中村

野方さんが電車のダイヤが乱れて遅れていたため、中村さんからスタート。表計算ソフトの得意なところと不得意なところを考えるお話でした。ギャグを交えながらのお話は楽しいものでした。 LibreOfficeでの理想的な連携方法としては、データはBase->Calc、Draw、テキストエディタなどで素材を作って、WriterやImpressにまとめるという図はわかりやすいかったです。 3つのセオリーとして「データはリスト形式で入力する」「セルに名前を付ける」「役割別にシートを分ける」とのことです。セルに名前を付ける機能は知ってはいるものの、忘れていました。 Calcでの版管理機能の紹介もあり、一度試してみようと思いました。

「テンプレ作ってTシャツもらおう!」(60分)のがたじゅん

LibreOffice 4.4のテンプレートコンテンストに応募して入選したお話。LibreOffice 4.4では野方さんのImpressのテンプレートが2つ含まれています。 当初は応募を考えていなかったのが、お正月に時間が出来たので作って応募してみたそうです。テンプレートコンテンストの仕組み、さらには送って貰ったTシャツをアピールされました。 ちなみに、今回の4つのセッションのうち、偶然3つまでが野方さんの作ったImpressのテンプレートを使っていました。

野方さんの発表にあわせて、各自でテンプレート作成を作ってみようコーナーを考えていましたが、時間も少なめでしたのでやめました。

「コマンド一発でLibreOfficeをインストール」荒川

飛び入りで荒川さんによるセッションがありました。 Linuxでは簡単にコマンドでLibreOfficeをインストールできますが、WindowsMacでは基本的には手動でWebサイトからダウンロードする必要があり、面倒です。 WindowsでChocolatey(PowerShell)、MacでHomebrew cask(Homebrew)を使った方法を紹介されました。

http://qiita.com/arachan@github/items/f5adf9dd3fc9ba436598

「質問サイトAsk.LibreOfficeを使ってみよう!」(15分)榎真治

LibreOfficeの質問サイトとしては、非公式のものが長らく使われてきました。2014年8月より公式の"ASK.LibreOffice"の日本語版(英語版は以前からありました)が使えるようになっています。残念ながらまだまだ知られていませんので紹介をしました。

(大釜さん撮影の会場の様子)

ディスカッションコーナーでは、いくつかのトピックで雑談しました。Baseを使っている際の困っている相談などもありましたが、その場では解決しませんでした。

今回もスピーカーや会場手配をしてくださった大釜さん、参加者のみなさんの協力で、盛り上がったように思います。ありがとうございました。 次回の関西LibreOffice勉強会は、7月ごろに開催できればと考えています。

第8回関西LibreOffice勉強会・開催レポート

この記事はLibreOffice Advent Calendar 2014の14日目です(公開がまたもや次の日の15日になってしまいました)。前日はikunyaさんの「LibreOfficeのコメント機能を活用する」でした。

2014年12月13日(土)に第8回関西LibreOffice勉強会を開催しましたので、今回はそのレポートを書きます。 参加者は18名でした。4日前くらいまで10人くらいしか申込がなくて少な目だなと思っていましたが、蓋をあけてみるといつも通りでよかったです。懇親会参加者は9名、2次会は7名でお茶しました。

関西LibreOffice勉強会では、だいたい年3−4回を目標にしていますが、今年も3回開催できてよかったです。 今回も住友電工情報システム株式会社の会議室をお借りしました。ありがとうございました。

f:id:shinji_enoki:20141213155806j:plain

今回は4つのセッションを行いましたが、それぞれにジャンルも様々でバラエティに富んでいました。

LibreOfficeExcel ファイルの互換精度について(60分)辰濱健一

まずは辰濱さんによる第2回徳島LibreOffice勉強会の再演です。資料は公開されないとのことですので、詳しめにメモを書いてみます。聞き間違えたり、理解が追いついてなくて間違っているかもしれません。

f:id:shinji_enoki:20141213131601j:plain

ExcelファイルをLibreOffice 4.2.3で開いてOOXML形式で別名保存し、元ファイルと比較するというもので、2つの方法で検証されたそうです。

1つ目は、OOXMLのオブジェクト構造をモデル比較する方法です。Excel 2013で(元ファイルとLibreOfficeで別名保存した)2つのファイルを開いて、外のツールから参照し、差分があればその値と違いを出力します。VBでcomを叩くツールを自作されたとのことでした。

XMLのタグと値を取り出して比較するわけですから、厳密に比較できますね。(※追記:メッセージで教えていただいたのですが、XMLの比較ではなく、オブジェクトでの比較ですね) ツールを完成させるには手間がかかりそうですが、一度できれば手動でリグレッションテストをすることを考えると相当楽にはなりそうです。

2つ目の方法は、UWSCというスクリプト言語を使って、Excel 2013で2つのファイルを開いて各シートのスクリーンショットを自動的に撮るというものでした。今回は、比較自体は自動化せずに画像を目視したそうです。

Webで公開されているExcelファイルで違いを比較してみると、シートの表示倍率が変わる、シートの外側の背景がグレーになった、ページの範囲が飛んでしまった、日付で「02月02日」が「2月2日」になった、フォントが変わった、セル結合したセルの「前の半角スペース」がとんだ、といったことを見つけられたそうです。

代表的なプロパティのみ調べてみたところ、セルの値はほぼ大丈夫だったそうです。結合すると先頭半角が飛んでしまう現象は、xlsxファイルのみでxlsファイルでは起こらないので、LibreOfficeのOOXMLフィルターの実装バグではないか?とのことでした。また、金額表示で円マークとマイナスの位置が入れ替わってしまったというものもあったそうです。文化圏によって表示順が違うのが原因で、こういう問題が起こったのではと推測されていました。

セルの値以外を見ると、均等割付がインデントに変わる、セル結合を解除すると背景色のついた範囲が違う、セルの塗りつぶしで色がかわった、などもあったそうです。オートシェイプも一見大丈夫にみえるますが、枠の大きさが変わったり、回転角が0になる。グラフでは、3桁区切りが飛ぶ、日付の書式が飛ぶなど軸の書式が引き継がれないことも見つかりました。ピボットテーブルでは数値と罫線のみで、ピボットテーブルツールとして機能しなかった、とのことです。

f:id:shinji_enoki:20141213134544j:plain

まとめとしては、値・数式の互換はほぼ問題なしだが、罫線は線種の互換がないものがある、行の高さ・列の幅に互換性がないものがある、ピボットテーブルは互換性がないということでした。ただ、調べたプロパティは10%以下しか網羅できてないそうです。 データ中心の機能だけを使っているファイルであれば相互運用可能と推測できるが、見た目にこだわるファイルであれば注意が必要、とのことでした。

詳しく調べられていて凄いです。罫線の線種の話は知っていましたが、それ以外は徳島で聞いて初めて知りました。現在は修正されている可能性もありますので、開発版で試そうと思って忘れていました。今度みてみたいと思います。

質疑応答では、以下のような話題がでました。 Q:PowerShellなどではなくUWSCを使った理由は? A:キーボードなどが叩けるので、具体的な操作が出来るから Q:LibreOffice側で対応が難しいものは? A:罫線などは難しい。LibreOfficeでは何ミリとかだが、Excelでは線種どれとかで、モデルの思想が違う。翻訳ソフトで日本語から英語にして、日本語に戻すと違うようなもの。 Q:ODFの比較をしたい場合には? A:ODFの仕様書を読んでモデルツリーを...もしくはLibreOfficeがcomのAPIを公開していればそれを叩く

罫線がずれない社内文書を作ろう Writer 編(60分)那谷進

続いての那谷さんによるセッションでは、罫線バリバリの稟議書WordファイルをLibreOfficeで開いて、どのようにすればスマートな作りに出来るか、というハンズオンっぽいセッションでした。

f:id:shinji_enoki:20141213142853j:plain

表の中に入れる場合、文章1行を表の1行に入れていくと、文章を編集した際に他の行も調整する必要が出てきます。1つの大きな行に複数行文章を入力して、図形描画で横線を描いて見た目を便箋のようにする、という方法を紹介されていました。

年月日などを綺麗に揃えようとしても、元ファイルの書式に引きずられているとうまくいかないケースもありました。 他にも、均等割付の話題もでましたが、サンプル文書ではスペースで整形されていてびっくりしました。Writerでは均等に文字を並べることはできますが、均等割付機能自体はないので、そのあたりをどうするかの議論もありました。

表の罫線の書式はどこを消せば影響するのか、あまり意識してなかったので面白かったです。辰濱さんからは、ExcelやCalcではどうなっているでしょうというクイズも出題されました。

文脈を確認しながらLibreOffice翻訳(40分)大橋和美

3つ目は大橋さんによるヘルプの翻訳の話で、「ヘルプを翻訳してみよう」というのが当日のタイトルでした。資料は修正して公開されるそうです。

f:id:shinji_enoki:20141213155720j:plain

UIの翻訳は短いので文脈がわかりにくく難易度が高い一方、ヘルプだと文章なので慣れてない人でもとっつきやすいという話があり、その発想は斬新に感じました。翻訳イベントでHackfestをする際は、ヘルプの方がよいかもしれません。

ヘルプ翻訳はついでには難しいので、30分でもよいので専念する時間をとること、ヘルプを読んで未訳を探してから、ネット検索してWikiのヘルプをみて、Pootleで街頭箇所を検索するという流れで作業されているそうです。

確かに、いきなりPootleで翻訳するよりも先に前後の文章がみれるヘルプを読んでいく方が分かりやすそうです。 ちょっと困っていることとしては、Pootleが重いこと、Pootleで検索しにくい(and検索がうまく機能しない)ことだそうです。

Pootleで翻訳を提案したあと、日本語ML(discuss)で報告というひと通りの流れを紹介されていました。 翻訳というテーマでしたが、参加者の皆さんの反応もよく、分かりやすいセッションだったように思います。

今年のLibreOfficeコミュニティを振り返る(30分)榎真治

私からは今年を振り返るお話をしました。後半は資料が出来ていなくて雑談になってしまったのですが、ディスカッションとしては盛り上がったように思います。

最後に+次のイベント

次回は3−4月くらいにしたいと考えています。興味を持たれた方は、ぜひご参加ください。また、ネタのある方は発表の立候補もお待ちしています。

また、関西で12/20(土)にバグハンティングセッション、12/21(日)に翻訳と2つの小さな集まりを行うことにしました。私自身が、ついついさぼってしまってLibreOfficeの作業ができていないので、イベントということにしました。他に参加者いない場合は(その可能性が高いですが)1人でやります。まだ場所をFIXしていないのですが、決まり次第MLなどでお知らせしますので、興味がある方はご参加ください。

明日のアドベントカレンダーは荒川さん(Arachansan)による「Drawを帳票ツールとして使う」です。お楽しみに!

第5回九州LibreOffice勉強会のレポート

この記事はLibreOffice Advent Calendar 2014の2日目です。次の日になってしまうタイミングで書いています。前日は小笠原さんの「LibreOffice Conference 2014 Bern参加裏レポート」でした。

2014年11月23日(日)に第5回九州LibreOffice勉強会を開催しましたので、そのレポートをします。

前日のオープンソースカンファレンス2014 Fukuokaにあわせての企画です。いつもオーガナイズしてくださる案浦さんが用事があるということで、今回は私が代打しました。今回もライジングサン企画株式会社のオフィスをお借りして開催しました。休日にわざわざ開けてくださいまして、ありがとうございました。

(午後に撮った様子。ちょっとわざとらしくなってます)

f:id:shinji_enoki:20141123143801j:plain

午前10時からスタートして、3つのセッションとLibreOffice4.4へ向けたバグハンティングを行いました。出入り自由にしていましたので、合計の参加者は9名でしたが、午前のみ・午後のみの方がそれぞれ2名ずついらしてどちらも7名で行なってました。

「実務で使えたLibreOffice」(50分) 渡辺浩太郎

トップバッターは、JA福岡市LibreOfficeの導入を担当された渡辺さん。「実務で使えたLibreOffice」と題したセッションで、個人としての参加/見解での発表でした。今年からIT部門から他部門へ移籍されて、業務として使う立場でどうだったか、というお話でした。スライドは後で公開されるかもしれませんが(公開されましたので下記に追記しました)、詳し目にメモを起こしておきます。

移行ではPDFに変換するソフトをインストールして、過去のファイルは変更しないものはPDFで運用するという方法が徹底されているのがJA福岡市らしいところかな、と感じました。互換ソフトでない点に注意すれば、機能的には申し分ないそうです。

今までMicrosoft Officeを使ったのは、Webの表をCalcに貼り付け出来なかった時、役所への届出でテンプレートがずれた時、Acsessを使うときくらい、とのことでした。

困った事例としては、Tフォントの楷書体を使ったところない文字があってゴシックになったり縦書きがでなかったこと、OASISのファイルをコンバートしたものでは文字や段落が欠落したりコントロールコードが使われている均等割付がとんだこと、㊞のデータが欠落したこと、公共の申請書テンプレートがPDFとdocのみだったこと、フリーのGrepソフトではODFが非対応だったことなどがあったそうです。 ㊞の件は、文字に○などで囲むWordの機能を使っていると文字が欠落することは以前から有名ですが(そういう機能がLibreOfficeにないため)、それのことなのかは確認しきれませんでした。

欲しい機能としてはExcelにあるカラーフィルターが内部の要望として一番多かったそうです。Calcのデータ分析機能やBaseのマクロでFunctionモジュール、Baseのレポートビルダーの強化、なども挙げられていました。 私はBaseのマクロについては知らなかったのですが、他はどれも時々聞くところです。 また、運用時に紙の本がないと調べない人が多い、フリーの日本語フォントに関する情報が不足なども感じられているとのことでした。

導入して良かったことは、ライセンス管理が不要なこと、自宅でも同じソフトが使えること、同一ソフトの同一バージョンに簡単に統一できること、有償バージョンアップの連鎖からの脱却、躊躇なくアップデートできる、全員がImpress/Drawを利用できる、を挙げられていました。 JA福岡市ならではとしては、Impress/Drawを組織で活用する姿勢が強いことが特徴だと思います。単にソフトの乗り換えではなくて、組織をいかに強化するかを考えられていて感心させられます。研修も最初にWriterやCalcはせずに、DrawやCalcのつっこんだところのみをするというのも、戦略にそったものだと感じます。

課題としては、バージョンアップ時のテストが必要(バグがあることもあるので)、Baseはまだ不安定、縦書きが不得意、情報が少ない、という点を挙げられていました。

問い合わせを受けた際に、そのまま回答するのではなく、マニュアルの何ページに書いてますというような答えをされて、マニュアルを読む習慣づけをされたのもうまい手だと思いました。

(12/9スライド追記)

LibreOfficeをもっと使おう~カスタマイズ方法について~」大森規克

2番目のセッションは、大森さんの「LibreOfficeをもっと使おう~カスタマイズ方法について~」。 様々なカスタマイズ方法が紹介されていて、私も知らないものも多くて勉強になりました。情報はOpenOffice.org時代のものだったり、散らばっているので、資料公開に期待したいです。

Writerの入力支援で文章を登録出来ることも知りませんでした(どこかで読んだけど忘れていただけかも) カラーパレットもImpress/Drawの書式-領域-色などで作成した場合には保存できるそうで、なぜ保存できるダイアログとできないダイアログがあるのかは謎ですが、便利そうです。 起動画面のカスタマイズは画像を入れ替えることで、スタートセンタでのサムネイル非表示なども設定ファイルをいじることで出来るそうです。

(12/10 大森さんの資料を追記)

「TeXMathsの紹介」松川淳一

3番目のセッションは、松川さんによる「TeXMathsの紹介」でした。 拡張機能であるTeXMathsを入れると、TeXLibreOffice上で使うことが出来て、GUITeXの数式を編集することもできます。これは理系の人にはうれしそうな機能です。

オープンソースカンファレンスでも松川さんはノートPCに入れてきてデモを行なってくださってましたが、その詳細についてでした。私もお話を聞きながらインストールしてみましたが、面白いです。

(12/3 松川さんの資料を追記)

「4.4.0向けのBugハンティングセッション」榎真治

最後のセッションは「4.4.0向けのBugハンティングセッション」を行いました。15時もすぎていて1.5時間程度使えました。 LibreOffice 4.4 Beta1を世界中で3日間集中的にテストしようというのが今回のバグハンティングセッションです。ちょうど九州勉強会と時期が重なりましたので、勉強会の1コマとしてチャレンジしてみました。 バグハンティングセッションの詳細はWikiを参照ください。

セッションやBugzillaの説明をした後に、さっそくとりかかりました。皆さん比較的LibreOfficeユーザーとしてはベテランな方も多く、気になる機能などをテストする方式が多かったです。

Bugzillaへバグレポートを書かれた方もいらっしゃいましたし、またMLへ後で投稿いただいたものもありました。

今までMLに投げていたのが、Bugzillaに報告出来るようになった!というお話もあり、皆さん経験いただく機会になったようでとてもよかったです。

課題としては、小笠原さんがMLでフォローくださいましたが、私自身が後でフォローしきれずに、Bugzillaまでレポートに行けてないものもあって気にはなっています。

また、Mac OS X のバージョンが10.7の方が2名いらしたのですが、LibreOffice 4.4からはサポートが外れてしまっていてベータ版をインストールできなかったのは残念でした。事前に想定して、お知らせしておけばよかったです。

今回は実りが多かったので、今後もバグハンティングセッションもやってみたいと考えています。 興味を持たれた方はぜひご参加ください。

12/14(土)の関西LibreOffice勉強会では時間を確保しにくいので、JUSO Coworkingで行なっているLibreOfficeの日でやってみようかと考えています。(次回は12/10(水)です) ただ、平日なのとあまり知られてないので、参加者が限られそうなのをなんとかしたいところです。

お昼ごはん、懇親会

お昼ごはんは、恒例となった向かいのビルの地下にある「ビック鯛はのぼる」にみんなで行きました。約1年ぶりですが懐かしさを感じます。相変わらず量が多いのですが、特盛にチャレンジしてペロっと食べられていた方がいらしてびっくりです。

f:id:shinji_enoki:20141123130453j:plain

f:id:shinji_enoki:20141123131110j:plain

お昼ごはんの後、おやつを買い出しにいって、ちゃんとおやつもできたのもよかったです。

懇親会は4名でいきました。特に計画しておらず、5時すぎから空いているところを歩きながら探して、以前に1度いったことのある中華屋さんに行きました。その後、渡辺さん行きつけの餃子屋さんへはしご。餃子美味しかったです。たくさん数が出てきたのですが、関西のと違って一口サイズで食べやすかったです。小さいカウンターだけで目の前で素早く作られていました。

福岡では3連休とSMAPのドームコンサートということで土日の宿が全然取れませんでした。以前嵐やポールマッカートニーと重なった年でも大丈夫だったので少し油断していたら1ヶ月前くらいには埋まってました。土曜は、福岡市内どころか、県内でもほぼなくて西鉄の特急に乗って1時間という新栄町駅近くのカプセルに泊りました。有明海に面していて、もう少し時間があればそのあたりを回ると面白かったと思います。駅前にコンビニもなにもなくて、朝ごはんは福岡市にいくまでおあずけだったのはびっくりしましたが、これはこれで面白かったです。

楽しい充実した1日でした。協力してくださった方や参加してくださった皆さん、ありがとうございました!

明日のアドベントカレンダーはkazutanさんによる「私が気に入ってるcalcの小技など」だそうです。