Shinji Enoki's blog

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

LibreOfficeを使うときに知っていると便利な7つのこと

LibreOfficeは豊富な機能を持ったソフトウェアで、全部を使いこなしている人はいないだろうと思います。この記事では、私が知っていると役立ちそうと考えたLibreOfficeの7つのことを紹介します。 1つ1つは基本的なことですが、これを全部やるのとやらないのでは便利さはだいぶん違ってくると感じています。ブース出展や勉強会でお話していると全部は知らなかったという方も多いので、費用対効果の高そうなものから選んでみました。

この記事はLibreOffice Advent Calendar 2018 の2日目です。1日目は小笠原さんの「LibreOffice Conference 2018 Tirana 裏レポート」でした。

目次

  1. スタイルを使いこなす
  2. サイドバーで設定をする
  3. Impress:マスタースライドで複数スライドで共通部分を作る
  4. Impress:アウトラインモードで編集する
  5. Drawで図形を描いて、Writerなどにコピペする
  6. ヘルプを検索する
  7. LibreOffice onlineと役割分担する

1. スタイルを使いこなす

スタイルとは、文書での見た目の部分についてまとめて設定する仕組みです。Webでスタイルシートと呼ばれているものと同じです。たとえば、各段落に対してフォントの種類やフォントサイズを直接指定した場合、段落の数が多いと設定や変更が大変です。多くの場合は書式がバラバラになってしまい読みにくいものになります。そこでスタイルに書式を設定しておいて、段落などに対してそのスタイルを指定することで楽にミスも少なく編集できます。中身のコンテンツと見た目の設定を分離するという文書の構造化という考え方があり、LibreOfficeだけでなくオフィス系のソフトウェアはだいたいそれにそって作られています。

LibreOfficeでは、どのアプリケーションでもスタイルを使うことが前提になっています。スタイルを使っていなければ使えない機能もあります。例えば、Writerではページの設定はページスタイルで行いますし、見出しスタイルを使うことで、目次を自動生成&自動更新したり、ナビゲータで移動できます。Calcでは条件付き書式設定でスタイルを使っています。

Writerでは6種類のスタイルがありますが、基本は「段落スタイル」と「ページスタイル」で、この2つを使いこなせれば十分だと思います。スタイルの使い方については、野方さんの第6回関西LibreOffice勉強会のスライド「スタイルを使ってレイアウトをかっちり決めよう」も参考になるでしょう。

Calcでは「セルスタイル」と「ページスタイル」の2つのみです。合計の列を色を付けておくなど、セルスタイルで定義しておくと便利です。

f:id:shinji_enoki:20181203005531p:plain
去年のカンファレンスレポート記事の原稿でスタイルを使っている図。今見たら、最初の段落に適用するスタイルは、見出し1でなくてタイトルの方がよかったですね...

2. サイドバーで設定する

LibreOfficeでは、右側にサイドバーがあります。ここで様々な設定ができて便利です。私はサイドバーを使い始めてからは、メニューやツールバーのボタンを使うことが劇的に少なくなりました。Writerの場合、「プロパティ」「ページ」「スタイル」「ギャラリー」「ナビゲータ」の5つを切り替えることが出来ます。「プロパティ」は、文章やオブジェクトなど現在選択しているものによって、設定項目が自動的に切り替わってくれてとても便利です。「スタイル」では先ほど説明したスタイルを設定します。CalcやImpressなどでもWriter同様、サイドバーを使うと便利です。また、サイドバー自体は表示/非表示を切り替えることもできます。

f:id:shinji_enoki:20181203005537p:plain
サイドバーを表示させているところ。文章入力モードなのでフォントなどのプロパティが出ています

3. Impress:マスタースライドで複数スライドで共通部分を作る

Impressで発表資料を作る場合には、ヘッダーやフッター、背景、スライドタイトルの位置など、各スライドの内容は統一することが多いと思います。その統一的な設定を「マスタースライド」で設定しておくと便利です。一括して設定/変更する時に威力を発揮します。

マスタースライドを設定したい場合は、メニューから[表示]-[マスタースライド]を選択して呼び出します。標準モードに戻るには、メニューから[表示]-[標準]を選択するか、ツールバーで[マスター表示を閉じる]ボタンをクリックします。

スライドに適用したい場合は、サイドバーの「マスタースライド」を選択し、使いたいものをクリックします。その時に右クリックから全部のスライドに適用することも出来ます。

f:id:shinji_enoki:20181203011357p:plain
マスタースライド画面(LibreOffice Conference 2018の発表者用テンプレート)

4. Impress:アウトラインモードで編集する

発表資料を箇条書き主体で作るケースには、アウトラインモードが威力を発揮します。レベルの上げ下げで、スライドタイトルにしたりスライドの中身に変えたりもできます。また、順番を入れ替えることも容易です。私はテキストエディタで箇条書きでスライドタイトルを並べていって、そこからImpressにコピペしてアウトラインモードで追記、調整することもあります。

アウトラインモードに切り替えるには、メニューから[表示]-[アウトライン]を選択します。

f:id:shinji_enoki:20181203012444p:plain
アウトラインモードでみたところ

5. Drawで図形を描いて、Writerなどにコピペする

Writerなどでは図形を組み合わせて描いていると、図形が変なところにずれたり図形の配置を簡単に揃えられなかったりします。図形を描くにはDrawが適しているため、Drawで描いてコピペで他のアプリに貼り付けると便利です。今後も図形をメンテナスしそうな場合はコピペ元した後に、Draw形式で保存しておくといいでしょう。Drawでは(Impressでも)ツールバーの「配置」ボタンを使って簡単に配置を揃えることができます。

6. ヘルプを検索する

メニューなどにある知らない機能を調べたい場合や、操作方法が思い出せない場合にはヘルプが参考になります。LibreOfficeでは基本的には全機能についてヘルプを作ろうとしています。たまに開発者が忘れていたためかヘルプがないこともありますが、多くの場合ではあります。組み込まれているヘルプを見るほかに、同じ内容がWebサイトにもありますので、Webの検索エンジンで調べる手もあります。

7. LibreOffice onlineと役割分担する

これは基本的な話ではないかもしれませんが、便利なので紹介します。LibreOfficeではWebブラウザで編集するオンライン版があります。品質面や機能面では完成されていませんが、割り切れば使えるレベルになってきました。ブラウザでみれるので、PCだけでなく、スマートフォンタブレットでチェックすることも出来ます。同時編集機能があり、議論しながら一緒に編集したいときには便利です。

LibreOfficeのデスクトップ版がバックエンドで動くので、デスクトップ版と基本的に表示は同じです。このように、GoogleDocsなどと根本的に思想が違うので、使い方も違ってきます。普段はデスクトップ版でファイルを作成・更新し、Nextcloudなどでファイルを自動で同期しておきます。他の人にチェックしてもらったり加筆修正をして欲しい時など、コラボレーションしたい時のみオンライン版を使うと便利です。

構築手順はLibreOffice kaigi 2018での村上さんの発表資料「LibreOffice Online 環境の構築 2018年版」も参考になると思います。

以上、7つを紹介しました。もし参考になる情報があればうれしいです。 明日のLibreOffice Advent Calendar 2018は荒川さんの「OfficeとWebAPIの未来」です。楽しみです。

関西オープンフォーラム2018に参加しました

2018年11月9日(金)-10日(土)に大阪南港 ATCで開催された関西オープンフォーラム2018に参加しました。関西のオープンソースやITコミュニティが年1回集まるイベントで、今回で17回目になります。 オープンソースカンファレンスが京都と大阪で開催されるようになりましたので、オープンソースコミュニティについては年3回集まるともいえます。私はKOFの実行委員ではありますが、ブース要員の方が手薄なので、LibreOffice日本語チームと日本UNIXユーザ会のブース番をしました。アイクラフトのブースも関わっていますがそちらは他の人にお任せしていました。

f:id:shinji_enoki:20181110132944j:plainLibreOffice日本語チームブースの様子)

jusブースでは歴代会長を展示するという企画で、いろんな幹事が交代で番をしていました。古い機関紙やUNIXをコピーにつかっていたテープなども展示していました。1984年ごろの機関紙/etc/wallの創刊号に載っている逸話などを砂原先生から聞いたりして面白かったです。展示会で各社の実機があったので、その場でパフォーマンステストのプログラムを書いて、実行させてもらって比較して記事をかいたそうです。

セミナー企画では、アイクラフト枠でアフリカ人インターン3名がLibreOfficeについてのセッションを行いました。私はメンターとしてスライドをレビューとディオドネのスライドの日本語翻訳をしました。少し心配していましたが、3人とも堂々と落ち着いて話していてよかったです。ショーケース4の小さい部屋でしたが14名ほど(身内も何名かいましたが)来てくれました。

f:id:shinji_enoki:20181110143045j:plain(ディオドネのトーク中の様子)

続いて、LibreOffice日本語チームの枠では、近藤さんから「超珍グラフで学ぶ!図解表現のアンチパターン」と題した発表がありました。前半はLibreOfficeを導入する際のチェンジマネジメントについての話で、後半がチャートについてのアンチパターンでした。3Dグラフや縦軸のないグラフなどいくつかごまかし方のテクニックが紹介されました。奥村先生が時々指摘されているネタに近かったです。 サンプルを作るだけでも心が痛かったそうです。こういったごまかしを知って騙されないようにすると共に、自分では作らないようにしましょうというお話でした。

f:id:shinji_enoki:20181110153300j:plainLibreOffice日本語チームの近藤さんのトークの様子)

日本UNIXユーザ会(jus)は法林さんによる「平成生まれのためのUNIX&IT歴史講座 〜1990年代前半編〜」と題した発表でした。砂原秀樹さん、齊藤明紀さんというjus幹事をゲストに迎えてコメントを挟むスタイルで盛り上がりました。商用インターネット接続がなかった時代で、ネットワーク相互接続のためのUNIX Fairというイベントを行ったりしていたそうです。また、この時代は標準化が進んだ時代だそうです。いろいろ試してみることが重要で、試したものが生き残らなくても無駄ではないとのことでした。今の時代もAIなど混沌としていてこの時代に近いかもしれないとのお話もありました。

f:id:shinji_enoki:20181110160530j:plain(jusのセッションの様子)

また、ステージ企画といって、ブースエリアでの15分間のミニセミナーでは、アイクラフトの村上さんが今年9月にアルバニアで開催されたLibreOffice Conference 2018の報告をしてくれました。機内ビデオが凝っていたとか、小ネタを挟んだお話でした。(カンファレンスの様子については日経XTECHの記事もご覧ください)

KOFでは基本的にコミュニティや企業が自主的にセミナー企画を行います。今年も面白そうなお話がたくさんありましたが、ブース番などで動けずに見逃して残念でした。唯一聞きにいけたのは、平見知久さんによる「OSSで運用管理 〜インシデント管理・構成管理ツールOTRSとその界隈〜」でした。OTRSは問い合わせ管理などのチケットシステムとしては歴史があり、豊富な機能を備えています。ITILのどの部分をカバーしているかや、他のOSSの問い合わせ管理システムの紹介もありました。OTRSは次期バージョンからオープンソース版はしばらくリリースされないとのことで、利用するなら今のバージョンを使い続けることになりそうです。

実行委員会から講演をお願いしているセッションもあります。基調講演のようなものですが、毎年5−6個あるので講演会という名前をつけています。今年は6つありどれも面白そうでした。 若林健一さんの「CoderDojoの経験からみたコミュニティの未来」は私がいつも気にしているコミュニティをどう発展継続させるかというお話だったようです。楠正憲さんの「仮想通貨とブロックチェーン」はとても気になっていました。「保護者を巻き込んで情報モラル等を考えてみた」も大変盛り上がったようです。私はどの講演会も見に行く余裕がありませんでしたがあとでYoutubeに録画が公開される予定ですので、それを楽しみに待ちたいと思います。

f:id:shinji_enoki:20181109183018j:plain(金曜日の夜に行われた懇親会の乾杯の様子)

今年も様々なコミュニティや企業が集まって盛り上がりました。2日間で1000人くらいではないかとのことでした。参加者が減少傾向ですので今年はテコ入れしたかったのですがそこはうまくいきませんでした。実行委員が忙しい人がおおくて、準備が後手に回りがちでした。来年は早めに手を打って巻き返しをしたいと思います。

次はLibreOffice日本語チームや日本UNIXユーザ会として、関西では2019年1月のオープンソースカンファレンス大阪に参加します。また、他の地域では12月のオープンソースカンファレンス福岡にも参加します。

The Document Foundationの運営の仕組みについてのメモ

LibreOfficeを支える団体であるThe Document Foundation(以下TDF)のメンバシップコミッティー選挙がありました。私もTDFメンバなので投票する権利があるのですが、投票する前に規約などを読み返したのでメモしておきます。間違っていれば指摘いただけるとありがたいです。

TDFはLibreOfficeコミュニティを支えるために、LibreOfficeコミュニティのメンバによって設立された非営利団体です。ベルリンに拠点を起き、ドイツの法律に基づいた法人です。

以下に簡単にメモを書きますが、詳細はTDFの規約を参照ください。

TDFは、規約上は、Board of Directors(以下BoD)、Board of Trustees(TDFのメンバのこと)、Membership Committee(メンバシップコミッティー)の3つからなっています。

Board of Directors(BoD)

BoDは、理事会や取締役会と言うべきもので、ガバナンス上の意思決定を行います。お金などの資源管理、予算や会計、年次報告の作成などに責任を持ちます。もちろんBoDメンバが個々のタスクを行うという意味ではないです。LibreOfficeのイベントをやるときにスピーカーなどの旅費申請をすることがありますが、ここが承認します。一方で技術的なことにはタッチしません。技術面はEngineering Steering Committeeで決定します。TDFのメンバであれば立候補でき、、TDFメンバによる投票で選ばれます。任期は2年です。7名のメンバと3名のDeputies(代理人?)からなります。

どうでもいい話ですが、ここにプロフィールが書いてあって便利です。Marina(マリーナ)がStudio StortiからCIBに転職したことにいまごろ気が付きました。だいぶ前にミュンヘンに引越ししたので転職したんだ、とは思ってましたが。 f:id:shinji_enoki:20180905010829j:plainLibreOffice Conference 2017, Rome ItalyでBoard of Directorsメンバが紹介されているところ。立っている人がBoDメンバですが、なぜかマリーナだけ右端に座ってます)

Board of Trustees

Board of TrusteesはTDFのメンバを指しています。入会資格は誰にでもあります。入会の条件としてはTDFの目標に向けて検証可能な活動を3ヶ月以上した人で、今後最低6ヶ月以上活動する意志がある人です。もちろん、礼儀正しさや寛容さ、オープンな精神は求められます。運用上、活動を確認できる2名以上のTDFメンバ(ある種の推薦者だけど、確認できればOKのよう)か別の確認方法が必要だったと思います。メンバシップは毎年更新され、どんな活動をしたのか、どんな活動をするつもりなのかを毎度聞かれます。Webのメンバリストを数えると195名います。ただしこのリストは3ヶ月に1回程度しか更新されません。

Membership Committee

Membership Committeeは会員の入会や継続の手続きを行うことと、BoDの選挙管理を行います。もめた時にBoDの弾劾も出来るようです。TDFのメンバであれば立候補でき、TDFメンバによる投票で選ばれます。任期は2年です。3人以上の奇数人数で構成され、TDFメンバの10%が人数の上限です。Executive Boardが選挙管理するそうです(Executive Boardって?BoDが選挙管理するはず)。BoDほど忙しくはなさそうですが、これも重要な役割です。そういえば、会員更新手続きを忘れていた時に、更新しないの?とMCのメンバがSNSで聞いてくれたことがありました。

Advisory Board

Advisory Boardという機関もあり、名前の通りアドバイスや提案するためのグループです。決められた金額の年間寄付をした組織と、他のFLOSSコミュニティで構成されています(たぶん他のFLOSSコミュニティからは寄付は受けてないと想像していますが、調べていません)。TDFの収入は、個人からの寄付と、このAdvisory Boardメンバ組織の寄付からなります。組織の規模によって金額が違います。また、雇用している認定LibreOffice開発者によっても金額が違ったと思いますが、今は金額を見つけられませんでした。

特定の組織による支配をさけるため、BoDやMembership Committee、Advisory Boardは、同じ組織に雇用されている人は1/3までというルールもあるようです。

もう情報が古いのですが、TDFの組織というページもあります。

BoDやMembership Committeeの選挙システム

候補者を1人選ぶのではなく、複数人に投票できるMeekメソッドを利用しています。(Wikipedia:単記移譲式投票) 今回のMembership Committee選挙だと10名の候補者に対して、最大9名まで投票することが出来るようになってました。少なくても5名は必要で、最大4名のDeputiesが選ばれるそうです。いまいち人数をどう計算しているのか理解できていません。 投票するには、TDFメンバ向けに送られてきたメールにしたがって、投票用のWebサイトにアクセスしてメールアドレスと投票トークンを入れて認証します。投票時には、選んだ順番も意味がありそうですが、アルゴリズムを理解しきれてないです。Gnome Foundationの投票システムを使わせてもらっているようです。

TDFメンバになる方法

申請フォームから申請します。継続的に活動している人であれば、どんな貢献をしたか、それを確認できるアカウント名などをちゃんと書けばOKです。日本人は4名しかしないのですが、活動していているのに申請していない人が多いことが理由です。ちょっと面倒かもしれませんが、活動しているならメンバになってもらえるとうれしいです。

f:id:shinji_enoki:20180905010831j:plain (おまけ。LibreOffice Conference 2017, Rome ItalyでTDFスタッフが紹介されているところ)

今年の日本でのLibreOfficeイベントを振り返る(2017)

今年も日本でいろいろなLibreOfficeイベントがありました。何をやって、どうだったかを振り返って今後を考えてみます。

2015年に振り返ってみたことがありました。 この記事はだいぶん遅くなりましたが、LibreOffice Advent Calendar 2017の11日目です。

今年のイベントサマリ

日本でのイベント一覧をTDF Wikiからチェックします。 今までで30回、後予定は2つなので32回になりそうです。2015年は46回でしたのでやや控えめでした。

種類 内容 合計
勉強会 浜名湖1回、関西1回 2
Hackfest 関東2回、名古屋1回、関西2回(分野別だと、バグハンティング4、いろいろ1) 5
OSSイベントへの出展・セミナー OSC11回、KOF1回 12
LibreOfficeの日 関西12回 12
その他 LibreOffice mini conf 2017 1

日本でLibreOfficeでイベントに関わるメンバは数名ですので、数としてはそこそこだとは思います。10月にLibreOffice mini conf 2017を開催できたのはよかったです。openSUSE.Asia Summit 2017の中での開催したのですが、LibreOfficeとしても台湾やインドネシアのスピーカーもいて、アジアカンファレンスっぽい形で開催できました。openSUSE.Asia Summitの方のスタッフとしても小笠原さんや近藤さんともに私も参加し、ビザのサポートやスポンサー獲得、ハラルフード対応など今まで未経験だったところの知見も得られました。

OSCKOFへのブース・セミナーはペースを維持しました。日本語チームメンバーの大森さんが、ブースコンテナを送ってくださるのでありがたいです。他のメンバや他のOSSコミュニティとも交流できるので比較的モチベーションも維持しやすいかなと思っています。

また、LibreOfficeの日は毎月第3水曜日にコワーキング・スペースに集まるだけのスタイルですので、リズムがあって特に負担がない点も大きいです。ただ、参加者はほとんどいないことが多くて、他の参加者にとっては魅力に欠けているのかもしれません。

一方、ユーザーよりのナレッジを貯める勉強会や手を動かすhackfestは減りました。定期開催でないために一度リズムが崩れるとついついできないのが課題です。後半にLibreOffice mini conf 2017で手いっぱいになったり、その後休憩モードに入った影響もあるかと思います。

イベント種類と目的

これも2015年からあまり変わってはいませんが、個人的に以下のように考えています。

  • 勉強会/オフラインミーティング
    • 平日夜もしくは、休日午後に集まってスピーカーを立てるセミナースタイルが多い。懇親会セットのケースが多い
    • 使い方のノウハウや情報の交換
    • 公開スライドによる情報の蓄積
    • 地域のユーザーコミュニティの形成。そこへ行けば聞ける場所にすること
  • Hackfest
    • 休日に集まって一緒にコミュニティの作業を行う
    • ベータ版やリリース候補をテストするバグハンティングが中心だった
    • 新しい人や普段やっていない活動に取り組みたい人をフォローする:ここは新しい参加者を呼び込めていないです
    • ノウハウを互いに伝授する
    • コミュニケーションの場
    • 作業効率アップ、モチベーションの維持:互いにバグを確認し合うなどすると楽
  • オープンソースカンファレンスなどOSSイベント
  • LibreOfficeの日

    • 毎月第3水曜日にコワーキングスペースに行く日を決めて、集まる場にする
    • 出入り自由(各自でコワーキング利用料を負担)でゆるい感じ
    • OSMと同日開催のことが多いです。
    • 地域のLibreOfficeコミュニティの形成。LibreOfficeに興味がある人が定期的に集まれる場にする
    • LibreOfficeについてそこに行けば相談や質問できる場を作る
  • LibreOffice mini conference/ kaigi

    • 日本でのLibreOfficeに興味がある人が集まって交流と情報交換をする
    • 小笠原さんからは、mini confをアジアカンファレンス、kaigiを日本のカンファレンスという使い分けをしていこう提案です

今後に向けて

LibreOffice kaigiを来年6月くらいまでにできればとは考えています。 また、新しく関わってくれる人をサポートするためにも、メンタリング中心で手を動かすhackfestのようなものをやってみたいと考えています。定例化できておらず、ついつい後回しになりがちですが..。OSS Gateの大阪でも平日夜にテーマ別にやろうという話があるので(Reactの予定)、私もLibreOfficeネタでもやってみることも考えています。

関西オープンフォーラム2017にLibreOfficeやjusで参加しました

2017年11月10日(金)-11日(土)に大阪南港ATCで開催された関西オープンフォーラム2017に参加しました。毎年11月に関西のオープンソースコミュニティやITコミュニティが集まるイベントです。今年で16回目で、私は1年目からボランティアスタッフ、2006年から実行委員ですが、最近は実行委員としてはあまり動けていません。

最近参加者は減少傾向ですが、それでも2日間で約1200名が集まったそうです。私はLibreOffice日本語チーム、日本UNIXユーザ会、アイクラフトの3つのブースを掛け持ちでした。アイクラフトブースだけはメンバが多ので任せていました。土曜日には4つのセミナーに関わりました。

f:id:shinji_enoki:20171111120022j:plain jusブース番に投入される砂原先生と援軍くださった中野先生

f:id:shinji_enoki:20171110172843j:plain LibreOffice日本語チームブースの近藤さんと、右奥はアイクラフトブース

関わったセミナーについて

イクラフト:エチオピアでのLibreOffice事情/QA・翻訳方法

アイクラフト枠でLibreOfficeインターンの2名から「エチオピアでのLibreOffice事情/QA・翻訳方法」の発表があり、メンターとして企画や申込、スライドのレビューや日本語翻訳のサポートをしました。エチオピアでのオープンソースの状況などはあまり日本で情報がないので面白かったと思います。QAと翻訳については、情報が整理されてよかったです。

オープンデータ京都実践会:「Wikimania 2017 / State of the Map 2017 参加報告」2大オープンデータコミュニティの国際会議って?

オープンデータ京都実践会枠では、Miya.mさんと瀧口典子さんから「Wikimania 2017 / State of the Map 2017 参加報告」2大オープンデータコミュニティの国際会議って?があり申込などを担当しました。WikimaniaというWikipediaや姉妹プロジェクトを含めた国際会議について、モントリオールやそれ以前のの様子は、懇親会では断片的に伺ってましたが、雰囲気が分かって興味深かったです。OpenStreetMapの国際会議であるSotMについては、今年は会津若松市でしたので私も参加しましたが、マッパーとしてアクティブな立場からのお話で楽しそうでした。

日本UNIXユーザ会:jus研究会大阪大会「ITコミュニティの運営を考える」

日本UNIXユーザ会枠では各地のOSCでも行っているITコミュニティ運営に関するセッションで、法林さんと共に参加者全員とのラウンドテーブルを行いました。10人を2グループに分かれてディスカッションしました。私の参加したグループでは、コミュニティをどうやって探せばよいかはなかなか難しいという話や、コミュニティで上手くやっていくためにはボードゲームのようなものの経験も有効では?、などの話題も出ました。

LibreOffice日本語チーム:Drawをもっと使いこなそう / LibreOffice Conference 2017 Italy 参加報告

LibreOffice枠では、近藤さんと半分ずつの担当で、近藤さんからはDrawをどのように活動していくかについて、私は10月に行われたローマでのLibreOfficeカンファレンスについて写真を中心にお話しました。

ブースやその他感想

LILO東海道らぐ、DebianNetBSDなどおなじみなところも多いですが、大阪府警やPulse CMS、アトラシアン株式会社、Gyazo Teamsといった普段なかなかお会いしないところも出展されていました。また学生ブースも大阪情報コンピュータ専門学校ITcreate部なども出されていて面白かったです。 今回もロボットプロレスも行われていて、遠くからでも盛り上がっていそうな雰囲気は感じました。

岡本真さんの「Gov 2.0としてのオープンデータ-民主主義と知識創造の基盤としての文化機関を拓くということ」や、上原哲太郎さんの「ネ申Excelと事務情報化」など面白そうな講演もたくさんあったのですが、余裕がなくて聞けなかったのは残念です。ビデオ公開が予定されているようですので、後で見たいと思います。

ステージの模様などもYoutubeに上がっています。また実行委員の小山さんによるイベント風景の写真もあります。

懇親会や、土曜日の片付けの後の打ち上げも盛り上がりました。個人的にはスライドなどの準備が間に合ってなかったなどはありますが、無事に終わってよかったです。

LibreOffice OnlineをDebian jessieでビルドしてみました。

LibreOffice Online(LOOL)がバージョンアップして良くなってきています。オープンソースカンファレンス2017 Tokyo/Fallのブースでデモをしようと思って、手元のDebian jessieでビルドしてみましたので、メモを残しておきます。

去年8月にも同様の記事(LibreOffice onlineをDebianでビルドしてみました)を書いていますが、手順が一部変わっています。

また、LibreOffice Online導入手順 2017年4月版 - LibrePC from iCRAFTCentOS版ですが、基本的にDebianと手順は同じでした。

以下のwsdのREADMEに沿って進め、必要に応じてloleafletのREADMEも参照します。

LibreOfficeのビルド

LibreOfficeソースコードを取得

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

ビルドに必要なパッケージをインストール(前回やっていたので不要)

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

ビルド

通常手元のレッツノートCF-N10(メモリ12GB,SSDに換装)だと4時間台で終わるのですが、途中他の作業していましたので6時間半くらいかかりました。

$ cd libreoffice
$ ./autogen.sh --with-lang="ja"
* WARNING : no suitable nasm (Netwide Assembler) found for internal jpeg-turbo
$ make

pocoのインストール

/opt/poco以下にmakeしてインストールしてもよいのですが、その場合はwsdの./configureで指定する必要があります。 今回はそのことを忘れていてエラーになったので、パッケージを入れました。

$ sudo vi /etc/apt/sources.list で以下を追記
 deb https://www.collaboraoffice.com/apt-poco/ /
$ sudo aptitude update
$ sudo aptitude install libpoco-dev

LOOLのビルドと設定

作業ユーザのhomeにgit cloneしてきた場合で指定しています

$ git clone git://anongit.freedesktop.org/libreoffice/online
$ cd online/
$ libtoolize
$ aclocal
$ automake --add-missing
$ autoreconf
$ autoheader
$  ./configure --enable-silent-rules --with-lokit-path=/home/ユーザ名/libreoffice/include --with-lo-path=/home/ユーザ名/libreoffice/instdir --enable-debug
$ sudo mkdir /etc/loolwsd
$ sudo cp etc/* /etc/loolwsd
sudo mkdir -p /usr/local/var/cache/loolwsd
↑今回はすでにあったのを削除して再作成しました
$ sudo chown eno. /usr/local/var/cache/loolwsd
↑作業ユーザ名. に読み替え
$ make run

npm installなどが走るのですが、途中でエラーになりました。

touch node_modules
Traceback (most recent call last):
  File "util/po2json.py", line 9, in 
    import polib
ImportError: No module named polib
Makefile:481: recipe for target 'dist/l10n/help-en_AU.json' failed
make[2]: *** [dist/l10n/help-en_AU.json] Error 1
make[2]: Leaving directory '/home/eno/2_code/LibreOffice_code/online/loleaflet'
Makefile:1720: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/eno/2_code/LibreOffice_code/online'
Makefile:732: recipe for target 'all' failed
make: *** [all] Error 2

python-polibパッケージをインストールしてみるといけました。

$ sudo aptitude install python-polib
$ make run

これでできました。起動したメッセージにしたがってブラウザでアクセスします。/opt/tmp/test.odsにファイルを置いていたので、以下のようにアクセスしました。LOOLの起動も1回目は意外に時間がかかりますが、2回目からは早くなります。

https://localhost:9980/loleaflet/dist/loleaflet.html?file_path=file:///opt/tmp/test.ods&host=wss://localhost:9980

補足

前回の時にLOOLのビルドで必要だった"libtool","libcap-dev", "nodejs", "npm"がインストールが必要かもしれません(今回はインストールされているのでわかりません。)

$ sudo aptitude install libtool libcap-dev nodejs node-jake node-uglify npm
$ sudo npm install -g npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node

また、LibreOfficeのビルドですが、git pullしてmakeするとエラーになったので、上記手順のようにソースを取得しなしました。

$ git pull
$ ./autogen.sh --with-lang="ja"
* WARNING : no suitable nasm (Netwide Assembler) found for internal jpeg-turbo
$ make
[build LNK] StaticLibrary/libcodemaker_cpp.a
/home/eno/2_code/LibreOffice_code/libreoffice/workdir/CxxObject/store/source/store.o: 関数 `store_openDirectory' 内:
store.cxx:(.text+0x814): `store::OStoreDirectory_Impl::create(store::OStorePageManager*, _rtl_String*, _rtl_String*, storeAccessMode)' に対する定義されていない参照です
/home/eno/2_code/LibreOffice_code/libreoffice/workdir/CxxObject/store/source/store.o: 関数 `store_openStream' 内:
store.cxx:(.text+0xd34): `store::OStoreLockBytes::create(store::OStorePageManager*, _rtl_String*, _rtl_String*, storeAccessMode)' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
/home/eno/2_code/LibreOffice_code/libreoffice/store/Library_store.mk:10: recipe for target '/home/eno/2_code/LibreOffice_code/libreoffice/instdir/program/libstorelo.so' failed
make[1]: *** [/home/eno/2_code/LibreOffice_code/libreoffice/instdir/program/libstorelo.so] Error 1
make[1]: *** 未完了のジョブを待っています....
Makefile:266: recipe for target 'build' failed
make: *** [build] Error 2
$ make clean
$ ./autogen.sh --with-lang="ja"
$ make
でも再度エラーになりました。

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

すっかりブログをサボっていましたが、8月4日(金)5日(土)に京都リサーチパークで開催されたオープンソースカンファレンス2017 Kyoto に参加したことを自分の記録用にメモしておきます。

2日間の延べ人数で約750人だったそうです。いつもOSC京都は暑いのですが、今年も暑かったです。ただ、台風が近づいていて逆に少し暑さはマシだったかもしれません。2日目の夕方にはスコールのような雨もきました。

2日間、LibreOffice日本語チームブースだけでなく日本UNIXユーザ会ブースやアイクラフトブースの番もしました。LibreOfficeブースは小笠原さん、近藤さん、jusブースは法林さん、内山さん(土のみ)という編成で、私はjusブースにいる時間が長かったように思います。かずひこさんがひょこっと寄ってくださったり、久しぶりに前田青也さんにお会いしたり、懐かしい方ともお話できてよかったです。

f:id:shinji_enoki:20170804161251j:plain f:id:shinji_enoki:20170804133814j:plain

イクラフトブースなどの様子はLibrePCブログに書きました。

セミナーでは日本UNIXユーザ会ではいつもお馴染みの「ITコミュニティ運営」について参加者のみなさんとグループ・ディスカッションしました。3つのグループに別れて盛り上がりました。LibreOfficeは予定していた方がお仕事で不参加となり、代わりに私が最近のLibreOfficeの状況についてお話しました。

f:id:shinji_enoki:20170805172757j:plain (OSC京都のラスト、LT大会の様子)

今年も2泊ともギークハウスに泊まりました。1日目は大人しく日付がかわる前に寝ましたが、2日目はおしゃべりしていたら2時半くらいになっていたような記憶があります。 1日目の晩御飯はUbuntuの人たちと一緒に、OSC京都恒例のだいこんの花へ行きました。2日目はOSCの懇親会の後、ギークハウスでまったり宴会していました。

f:id:shinji_enoki:20170804175950j:plainだいこんの花のメニュー)

翌日はopenSUSE Leap 42.3 Release Party Kyoto & もくもく会に参加して夕方に帰りました。今年のLibreOffice mini confはopenSUSE asia summit 2017と一緒に開催するのですが、そのイベントについて相談などをしていました。(まだCfPを出せていないのでブログを書いているより、そちらを出すべきなのですが) f:id:shinji_enoki:20170806135157j:plain