現在位置: ホーム ブログ Plone Conference 2009 の報告(2)
ブログ

Plone Conference 2009 の報告(2)

Ploneカンファレンス メイン3日間の後、恒例のSprint(スプリント)が行われました。

今年は、朝全員が集合し、LimiからのWishリストの発表があり(その中ではUnicodeに関するテストは必ず入れようというような発言もありました)、その後皆がどこに参加するかを、この指止まれ方式で決めていました。

私は、前々日の夜にフレームワークチーム(FWT)の一人(David Glick氏)に、日本語でユーザ登録した祭のメールバグについて、相談していたのでその関係でPlone4関連の部屋へ行くことにしました。

Plone4関連では、コア部分を開発している少数陣営と、プロダクトをPlone4に対応させようとするチームなどに分かれていました。

先に書いた、メールのバグについては、前日に話をした方とは別のFWTの方(Alec Mitchell氏)が、話を聞きつけバグトラッカーに上がっていたチケットを見て、修正してくれていました。さすがにやるときは早いですね。修正をみて、あの手が合ったのかと別の方法を模索してはまっていた自分が少し情けなくなりました。それでも感激でした。(このバグ修正はPlone4から適用なのですが、Plone3版のパッチを作ろうと思っています)


メールに関するバグは解消しましたが、大物のDiffTool関連のバグについてを先ほどメールに関して修正してくれた、Alecと一緒に確認することにしました。

このバグも、以前にバグトラッカーにチケットを上げていましたが、Alecには私の修正がおかしいととらえられていたようで、そのままになっていました。

作業としては、当社の中西と一緒に実際にバグが出る状況を見せて、その後彼の環境に日本語をコピペで入れて、エラーが起こることを認識してもらいました。(1行の文字数がある程度無いとエラーにならない。状況は以前のエントリを参照してください。)

結論からすると、私が直した方法では、Python2.4を使っているとUnicodedecodeErrorになると言うことで食い違っていました。このエラー解消には、setdefaultencodingをutf-8にすることで解消はできますが、ハック的なのでPlone本体には組み込んでもらえません。ただPlone4からはPython2.5, 2.6を使うことになるので、組み込むことが可能となり修正してもらえました。

もともとの問題は、Diffを作る部分でPython標準ライブラリの、difflibを使っているのですが、その内部で、cStringIOが用いられています。そのStringIOにUnicodeオブジェクトを出し入れすると暗黙的にDefaultEncodingでデコードしてしまうという問題がPython2.5まで抱えたいたようです。(このスレッドから始まるMLなどが有りました)

いずれにしても、Unicode化しからDiffを作ることが出来るようになり、これも解決になりました。


他にも、WorkingCopyの問題点にいて話しを聞いてもらったり、コピー&ペーストについての意見交換ができました。(考え方はいろいろと有りますね)

最後に代表者の発表があり、AlecはDiffToolのバグ解消について、我々と一緒に解決したことを発表してくれました。その前後では、UbuntuへのPlone4のインストールをお手伝いしたり、他の話を聞いたりして発表終了と同時に帰りました。(帰り掛けに2時間だけブダペスト観光が出来ました)


翌日は、FWTのDavid氏に、ATリファレンス関係の話を聞いてもらい、Dexterityとの対比などを簡単に教えてもらいました。(具体的にはまだその部分の実装は出来てないみたい)

さらに、カンファレンスからスプリントに掛けて、Andreas Zeidler氏には、昨年に引き続きいろいろとお世話になりました。彼は、BLOBやIndex関係のプロダクトをたくさん作っているドイツ人です。今度、日本の仕事でサポートをお願いすることも約束してきました。


昨年は、検索を中心にスプリントにでて、FWTというよりリリースマネージャーやファンデーションボードメンバー(またはそれに近い方々)にお世話になりました。今年は一歩踏み込み、実際にコードをたくさんコミットしている方々と一緒に(傍らで)出来たことは非常に良かったですし勉強になりました。さらに言うと、普段私たちが行っているデバックと同じようなことを同じように悩んでやっているのを見て、自分たちのやり方がそれほど違わないのだなと感じました。

comments powered by Disqus