Plone Conference 2010参加レポート

Plone Conference 2010 Day 2

Plone Conference 2010、2日目のレポートをお届けします。当日は、時差ボケの影響できちんと朝早く起きられたため、昨日と同じ会場で昨日と同じ朝食を食べて、朝からたくさんのセッションを聞きました。

朝食のベーコンサンドとミルクティー
朝食のベーコンサンドとミルクティー

From copy to paster: A middle-class Plone developer tale

スピーカーのErico Andrei氏はSimples Coslutoriaというコンサルティング会社の共同創業者であり、Plone Cono Surという南米のユーザーグループの中心的メンバーでもあります。このセッションでは、自分が6年間Plone関連で開発をしてきて、どのように手法が変わっていったのかが説明されました。

Erico Andrei氏
Erico Andrei氏

もともとはマーケティング関連の仕事をしていたそうですが、2004年に開発者に転身し100以上のプロジェクトに関わってきたとのことです(手がけたプロジェクトの中にbrasil.gov.brという、おそらく政府系のものもあるとのこと⁠⁠。当然たくさんの失敗もしてきたので、そのあたりも踏まえて話が進められました。

開発の話では、Plone 2.5以前の時代はコードをコピーしてペーストしてプロダクトを作成していたがそれで問題がなかったし、その方法が最も効率的だったそうです。しかしPlone 3になって開発手法が大きく変わりました。Erico Andrei氏たちはそのことを「Harry Aspeliのせいだ」と彼を避難していました(これは昨日のセッションでも発表をしていた開発の中心人物Martin Aspeli氏をハリー・ポッターになぞらえて言っています。ひどい(笑)ですね⁠⁠。

We blamed “Harry Aspeli”
We blame

しかし実際に悪いのは意義のある変革を理解していない自分たちであって、Martin Aspeli氏や他の人が悪いわけではないと気づいたそうです。幸いPlone 3関連の書籍がPackt Publishing からたくさん出版されていました。その後勉強をしなおしてPloneコミュニティに参加し、開発で貢献するようになったそうです。例としては、他の人が作成したCMFContentPanelsというプロダクトを使用したいが、Plone 2.5でしか動作しないためPlone 3で動作するように修正したProducts.CMFContentPanelsを作成したことを挙げていました。

現在はbeyondskins.*とsc.*という名前空間でプロダクトを多数作成しているそうです。たしかにPython Package Index : PyPIsc.で検索すると多数のプロダクトが表示されます。また、開発のベースとして自身のパッケージsc.dev.coreを使用しているそうです。

今後の予定としてはプロダクトのPlone 4対応を進めていきたいということと、Diazo(旧xdv)を使用したテーマの書き換えにも挑戦していくとのことでした。

Plone 2.5からPlone 3で開発手法が大きく変更になり大変だったという話は、筆者もとても同意できる話しでした。乗り越えるためには、やっぱり勉強するという地道な努力しかないんだなと再認識しました。

The State of Plone Caching

このセッションではPloneのコンテンツを素早く返すためのキャッシュについての現状を説明するものでした。Ricardo Newbery氏はplone.app.cachingのリリースマネージャーです。

Ricardo Newbery氏
Ricardo Newbery氏

はじめに、このあと説明するCacheFuとplone.app.cachingはPloneのキャッシュに必須ではありませんと話しました。あくまでキャッシュの設定を簡単にするためのツールです。

CacheFu

CacheFuは2006年に最初のリリースがされました。キャッシュに関する4つのプロダクトをまとめたパッケージです。この発表の日か次の日にはPlone 4で動作するバージョンをリリースするとのことでした(実際にリリースされたのか未確認ですが⁠⁠。Plone 2.5からPlone 4.0 で動作しており、Plone 4.0上で動作しているCacheFuのデモが行われました。

plone.app.caching

plone.app.cachingはPlone 4に対応したもう一つのキャッシュ設定プロダクトです。Plone 4.1に同梱予定です(PLIP#11065⁠。キャッシュのルールはzcml(XMLの設定ファイル)やGeneric SetupのXMLに記述して使用します。設定画面はplone.cachingプロダクトで提供するそうです。Zopeのeventにも対応しているとのこと。

IPubAflerTraversal, IPubBeforeCommit, IPubBeforeStreamingのようにインターフェースを使用してキャッシュの制御を行う仕組みのため、CacheFuのように既存コードへの影響が少なくよさそうな印象を受けました。

キャッシュ構成

キャッシュ構成は、Plone側ではキャッシュせず、プロキシとブラウザでのキャッシュの使用をすすめていました。キャッシュの強さとして、3つのレベルがHTTPヘッダの例付きで示されました。

合成ビューと分割ビュー

このセッションでは、ポートレットなど動的な部品も含んだ表示のことを合成ビュー、ページを構成するそれぞれの部品ごとのことを分割ビューと呼び、分割ビューの場合はESIEdge Side Includesという仕組みを使用してキャッシュを行うことを想定されていることが語られました。そして、それぞれのビューが持つ特性に合わせたキャッシュ方法が提示されました。

キャッシュ・プロキシ

キャッシュができるプロキシとして、以下が紹介されていました。

また、plone.recipe.squidplone.recipe.varnishというbuildout用のレシピが用意されているため、とりあえずプロキシでのキャッシュを行うにはこのレシピの使用が勧められていました。ただし、レシピを使用すると小回りが効かないので注意が必要とのこと。

診断ツール

キャッシュ用のヘッダ情報がきちんとついているか確認するためのツールとして、FirefoxのLive HTTP Headersなどが紹介されました。実際のキャッシュヘッダーの例を示しながら説明されました。

テスト

最後に実行速度を試験するためのツールがいくつか紹介されました。それぞれ対応する範囲などが違うため用途に応じた使い分けが必要です。

質疑応答では「SquidとVarnishのどちらがおすすめか?」という質問があり、回答は「Varnishのバージョン2がおすすめ」とのことでした。

Plone 4はPlone 3に対してパフォーマンスがよくなっていますが、キャッシュをうまく使用することにより、より速く応答を返すことができるようになります。plone.app.cachingとVarnish、そしてVarnish用のレシピを使用した環境をPlone 4サイトを構築してみたいと思います。

Theming with XDV

このセッションでは1日目の基調講演で名前が変わったと発表されたDiazo(旧xdv)について、どのようにテーマを作成するのかの詳細が説明されました(スライドのの1ページ目も急遽xdv の文字があったところをDiazoに変更されていました⁠⁠。スライドには、たたくさんのコードが記載されているので、Diazoを使用したテーマ作成をしたい人はぜひ参照してみてください。

Laurence Rowe氏
Laurence Rowe氏

plone.orgでもDiazoを使用してデザインを変えています。plone.orgのようにPloneとTracという複数のWebアプリケーションが動いている場合に、Diazoを使用して見た目を統一するという手法はおすすめですhttp://dev.plone.org/ploneはTracサイトですが、見た目がPloneサイトと統一化されています⁠⁠。

Theming with Diazo
Theming with Diazo

Diazoでは元となるコンテンツのどの部分を変換するかをXPathまたはCSS Selectorで指定できます。テーマの変換はベースとなるテーマ、コンテンツ、変換ルールの3つの要素でできており、ルールにしたがってコンテンツの指定された部分をテーマにして、任意の箇所に挿入するという処理を行います。ルールは単純は置き換えだけではなく、tableタグで書かれた表の中身をdlタグで書かれた定義リストに変換するような例も示されていました(記述例はスライドを参照してください⁠⁠。

また、外部のコンテンツを取り込むときに「method=”esi”」という指定をすることにより、キャッシュのセッションでも紹介されたESIEdge Side Includesを使用してページ全体ではなく部品のみを取得するということもできるそうです。

事例紹介

Diazoを使用した例として、以下のサイトが紹介されました。特に一つ目のサイトは言われないとPloneを使っているなんて全然わかりません。

DeliveranceとDiazoの比較

Diazoと、その元となったツールDeliveranceとの違いについて比較が行われました。実行速度はDiazoの方が4倍速いそうです。Deliveranceが持っている機能のうち、デバッグ機能はまだ対応できていないとのこと。

Deliveranceを動作させる方法はプロキシまたはApache+mod_wsgiですが、Diazoは以下の環境で動作させることができるそうです。

なお、Diazoへの名前変更に伴いPloneをxdvに対応させるプロダクトcollective.xdvの名前がplone.app.themingに変更になるそうです。

その他

質疑応答でAlexander Limi氏が「Diazoでこのあとドメイン取るから、みんな取らないでね」ということを言っていました。今調べてみたところdiazo.orgを10月28日に取得したようです。中身は現時点ではDiazoに関連するものではなくPlone.orgのサイト管理についてのドキュメントが置いてありました。

Diazoについては、私は自分でテーマをデザインすることはしません(できません)が、フリーのテーマによさそうなものがあればPloneサイトを当てはめたりするために使ってみたいと思いました。XPathはパッと見は何を指定しているのか分かりにくい感じですが、慣れてみると便利です。DiazoはPloneとは関係なく既存サイトのコンテンツを、元のサイトに手を加えることなく違うテーマで表示することができる非常に便利な仕組みです。⁠サイトのデザインを変えたいな」というときには候補の一つとして考えてみてください。

ランチとi18ndude

ランチは昨日と同様にビュッフェスタイルで、メニューはアジア系でした(ランチメニューはさすがに日替わりです⁠⁠。

ランチ会場に行くと、同じく日本からの参加者の堀田さん@jhottaが昨日z3c.formについて発表をしていたRok Garbasさんから相談を受けていました。相談の内容はi18ndudeというツールと中国語(2バイト文字)の絡んだ問題のようです。i18ndudeはプロダクトに含まれているページテンプレートやPythonスクリプトから、国際化用のファイル(.potファイル)を自動生成するツールなのですが、デフォルト文字列に中国語を入れようとするとうまく動作しないという問題があって困っていると話されていました。寺田さんと筆者も入って実際のコードを見せてもらっていたのですが、記述方法や使い方に変なところは見当たらず、もしかしたらi18ndude自身に問題があるかも知れないという結論になりました。この問題はカンファレンス中に寺田さんが調査することになりました(そして、スプリントでの寺田さんの開発ネタの一つとなりました⁠⁠。

この日のランチのデザートは山盛りになったシュークリーム。お好みでチョコレートソースをかけられます。シュークリーム好きには夢のような光景でしょう
この日のランチのデザートは山盛りになったシュークリーム

The world outside Plone

このセッションでは、Plone以外のテクノロジー(ここではJoomla!Djangoについて学び、Ploneに生かしていくという視点での講演となりました。筆者も他のCMSでは当たり前だけどPloneではできなかったり、逆のことも色々あると思っているのですが、他をきちんと調査したことはないため、非常に興味深いセッションとなりました。

Mikko Ohtamaa氏
Mikko Ohtamaa氏

Joomla!

最初はJoomla!日本語サイトというCMSについてです。Joomla!はPHPとMySQLいわゆるLAMPで動作するCMSの一つです。世界でもっとも人気のあるCMSだそうです。

Joomla!は以下の機能を有しています。

  • 管理画面
  • Articleというコンテントタイプ
  • WYSIWYGのエディタ
  • ブラウザで編集可能なテンプレートとCSS編集機能
  • ユーザー管理
  • 二つの状態を持ったワークフロー
  • メニューの編集機能
  • プラグイン管理機能

逆にPloneにある以下のような機能はありません。

  • フォルダがない
  • アクセス権限の処理がない
  • 共有とロールの概念がない

実際にJoomla!を操作して、デモが行われました。フォルダがないのにどのようにコンテンツの配置を管理するのか不思議に思っていたのですが、Articleを作成してメニューに割り当てていくという感じで管理するようです。Ploneではフォルダ構成がそのままメニューになるので、少し面倒だなと思いました。

また、ワークフローの状態が2つだけだったり、アクセス権限やロールの概念がないということで、Ploneに比べるとシンプルな使い方を想定しているシステムである印象を受けました。

デモの後、Joomla!には「Component provides」というビジネスモデルが紹介されました。Ploneで言うところのプロダクト(Joomla!ではエクステンション)を作成することを指している言葉のようです。

JomSocialというサイトでは、自社が作成したエクステンションをサポートレベルによって$99/$149/$499で販売しており、すでに37,000人以上が使用しているそうです。このようにJoomla!ではエクステンションの販売で仕事をするというエコシステムができあがっているそうです。

Joomla!用の有料プロダクトの例
Joomla!用の有料プロダクトの例

Django

次にDjangoが説明されました。Djangoは、Pythonを使ってWebアプリケーションを作成するためのフレームワークです。Pythonの開発は楽しい、同じようにDjangoの開発も楽しい、でもPloneの開発は楽しくないそうです。初級Python開発者にPloneの開発をやらせたら、その人が爆発してしまうというようなことを語っていました。

Djangoには以下の機能があります。

  • O/Rマッパー
  • テンプレートエンジン
  • URLマッパー
  • フォーム
  • 自動生成される管理画面
  • ユーザー管理
  • 拡張機能のアプリケーション

逆にPloneにある以下のような機能はありません。

  • 管理画面以外のデフォルトの表示用テンプレートがない
  • ビューレットがない
  • フォルダの探索機能がない、階層構造がない
  • ユーザ登録機能がない

Djangoのデモも行われました。テンプレートがPloneのPage Templateとは違いXMLベースではないこと、再起動しなくてもどんどん変更が反映されることが説明されました。

また、Django documentationReference Manualのように、ドキュメントが非常に充実していることが開発者の助けになっていると紹介されました。確かにDjangoのドキュメントの充実ぶりはうらやましいです。Django用の拡張機能は、Django Packagesというサイトで共有されているようです。

まとめとして「PloneはWebサイト用、DjangoはWebアプリケーション用」という使い分けをすることが示されました。

Plone開発者マニュアル

最後にこれらの(特にDjango)の教訓を踏まえて、Ploneの開発者マニュアルを作成していることが紹介されました。それがPlone Developer Manualです。Ploneでの開発に関する情報がかなり大量に入っているドキュメントです。

現在、著者は個人的にこの文書の翻訳を進めており、Plone 開発者マニュアルとして公開しています(最近あまり進捗がありませんが⁠⁠。この文書に興味のある方は、ぜひ翻訳にご協力いただければと思います。

Future is bright, future is Plone

このセッションはPloneでのサイト開発の過去、現在と今後についてのセッションです。残念ながらビデオに入っていませんが、いきなりスターウォーズのオープニング最初の部分をまねたビデオでプレゼンテーションがはじまりました。かなり凝った資料が用意されており、見た目にも楽しいセッションでした。ぜひビデオかスライドも実際に確認してみてください。

Andrew Mleczko氏
Andrew Mleczko氏

My story

最初に自身の歴史を振り返っていました。Zope 2.6.0から使いはじめ、Plone 2.0.xでDBを使用したコンテントタイプを作ったりしていたそうです。その後、Plone 2.5.xになりArchetypesベースの開発に移行、Plone 3.xではbuildout、eggsなどの新しい機能を習得し、パフォーマンスとの闘いの日々を送ってきたことが語られました。

以前はPloneで全機能を実装していましたが、現在はCMSのみで使用しているそうです。

Zope 2.6.0時代
Zope 2.6.0時代

Plone is not all-in-one Framework

「Ploneはコンテンツ中心のWebアプリケーションのためのプラットフォームである」と述べられました。そして、Ploneにはさまざまなコンテンツを入れられますが、そのため中身がぐちゃぐちゃになってしまうことがあるという説明がありました。

Plone integrations

ここでは、Ploneを実際に使用したプロジェクトの例について説明がありました。

検索機能の強化には、SolrやPostgreSQLのTsearch2を使用するプロダクトについて紹介がありました。Solrを使用した例では異なるソースの内容をretriever で solr の中に入れてPlone から検索するということをBiblioteca Accessibileで実現しているそうです。

文書管理システムではcollective.googlesharingを使用し、Ploneサイト上の文書とGoogle Docsの同期をとる仕組みを構築したそうです。

他にPloneとrepoze.bfgを組み合わせバックエンドにPostgreSQLを置いて、Webサイトとeコマース、在庫管理、CRMなどの全社システムを作成しており、現在80%まで完成しているそうです。

WHERE IS THE FORCE?
WHERE IS THE FORCE

PloneとDjangoの組み合わせは前回のPlone Conference 2009でも聞いていましたが、repoze.bfgと組み合わせているというのは挑戦的なシステム構成だと感じました。

Plone on RelStorage

このセッションは、筆者は聴講できなかったため、1日目のレポートに続き寺田さん@terapyonにレポートを執筆していただきました(ありがとうございます⁠⁠。

セッションの内容は、Ploneで使用するデータの保管場所をZope内蔵のZODBというオブジェクトデータベースで使用されているファイルData.fsへの保存ではなく、リレーショナルデータベース(RDB)へ保存を行う仕組みであるRelStorageに関してです。

Plone標準ではZODBという仕組みでData.fsという単一のファイルにデータを書き込みそれを用いるようになっています(Plone 4からは画像、ファイルなどをBLOBストレージに保存するようになりました⁠⁠。データの保存先としてRDBに保存することも選択肢として使えるようになるのが、このRelStorageです。

Calvin Hendryx-Parker氏
Calvin Hendryx-Parker氏

Zopeのストレージについて

まず前提となるストレージの種類の簡単な用語の説明がありました。

  • ZODB:Plone(Zope)に標準で付属している、オブジェクト型データベースのパッケージです。ファイルストレージであるData.fsとBLOBストレージをサポートしています。
  • ファイルストレージ:ZODBのオブジェクトが保存されるData.fsファイルのことを示しています。起動時にメモリにインデックス情報が読み込まれます。
  • RelStorage:ZODBのデータ保存先をRDBにするというものです。今回のセッションテーマです。ファイルストレージ(Data.fs)の代わりに使用します。

RelStorageとは

簡単に言うと、ZODBパッケージにパッチを当てて、ファイルストレージであるData.fsを使わずに、RDBにオブジェクトをpickle化(Pythonのオブジェクトをシリアライズ化)して保存する仕組みです。

RelStorageを使用するメリットとして、RDBを使用することで既存のインフラや経験、RDB用のツールを使用できることが挙げられました。また、クラスター構成によるハイパフォーマンス対応もメリットの一つです。さらに、Data.fsを使用するのに比べて、検索インデックスをメモリ上に展開する必要がないため、メモリの消費量を抑えられてPloneの起動時間が短くなるということも利点として述べられました。

対応するRDBとしてはMySQやPostgreSQL、Oracleがあげられていました。インストール方法も簡単で、Plone標準でも用いられている、buildoutを使用してインストールを行います。プレゼンテーション資料に設定ファイルの例も記述されていましたので参考にしてください。

運用している途中で標準のファイルストレージからRelStorageに変更することも可能で、データ変換のためのzodbconvertというコマンドが用意されています。また、zodbconvertを使用することにより、MySQLからOracleにRDBを変更することも可能です(面白いですね⁠⁠。

RelStorageの注意点

ここまで聞くといいことずくめのように聞こえるRelStorageですが、気をつけるべき点もあります。それは、データベースシステムを別に準備することになり、システム全体がより複雑になることです。また、設定、チューニングやコンテンツの種類、分量によっては、サーバロードが増える場合やメモリを大量消費する場合もあるとのことです。

RDB内にコンテンツは保存されていますが、テキストデータではなくpickleされたデータなので直接は扱いにくいです。zodbpackコマンドによりZODBのパック(古い差分を削除してサイズを小さくする)作業も今まで通り必要になります。

RelStorageのデモ

ここで実際に2台のRDBサーバーを立ち上げ、障害によるデータベースの切り替えが発生した状態で問題なくコンテンツにアクセスできるデモが行われました。

寺田さん自身一度は試してみる価値がある仕組みだと感じたそうです。しかし使いどころは注意しないと構成を複雑にするだけで良さが出ないとも感じたようです。テーブル構造などがどうなっているのかなど、実際に試してみないと分からない部分が疑問として残ったようですので、ぜひ試してみて詳細をどこかで発表してもらいたいと思います。

ライトニングトーク

カンファレンス2日目の最後は日本の技術系イベントでもおなじみのライトニングトークです。15人以上がエントリーしており、時間がぜんぜ足りなくなりそうでした。ライトニングトークは数が多いので簡単にレポートします。

ビデオでは全ライトニングトークが一つにまとまっているので、自分が必要なところだけ見るのがなかなか大変です。タイトルの横にビデオの開始時間の目安を入れておきました。

ライトニングトークのエントリーシート
ライトニングトークのエントリーシート

Dexterity new edition demo(00:00~)

David Grick氏による、Dexterityを使用してコンテンツを作成するデモです。コンテンツを作成するとZMI(Zope管理画面)上でXMLで定義されたschema(コンテンツの定義)が確認でき、そのXMLファイルをエクスポート、インポートして再利用できます。Dexterityが1年前より進化している印象を受けました。

Monitcall: preventing process deadlocks(04:45~)

Plone 3 Multimediaの著者でもあるTom Gross氏による、monitcallというデッドロックを見つけるためのスクリプトの紹介です。

Diazo in Action(09:40~)

Denys Mishunov氏による、Bergen Public LibraryのシンプルなサイトをDiazoを使用してリッチな見た目のサイトに変換した事例の紹介です。書籍の検索、一覧、結果ページをシンプルなものから統一的なきれいなデザインにDiazoを使って変更したそうです。

Plone schema and data using SQLAlchemy(15:20~)

Marco Martimez、Davit Mote氏の発表は、スライドがありませんでした。大学のサイト作成し、そこでPostgreSQLに入っているデータをSQLAlchemyで取り出してPloneで参照できるようにしたことが発表されました。

collective.transcode.star(21:20~)

collective.transcode.starはアップロードされたビデオをWebサイトで扱いやすい形式に変換するプロダクトです。Dmitris Maraitis氏によるデモでは、動画ファイルをアップロードするとH.264に変換し、Flashプレーヤーで参照していることが語られました(スライド:Transcode star⁠。今後はより多くのフォーマットへの対応と、HTML5のvideoタグへの対応を考えているそうです。

Products.LongRequestLogger(28:20~)

Leonardo Rochael氏による、Products.LongRequestLoggerというログファイルにスタックトレースを出力するプロダクトの紹介です。

bda.plone.finder(34:40~)

Jens Klein氏による、bda.plone.finderというMacのFinderのようなユーザーインタフェースでPloneコンテンツの操作ができるプロダクトの紹介です。コンテンツのコピー&ペーストだけでなくワークフローの状態変更や新規コンテンツ作成もできます。慣れの問題かもしれませんが、個人的には見た目には面白いけど、それほど使いやすそうな印象は受けませんでした。

bpa.plone.finderでコンテンツの操作
bpa.plone.finderでコンテンツの操作

Image transformations in Plone 4.1(38:20~)

Ploneサイト上の画像処理の今後について、範囲指定しての切り取りやグレースケール変換などができるようにしては?という、Harald Friessnegger氏の提案の説明でした(スライド:image transformations in plone 4.1⁠。PLIP#10174として提出しているそうです。考え方は面白いですがユーザにどのように画像処理を指定させるのかなかなか難しいと思いました。

Web based IRC chat in Plone(44:30~)

Roel Bruggink氏による、Javascript + Websocketで実装したPlone上で動作するIRC Clientの紹介です。システムそのものよりも、チャットのデモではIRCチャンネル上で、参加者がこぞって「お前のビールは俺のものだ」みたいな書き込みをしていたことでウケていました。こういうノリは世界共通ですね。

ALL OF YOUR BEER ARE BELONG TO US
ALL OF YOUR BEER ARE BELONG TO US

German Plone User Guide(48:20~)

ドイツで作成しているPloneユーザーガイドの紹介です。Sphinxで記述しており、HTML、PDF、eBookバージョンがあるそうです。コードはLaunchpadのCode : Plone-Benutzerhandbuchで管理しているそうです。読みたいと思いましたが、ドイツ語なので筆者には難しそうです。

collective.vdexvocabulary(52:00~)

Rok Garbas氏による、IMS VDEXという語彙の定義を利用してPloneのボキャブラリとして使用するプロダクトcollective.vdexvocabularyの紹介です。collective.elephantvocabularyというのもあるそうです(すいません、いまいち理解できませんでした⁠⁠。

Plonk(56:20~)

Dylan Jay氏による、PlonkというPloneのホスティングシステムの紹介です。Ploneのバージョンやクラウド環境などを選択してインスタンスを作成できます。

Ploneインスタンスの作成画面
Ploneインスタンスの作成画面

Plone sites in Japan and Double byte Problem(59:10 ~)

このレポートでも協力してもらっている寺田さんがライトニングトークで発表をしました(スライド:Double byte problems ⁠CJK)⁠。内容は日本でのPloneサイトの事例紹介と、Ploneでの2バイト文字の扱いに関する問題の説明です。

ネタとして昨日の誕生日ケーキとの写真が映し出されたところ、会場から拍手の嵐が沸き起こりました。みなさんノリがいいですね。ここだけの話「誕生日の写真が出たら拍手してね」とお願いされていたんですが、そんなサクラ行為をする必要もなく盛り上がりました。

Bristolで40歳になった寺田さん
Bristolで40歳になった寺田さん
寺田さん
寺田さん

肝心の発表は寺田さんの会社の事例として、以下のサイト制作を紹介しました。

Tokyo FoundationはPlone 4だそうです。2バイト言語の検索対応などのPlone 4に対する成果報告と、まだいくつか問題が残っていることを説明していました。

英語での発表ということで本人はかなり緊張していたようですが、つかみはバッチリでしたし、言いたいことは言えていたので非常によかったと思います。

DZUG Brochure 2010(61:40~)

ドイツのZopeユーザ会が作成しているパンフレットの紹介です。今年は28ページA4フルカラーで作成しており、デザインにもかなり凝っているようです。ZopeだけでなくBlueBreamBFGについても記載しているそうです。Zopeに関連するドイツの会社がたくさん載っていました。このパンフレットは2010年末に4ヶ国語でリリース予定だそうです。ドイツのユーザー会はすごいですね。

Zope Brochureのイメージ
画像

Plone Tune-Ups FTW!(66:50~)

Plone Tune-Upというデバッグイベントの紹介です。Plone Tune-Upは2008年7月にはじまり、毎月第3金曜日にネット上で開催されています。参加すると技術力が上がります。いままで302のチケットを閉じてきました。みんな参加してね!とのことです。すばらしい成果ですね。

Plone Foundation AGM

ここまででカンファレンスの2日目は基本的に終わりですが、カンファレンス終了後にPlone FoundationのAGM(Annual General Meeting: 年次総会)が開催されました。Foundationメンバー以外は発言できませんが見学は自由とのことなので、後ろの方から見物していました。

Plone Foundationのミーティング風景
Plone Foundationのミーティング風景

内容としては最初に新しいFoundationメンバーの紹介をして、その後は一年間に実施した成果報告がありました。主な内容としてはイベントの出展や、Plone関連イベントへのスポンサーなどのようです。また、この日の22時までに次のボード(理事会)メンバーの投票があるので忘れないようにとのアナウンスで会は終了しました。

投票の結果Plone Foundation Board Election Resultsにあるように7名のボードメンバーが選出されたようです。

Beer & Pie Festival

カンファレンス2日目の夜は、参加者が一同に介するパーティが開催されました。Plone Conferenceではイベント公式のパーティになります。入り口で強面のガードマンにバッジを見せ、ドリンクの引換券を2枚もらって会場に入ります。あとは引換券と交換に好きな飲み物(筆者は当然ビール)を受け取る形式です。

パーティの様子
パーティの様子

「Beer & Pie Festival」ということで食べ物はパイしかありません。パイの配給が始まると長蛇の列ができていました。パイは確かビーフとチキンの2種類から選んだような気がします。Pieministerというお店のパイが一人に一つずつ配られました。⁠こんなパイ1つでは、あとでお腹が減るよ」と思っていたのですが、意外にパイとその上に乗っているマッシュポテトがお腹に溜まり、ビール2杯(2パイント)とパイだけでお腹がきつくなりました。ドリンク引換券を他の人からもらったんですが、とても3杯目にいけるようなお腹の余裕はなく、他の人に券をあげて早々にパーティ会場を後にしました。

主催者のブログPlone Conference 2010 WrapupによるとAM2時にこの会場を後にして、次の店でさらに飲んでいたとのことです。みなさんタフすぎます。

バンド演奏も行われた
バンド演奏も行われた

(3日目につづく)

おすすめ記事

記事・ニュース一覧