Personal tools

PlacelessTranslationService(PTS)

いかん,はやくプールに行かなくちゃ。

が,その前に深く潜って調べてみた。 MLowaさん に報告いただいた現象だと思われる。

[現象]

ZMILocalizerで置換したdtml-translateタグをレンダリング中に,PTSが見つからなくてエラーになる。

以下のときにエラーが出る。

  • キャッシュをクリアしたとき
  • アクセスの多いサイトでキャッシュ中のオブジェクトが頻繁に追い出されるとき

dtml-translateタグで国際化メッセージをレンダリングしようとするとき,globalとして登録されているPTSのインスタンスを取得して置換を行う。PTSのインスタンスがキャッシュから追い出されるようなシチュエーションでエラーが起こる(ように考えられる)。

ZPTベースの国際化ではこの現象は起こらない。PlacelessTranslationService.PTSWrapperが,必要に応じてPTSのインスタンスを読み込むようになっているからである。

[対策]

PTSを直してもらう。dtml-translateでもWrapperを使うようにする。方法を提示しないと直してくれないだろうな。

あるいはZMILocalizer側でパッチをあてる。

ここにも困っている人がいるので,PTS自体を変えてもらうのがいいんだろうな。

http://zwiki.org/834PTSGivesRuntimeErrorZODBShouldntLoadStateForDuringAddWiki

Category(s)
zope
The URL to Trackback this entry is:
http://coreblog.org/ats/506/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author


atsこと柴田淳です。Atsushiはガイジンにうまく発音して頂けないので,これからはJunというペンネームで行こうと思っていましたがあんまり使ってません。
Webcore株式会社 代表取締役
■TRIVIAL TECHNOLOGIES 2.0
トリビアル・テクノロジー 2.0,「トリテク 2.0」と呼んでください。
Blog(ブログ)サイトです。Plone上で動く,オープンソースのBlog Product - COREBlog2を使っています。
 
最近書いた本,Mook
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
みんなのPython
Pythonの入門書です。基本的なことから分かりやすく解説するよう勤めました。Pythonをはじめたいと思っている人,JavaやC++,PerlやRubyを学ぼうと思って躓いてしまった人はぜひ読んで下さい。
 

Powered by Plone, the Open Source Content Management System