Open Spaceとは
Plone Conferenceの3日目はOpen Spaceです。Open Spaceは、通常のカンファレンスとは違い、内容が直前まで決まっていません。用意されているのは場所と時間の枠(Open Space)だけで、参加者が「やりたいこと、話したいこと」を付箋などに書いて枠決めのホワイトボードに貼ることで、内容が決まっていきます[1] 。Open Spaceは、Plone Conferenceでは2009に初めて採用されました。アンカンファレンスと呼ばれる形式も似ていると思います。
今回のOpen Spaceは、次の写真のとおり、9つの会場に8つの時間帯が用意されました。朝一番はさすがに飲み過ぎ(前日はパーティーでした)できついのか、枠が一つしか埋まっていません。また、一番最後の枠はライトニングトークになっています(実際のOpen Spaceの時間割は著者のGoogle Docs にまとめておきました) 。
Open Spaceの時間割が貼ってあるホワイトボード
Open Spaceのセッションでは、すべての部屋にプロジェクターがあるわけではありません。セッションによっては、次の写真のように輪になって議論をするという形式もあります。
基調講演もしたメイン会場は広いので、手前と奥で2つのセッションが開かれました。他にも、野良セッションがあちこちで開催されたようです。Open Spaceでは、このようにカジュアルに発表や議論が行われており、途中で参加したり退席することが自由に行なえます。
Open Space中
plone.app.discussion
Ploneデフォルトのコメント機能を置き換えるプロダクトplone.app.discussion についてのセッションです。このプロダクトは、設定画面でcaptcha(コンピュータからの入力ではないことを確認するテスト)の設定ができます。使用するcaptchaはreCAPTCHA のもののようです。
参加者からDISQUS というJavaScriptベースのコメントシステムの紹介もありました。Ploneでは、DISQUSを使用するためのcollective.disqus というプロダクトがあります。
「他にどのような機能があるとよいか」という問いかけでは、jQueryのサイトのようにJavaScriptを使ってページ区切りするコメント機能がほしいという意見や、コメントを追加するとメールが飛び、モデレーターが許可したらコメントが載るという仕組みがほしいという意見があがっていました。
また、参加者からplone.app.discussionのインストールを失敗したという話がありました。インデックスの作成に失敗していたようで、metadata.xmlファイルの依存関係に関する記述を変更して対応したそうです。
ユーザインターフェースの問題として、コメントを記述しているがcaptchaで失敗した場合に、コメントの入力フォームの位置ではなく、画面の一番上が表示されてしまうそうです。現時点ではどう対処したらいいのかアイデアがないとのこと。実際にソースコードをプロジェクターで写し、どう対処すべきかが議論されていました。最後に、明日からのスプリントで、ユーザインタフェースについて開発を進めるということになりました。
いきなりコードを見て議論がはじまるあたりがOpen Spaceらしいノリだと感じました。
Diazo/XDV
Diazo(旧xdv)について全般的な話がされたセッションです。最初にDiazoを使ってもらうためのドキュメントを作成しようという意見があがっていました。内容は、step1が「インストール」で、step2が「使い方」というような感じで進めていくそうです。ドキュメントは大事ですよね。
また、Unified Installer(Ploneと関連するプログラムを一括でインストールするパッケージ)にDiazoを入れてはどうかという発言がありました。その場合はPIL (Pythonの画像処理パッケージ)やlxml (XMLとHTMLを処理するパッケージ)も一緒にインストールしないといけないという発言がありました。個人的にはlxmlまでUnified Installerで入れてしまうのは少しやりすぎかなと感じました。
また、banjo (Diazo/XDVでのテーマ作成を補助するツール)の状況について質問がありました。banjoの開発は進めてはいるが、明日のスプリントでも開発をしようと思っているそうです。
Diazo/XDVのOpen Space
Double byte lang problems(CJK)
寺田さんが主催した、ダブルバイト文字についてのセッションです。以下のレポートは、寺田さん自身に執筆いただきました。
最初にPloneでタイ語での検索ができるかの確認を行ないました。実装上はタイ語にも対応しているそうですが、タイ語がわかる人がいないため検索して表示されるページが妥当かの判断ができていませんでした。今回、参加者にイギリスで働いているタイ出身の方にテストしてもらい、タイ語検索が正しく動作することを確認してもらいました。
タイ語で検索の確認
ダブルバイトOpen Space中(奥の方がタイ語を入力してくれました)
次にユーザを名前(fullname)で検索するときに、日本語の名前が検索できない問題について調査を行いました。Plone 4.0.0で確認したときには、Plone 3.xと同様にユーザ検索が日本語などのダブルバイトに対応していない問題がありました。この検証を、日本から同行していたCMSコミュニケーションズ社員と共に行い、その結果Plone 4.0.1で修正されていることが分かりました。翌日のスプリントで実装しようと考えていたテーマが一つ無くなりました(良かったことですが) 。
Plone+Django
PloneとDjangoを組み合わせたサイトの作り方について議論が行われたセッションです。Delmonte氏が携わったプロジェクトでは、Ploneのコンテンツの中でDjangoが持っているデータを呼び出すためのパッケージを作成しているそうです。他にも、JSON経由でデータを取得する手段も用いているとのことです。
データを一覧表示するときのカテゴリ情報などの元データはDjangoから持ってきて、そのカテゴリを選んで出力されるコンテンツはPloneに乗っている、というような組み合わせを使用しているそうです。
MySQLとZODBでは、どちらにどのデータを持たせるのかをあらかじめ検討して分割することで、混乱を避けられると話していました。また、逆にDjangoのページでPloneからデータ取って表示するということもしているようです。
PloneとDjangoを組合わせたサイトの例
どうでもいいことですが、作成しているサイトがGEOMAG という、おもちゃのサイトであることが非常に気になりました。
ランチと記念撮影
この日のランチデザートはスイカでした。
今日のデザートはスイカ
ランチのあとに宿泊しているアパートに戻ったのですが、その際、アパートからホテルに向かう通りに毎日のように出ている露天を見かけました。この日は洋服や帽子、アートを売るお店が出ていました。
ホテルまでの道にある露天
アパートから戻ってくると、ランチ会場に人がたくさん集まっています。Plone Conference 2010の運営スタッフの紹介をしており、参加者全員で運営スタッフをねぎらっていました。
Plone Conference 2010の運営スタッフ
その後、恒例の参加者全員での記念撮影が行われました。写真はFlickr で公開されています。私は左側の真ん中のあたりに、寺田さんは右側の真ん中あたりにいますので探してみてください。
記念撮影の後、次のセッションが始まるまでに会場の中を散策していました。基調講演にも使用されたステージは立派な作りで、失礼ながらきちんとしたイベントのようだと感じました。
基調講演などのステージ
講演者の後ろに配置されているPloneのロゴもかっこいいです。
Ploneロゴ
反対側にはカンファレンスのスポンサーのロゴが表示されています。寺田さんの会社CMSコミュニケーションズ のロゴ(CMScom)も見えます。
カンファレンスのスポンサー一覧
plone.app.imaging
昨日のライトニングトークで画像の変換拡張について話していたHarald Friessnegger氏を交えて、Ploneでの画像の変換方法について議論されたセッションです。Plone 4からはplone.app.imaging プロダクトによって、画像の表示サイズを設定できるようになりました。ここでは、さらに拡張して、画像の切り取りや色変換などさまざまな画像処理をできるようにするのはどうか、という話をしていました。
plone.app.imagingを導入すると、Ploneサイトにアップロードした画像に対してpreview (400ピクセル) 、mini (200ピクセル) 、thumb (128ピクセル)などの縮小サイズの画像が自動的に生成されます。これらの画像サイズは「画像のURL/image/mini」のようにアクセスすると表示されますが、ここをさらに拡張しようという提案をしていました。
画像のサイズ以外の変換ルールをどのように設定するのかについて議論していました。現在はpreview というキーワードに対してサイズを400 のように指定していますが、ここにサイズ以外のたとえばgray のような変換ルールを追記できてはどうかという意見がでていました。その場合は各サイズごとに全ルールを指定しないといけないため面倒な気がします。もう一つの案は、ルールを/ で区切って複数指定するという方法です。たとえば「画像のURL/image/preview/blur/gray」とするとプレビュー(400ピクセル)サイズでぼやけさせて(blur) 、グレースケールに変換させた画像が出力されるという感じです。個人的には後者のアイデアの方が汎用的に使えるのでよさそうですが、実装はなかなか面倒な気がします。
また、後者のアイデアでは、ユーザが画像を変換ルールでどういう文字列を指定するべきか複雑でわからなくなるのではないか?という意見がありました。この意見に対して、TinyMCE(Plone 4で使用されているWYSIWYGエディタ)で指定できるようにすれば問題ないという意見がでていましたが、これはなるほどと思いました。どの方向に進むかわかりませんが、今後Plone上での画像の扱い方がより便利になりそうです。
Matt Hamiltonインタビュー
ここで、Plone Conference 2010の主催者Matt Hamilton(@HammerToe )氏に時間をとっていただき、今回のカンファレンスやPloneについてインタビューを行いました。
Matt Hamilton氏(右)とインタビュー中の筆者
Q: Plone Foundationでの役割や普段のお仕事について教えてください。
A: Plone Foundationではディレクターであり、ボード(理事会)メンバーもあります。主な役割としてはPloneを広く知ってもらうためのマーケティングとプロモーションについて活動しており、Plone Foundationの予算の管理なども行っています。また、Zea Partners というオープンソースを広めるための団体のメンバーでもあります。
普段はNetsight という会社でTechnical Directorとして働いています。
Q: 今回のPlone Conferenceの規模はどれくらいですか?
A: 参加人数はだいたい300人くらい、30カ国ほどから参加がありました。イギリスでの開催ということもありヨーロッパからの参加が多いですが、日本やオーストラリア、南アフリカ、ブラジル、アルゼンチン、インド、ジャマイカなどからの参加者もいます(その後公開された「Plone Conference 2010 - The Numbers 」によると、33カ国から285人が参加したようです。アジアからは日本とインドだけというのはちょっとさびしいですね) 。
運営サイドは3ヶ月前から自分ともう一人で準備をはじめ、カンファレンス会期中はnetsightの社員13人を中心に運営を行っています。
Q: 今回Plone Conferenceを主催しようと思った経緯について教えてください(Plone Conferenceは毎年「開催したい」という地域から立候補を受け付け、Foundationメンバーの投票により開催地を決定しています)。
A: なぜ開催したいと思ったのかはわかりません(笑) 。自分は過去にすべてのPlone Conferenceに参加してきたので、イギリスでカンファレンスを開催してより多くのイギリスのユーザーにこの素晴らしいカンファレンスに参加してほしいと思いました。イギリスで開催するとたくさんビールが飲めますし(笑) 。それに、カンファレンスを主催することはPloneコミュニティに貢献するとてもよい方法の一つだと思ったからです。
初めての試みとして、Plone Business Day というイベントをカンファレンスの前日(10月26日)に開催しました。このイベントの目的はPloneを知らない人たちにPloneでできるビジネスについて知ってもらうためです。私もその日は今日のようなTシャツではなく、スーツを着ていました。40名くらいの参加者がいましたが、そのような(ビジネス側の)人たちに連絡をとる手段がわからないので人を集めるのが大変でした。Plone Conferenceに来るような人達はコーヒーとランチを用意しておけば、あとは勝手に床に座って食べたりしてくれるので楽ですが、ビジネスの人達に対してはそうするわけには行かないので、非常にストレスがありました。
Q: 最後に日本のPlone開発者に向けてメッセージをお願いします。
A: 毎朝起きると「Plone」をキーワードにtwitterを検索していますが、そこに日本語(と思われる)発言が並んでいます。何を書いているのかはわかりませんが、いろんな人がPloneやArchetypesについて発言しているのを見てきました。6ヶ月ほど見ていますけど、だんだんと発言数が増えているように感じます[2] 。日本とは距離も遠いし、違う言語と違う文化のため、外にいると日本でなにが起こっているのかわかりにくいです。しかし盛り上がっている感じを受けています。
インタビュー終了後、Matt Hamilton氏のお嬢さんが日本語を習っているという話を聞きました。そこで「じゃあTwitterを娘さんに訳して読んでもらえばいいじゃない」と伝えておきました。いつか日本のユーザがTwitterで発言した内容を、Mattさんが娘さん経由で知ることもあるかも知れませんね。
hudson.plone.org is bored
主催者: Eric Steele(@esteele ) 、 WebLion Group、 Penn State University、 USA
Hudson を使用したPloneの継続的インテグレーションについてセッションです。Ploneサイトではテストの自動化にHudsonを使用しており、Plone 4系のリリースマネージャーであるEric Steele氏はものすごい数のバグ報告を受け取っていたので、非常にうんざりしていたそうです。
Hudsonの画面
Ploneの自動テストでは基本的にPythonのテストコードが用いられます。ブラウザのテストにはSelenium も使用しているそうです。SeleniumはPythonでもテストケースが記述できるので、開発者にとって非常に便利です。また、Selenium GRID という環境を用意して、Hudsonからの命令により任意のWebブラウザでテストを実施し、その結果を返す仕組みがあるそうです。なかなか便利そうです。
plone.orgで使用しているHudson環境を構築するためのbuildout.cfgファイルがhttp://svn.plone.org/svn/plone/plone.org/hudson/ にあるので、参考にしてくださいとのことでした。
このようにPloneの品質を向上するために、Hudsonを中心とした仕組みを構築して、運用しているようです。
Eric Steele氏
ライトニングトーク
昨日のライトニングトークでは時間が足りなかったようで、Open Spaceの最後もライトニングトークの時間となりました。
Web and Mobile
Mikko Ohtamaa(@moo9000 )氏による、Day 1のセッションでも話していたスマートフォン用のページを作成するプロダクトについての発表です。Web and Mobile を適用すると普通のPloneサイトのページがiPhone等のスマートフォンで見やすく、かつアイコンもiPhoneっぽいものに変わります。このプロダクトは画像をスマートフォンの画面サイズにあわせて自動的に縮小するそうです。
このプロダクトにはCommunityエディションとProductionエディションがあることが紹介され、plonecommunity.mobi というコミュニティがあるので是非参加してほしいと呼びかけられていました。
標準のPloneサイト
Web and Mobileを適用した画面
Plone 4 AMI
Nate Aune(@natea )氏による、Plone 4をAmazon EC2で素早く立ち上げるためのAMI(Amazon Machine Image)とその登録サイトの紹介です。Plone Quickstart AMI Signup のサイトから自分のAmazonアカウントIDやリージョンを指定してPloneサイトを構築できます。なお、OSはUbuntuでPloneだけでなくApache、Varnish、Supervisorも一緒に入るそうです。
Plone Quickstart AMI Signup
Nate Aune氏
OpenID authenticate
Kai Lautaportti氏による、plone.openid プロダクトの紹介です。plone.openidはPloneサイトでOpenID を使用したログインを可能にするプロダクトです。ただログインできるだけではなく、ユーザ名等の属性情報をOpenID側から取得することができます。その際、OpenIDのどの値をPloneのどの値に割り当てるかの設定が必要だそうです。OpenIDをメインで使用しているサイトでは必須なプロダクトだと思います。
buildout-template
Mikel Larreategi氏より、便利なbuildout.cfgが紹介されました。高速化のためのnginx、HAProxy、Varnishに加えて監視ツールのMunin などもインストールされるようです。実際のコードはhttp://svn.webmeisterei.com/repos/public/buildout-template/trunk から参照できます。
plone.app.search
Denis Mishunov氏による、plone.app.search プロダクトの紹介です。このプロダクトはPlone標準の検索結果ページに日付順 やアルファベット順 でソートする機能をJavaScriptで追加します。シンプルですが便利そうです。
Denis Mishunov氏
検索結果画面に日付等でのソート機能を追加
EESTEC on Plone
EESTEC (Electrical Engineering Students’ European Association)というヨーロッパにまたがる学生の団体があり、その団体が主催しフィンランドで開催したサウナSprint が紹介されました。また、カンファレンス終了後の11月21日から27日にかけて、Neoplanta sprint という開発イベントをセルビアで開催するそうです(すでにこの記事執筆時点では終了していますが) 。
High performance Plone Hardware
Martin Aspeli(@optilude )氏より、Ploneサイトを速くした実例についての説明がありました。セッション1日目で話にあがっていたnginx 、Varnish 、HAProxy は当然使用しており、他に2台のサーバーにzopeを18個(読み込み16、書き込み2)起動して高速化を図っているそうです。ストレージはRelStorage(DBMSはPostgreSQL)を使用し、さらにmemcachedも使用しているとのことです。
vimpdb
Godefroi Chapelle(@__gotcha )氏より、vimpdb というVimエディタの中でPDB(Pythonデバッガ)を使うためのパッケージの紹介がありました。私はEmacs派なので使う機会がありませんが、VimでPythonの方は試してみてください。
SSO with Plone
Laurence Rowe氏より、PloneのSSO(シングルサインオン)についての事例が紹介されました。ターゲットとなるサーバがWindowsのため、IIS proxyを使用して実現したそうです。なお、plone.session プロダクトを使用してSSO with IISを実現したそうです。
python in gentoo
Domen Kozar氏より、gentoo LinuxでPythonパッケージを扱うためのgpypi2 ツールについての紹介がありました。2010年のGoogle Summer of Codeの成果だそうです。例としてコンソールで「gpypi2 install flask」を実行し、必要なパッケージがインストールされるデモを行っていました。
deform
syslab のPatrick Gerken(@do3cc )氏より、deform という別のフォーム生成ライブラリの紹介がされました。
買い物とディナー
Plone Conferenceの終了後、日本から来たメンバー全員とフィンランドから来ているMikkoさんとでディナーに行くことになりました。ディナーまで少し時間があったため、TOPMAN に買い物をしに行きました。パンツが1枚6ポンド、2枚で10ポンドと書いてあったのに、レジのお姉さんは普通に12ポンドで処理していました。まぁ、いいんですけどね。日本のTOPMANにはあまり行ったことがありませんが、イギリスはかなり安い印象を受けました。
ブリストルのTOPMAN
その後カンファレンス会場のホテルに戻り、日本メンバーとMikko氏の6人でレストランに移動しました。寺田さんがホテルのフロントにお願いしてタクシーを2台呼んでもらったのですが、この人の英語が非常に聞き取りにくくかなり大変だったそうです。私も最終日に駅までのタクシーを同じ人にお願いしましたが、確かに聞き取りにくい英語でした。ヨーロッパから来た参加者も首をかしげていたので、私の英語力だけの問題ではないと思いたいところです。
目的地はブリストル在住の方おすすめのmoreish... というイタリア料理のお店でした。一杯目はイタリアのビールPERONI を飲みましたが、これがすっきりとして非常においしく気に入りました。それからワインを飲んだんですが、イギリスではお酒に税金がかかっていないためビールもワインも非常に安いです。ワインリストの一番高いワインでも3千円くらいでした。いい国ですね。
moreish...
Mikko氏とは「どのセッションが興味深かったか」とか「日本とフィンランドの情勢について」などの話しをしました。……というのは建て前で、カンファレンス前後でどこに観光に行くのかなど、関係ない話しがほとんどでした。
Mikko氏と日本からの参加者
ディナー終了後は寺田さんと一緒に、アパート近くを散策して適当なパブで二次会を開きました。ビールが1パイント(568ml)で2ポンド(約260円)と非常に安いので、どうしても飲んでしまいます。周りがハロウィンの仮装の人が多いので、私も何か用意してくればよかったなと感じました。
STELLA ARTOIS
BECKS VIER
帰宅途中に騎馬警察がいました。人も馬も夜遅くまでお仕事ご苦労様です。馬がかわいいです。
騎馬警察
アパートの下にあるスーパーで、ずっと気になっていたチョコレートアイスを買って帰り、デザートに食べました。値段は1リットルで2ポンド(約260円)です。2つ買うと3ポンドと書いてあって一瞬心が動いたんですが、絶対に残してしまうので思いとどまりました。危ないところでした。味は想定の範囲内ですがおいしかったです。
トリプルチョコレートアイス(1リットル)
中身はこんな感じ
(4、5日目につづく)