Plone Conference 2010参加レポート

Plone Conference 2010 Day 2

この記事を読むのに必要な時間:およそ 9 分

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自身に問題があるかも知れないという結論になりました。この問題はカンファレンス中に寺田さんが調査することになりました(そして,スプリントでの寺田さんの開発ネタの一つとなりました)⁠

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

この日のランチのデザートは山盛りになったシュークリーム

著者プロフィール

鈴木たかのり(すずきたかのり)

BeProud 所属。

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。最近miniじゃなくなりつつあるPython mini Hack-a-thonの主催者の一人でもある。

趣味は吹奏楽とレゴとペンシルパズル。2012年の目標は9月にオープンするマレーシアのレゴランドに行くこと。写真はうちのフェレットくろちゃんとくりちゃんです。

Twitter: @takanory
ブログ: http://takanory.net/takalog/