SSブログ

Python Page オブジェクト [Zope 3]

ZopeX3-3.0.0 のリリースには、Zope2 の Python Script に相当する
機能は搭載されなかったが、現在の svn のものでは
「Python Page」オブジェクトというのが使えるようになっている。

print "Hello world"
print request


と書いて Add して Preview すると 「Hello world」 と、request の
内容が表示される。これだけできると、SQL Scriptと併せて
Zope3 でもいろいろできそう。

ついでに、

print context.title


と書いて Add して Preview すると
「 A system error occurred.」と出て、Error ログを見ると

AttributeError: 'Folder' object has no attribute 'title'


となっていた。
なんか間違っているようだが、獲得はしようとしてるみたい。

現状 Zope3Book でも Python Page に対するページがないが、参考にするドキュメントとして
どこをみれば良いのだろう。


ZopeTop skin [Zope 3]

Zope 3 で、 http://localhost:8080/ にアクセスすると、トップの画面が現れるが
http://localhost:8080/++skin++ZopeTop/
で、内容は同じだが skin の異なる画面が見られる。

svn で取ってきたソースの src/zope/app/zopetop の中にソースがあるみたい。
(普通の skin のソースは src/zope/app/basicskin にあるやつかなぁ・・・)

URLの途中に ++skin++ なんてついていては、かっこ悪いと思うが
これは、どうせ手前にリバースプロキシを置くので、そこで変換すれば良いということなのだろう


Zope3 の Wiki [Zope 3]

Subversion の Zope3 をチェックアウトして動かしてみる。
ここ↓で書かれているように、ロケールを見るようになっていた。
http://www.python.jp/pipermail/python-ml-jp/2005-March/003222.html
http://www.python.jp/pipermail/python-ml-jp/2005-March/003225.html
EUC-JP を理解できる Codecs を入れればいいのかもしれないけど、
サーバーが特定のロケールに依存するのっておかしい気がするので、

$ LANG=C python z3.py


と、C ロケールで動かしてみる。

ブラウザで見ると、Wikiが使える状態になっていた。

ZopeX3 を tarball からインストールした場合は、以下を参照
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/installpackages.html

Wikiになんか書いてみようとおもったが、日本語を入力しようとすると、unicode文字列 を str() で
文字列にしているところでエラーになる。
/usr/lib/python2.3/site.py の

encoding = "ascii"


となっているところを

encoding = "utf-8"

に変更したところ一応動いているみたい。


Zope 3 復習 [Zope 3]

Zope 3 の勉強会をしようという機運が高まっている
http://www.python.jp/pipermail/python-ml-jp/2005-March/thread.html#3209

Rob Page のプレゼンで Zope 3 の事例が紹介されるらしい
http://ml.zope.jp/pipermail/zope-users/2005-March/005280.html
(ZopeX3 ってそんなに使える状態になっているんだろうか)

少し前に ZopeX3 をインストールしてみて、後でまとめとこうと思っていたのが、
それっきりになっているので、とりあえず、思い出そうとして検索してみる。

ZenKai
http://zenkai.atransia.co.jp/blog/61

象歩
http://owa.as.wakwak.ne.jp/zope/labs/bbs/230/43
http://owa.as.wakwak.ne.jp/zope/coreblog/107
http://owa.as.wakwak.ne.jp/zope/3

Zopeメモ ML
http://www.freeml.com/message/zope-memo@freeml.com/0000727
http://www.freeml.com/message/zope-memo@freeml.com/0000728
http://www.freeml.com/message/zope-memo@freeml.com/0000729
http://www.freeml.com/message/zope-memo@freeml.com/0000730
http://www.freeml.com/message/zope-memo@freeml.com/0000732

Something Red
http://somethingred.dip.jp/blog/268

Days of Liris
http://www.liris.org/blog/434

--- 以下英語での情報 ---

Zope3 の情報の総本山(まずは、こっから辿って調べるのが良さそう)
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage

Zope3Book
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage/Zope3Book
これを書籍化したのが、これ↓みたい
http://www.amazon.co.jp/exec/obidos/ASIN/0672326175
(Web版の方が追加されている章があったりするので注意)

Web Component Development With Zope 3
http://www.amazon.co.jp/exec/obidos/ASIN/3540223592
この本に関するインタビューがここ↓から辿れる
http://www.zope.org/Members/nuxeo/news/philikon-itw
ところで、この本はドイツで出ているけど英語なんだろうか?

--- なんとなく、覚えていること ---
ZopeX3-3.0.0 には、これから実装される予定の重要な機能が実装されていない
ZopeX3-3.0.0 は、Buggy
ZopeX3-3.0.0 がリリースされてから随分時間が経っている
ということから、リリースされている tarball をインストールするより
Subversion から取ってきたほうが良さそうな気がする
http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/SettingUpAZope3Sandbox
以下、svn から ZopeX3 のソースを取ってきて動かす方法
#記憶だけで書いているので間違っているかも

$ svn co svn://svn.zope.org/repos/main/Zope3/trunk Zope3
$ cd Zope3
$ make


でコンパイルできる。
システムに複数のバージョンの Python がインストールされていて、
こっちの Python でインストールしたという場合は、make の代わりに

  /usr/local/bin/python2.4 setup.py -q build_ext -i


という感じで、実行する。

次に、sample_principals.zcml を参考に principals.zcml を書いて

python z3.py


を実行すると http://localhost:8080/ で ZopeX3 の画面が出る

リリースされている tarball からのインストールは、
http://www.freeml.com/message/zope-memo@freeml.com/0000727
http://zenkai.atransia.co.jp/blog/61
のあたりを参照