Zope: 2.12に乗り換え/ Five Productをupdate
このお盆はFiveのProductをupdateしてました. \ Zope2.12.2/10,2.13.0a2/0a3でいろいろ違いがあったので \ メモしておきます.
ZODBが壊れました... \ 復旧したけど1日潰れた...
Zope2.12乗り換え
Five product
Zope2.12 乗換え
ubuntuを新しくinstallしたものの Fedoraでは手間暇かけて整備したZope環境を一から 作る気にならず.
python2.6で動くZope2.12を検討し始めました.
母艦動かせば特に問題はないんですけど... この機会にZope2.12にいってみようかと.
GlobalModules
bad K/H?
しかしこれが動かないと自作のPythonScriptが なんにも動かなくなるので...
Fiveに乗り換えればなんとかなるんでしょうが, 結構たくさんコードがあって, そんなのんびりコンバートばっかりしたくはないんです.
- __init__.py:
-
-= encoding=utf-8 =-追記
- ZSCFile2:
JTracker
- JTracker:
-
package_home -> App.Common
- JTracker:
-
-> Persistance
- JTrackerIssue:
-
package_home -> App.Common
kmemo2
開発中なんですが, なぜか動きません. Unauthorized instanceになります. なんでかな...
私のProductはいろいろ動かなくなりました...
------------- ---- ------------------------------------------------------------ Zope 動作 ============= ==== ============================================================ Zope2.10 ○ 動かなくなりました... ;( よくわからないので検証中 Zope2.12.2 × PageTemplateのmetal-useが動きません, なんでだ. Zope2.12.10 × Zope2.13.0a2 △ configure.zcml修正/unicodeの扱いを修正 Zope2.13.0a3 △ ------------- ---- ------------------------------------------------------------
2.13はまだ早いかと思ったんですが, \ metal-useが動かないのが面倒だったんで \ 2.13にチャレンジ.
2.13でのFive Product変更点
configure.zcmlに <include package="zope.browsercontaner"> を追加
configure.zcmlでIAddのパスを IAdd->IAdd に変更
Unicode関係
Unicode関係はpython2.4->2.6も関係してそうです. \ メモとして書いてますが, Zopeとは関係ないかもしれません.
1 configure.zcmlに <include package="zope.browsercontaner"> を追加
2.13から browser:resource に関連するオブジェクトに アクセスすると ComponentLocationError がでてしまいました.
ググって見るとあまり参考になるものはなかったのですが...
とりあえずbrowserresourceがOFSに移動したというのが わかりましたので include してみました.
仕組みもよくわかってないのでかなり当てずっぽうです.
これで動作し始めます. よかったよかった. \ ちなみにこの問題で3時間程度消費...
2 unicodeの扱いがいろいろ変わってる?
この部分はpython2.4->2.6への移項で変わった部分のようです. \ ただ, ZMI(manage_propertiesForm)でも文字化けしてるんですが...
Productでの情報取り出しは問題ないです.
メモとしてやったことを箇条書します.
-
DTMLMethodを私は多用してます. コード中で
manage_edit( source, title )
と, titleをunicodeで渡していましたが2.13でダメになりました.
manage_edit( source, title.encode( "utf-8" ) )
これで一応通ってます. manage_edit内の330行
str( title )
という一行が気にはなりましたが... (ちなみに2.10から変わってない部分です)
manage_editですが, dataの方もUTF-8にencodeしてからでないと ZMIから参照できなくなりました...
manage_editPropertiesもencodeしないとだめっぽいです.
-
requestの内容をencodingしてませんでした. \ なんでこれが通ってたのかは不明ですが...
request.get( "abc", "" ) == u"なんたら"
encodingしてあげて回避です
enc = lambda x: unicode( x, context.management_page_charset ) enc( request.get( "abc", "" ) ) == u"なんたら"
これはちゃんとエラーが見えるようになったのでよかったよかった.
今回はここまで
せっかくお盆明けから稼働! と思ってたんですが, \ 家PC->Note->家PCと環境を移していると \ いろいろ問題がでて会社PCまでもっていけませんでした.
なんとか今週中に稼働できれば...と思うんですが...
Fedora16にZopeを設定する
<span class="small">(up:2012/03/20 16:25:42)</span><br> systemdになったので/etc/init.dに置いていた Zopeを起動するスクリプトが動かなくなりました.
Fedora16でZopeをサービスに登録する 私なりに成功した方法を記して置きます.
コメント
Comments powered by Disqus