ZopeX3のZMIで遊ぶ
ZopeX3 インストールしたのは良いけど迷子の気分です。
まずは遊びのつもりでいじってみました。
ドキュメントは
ZopeX3 Book
が良さそうです。他には見付けられませんでした。
とりあえず
http://localhost:9080/manage
で入り、左側に見えるコンテンツタイプを add すれば、
Zope2 のように DTML や ZPT は作れます。
(
zope.conf で HTTP ポートを 9080 に設定しました。インストール等については
BBS
を参照下さい
)
index.html を作り、ブラウザで
http://localhost:9080/
を見ると、
http://localhost:9080/index.html
に飛びます。(index_html では無い!)
使い方は
The new Web-based User Interface が参考になりました。
PDF もあります。
Zope3 ではコンテンツとロジックを分離して、
"Content Space" と "Software Space" から構成されるようになったそうです。
"Content Space" には単純な DTML や ZPT が置かれます。
すべての Site オブジェクトは一個の "Software Space" を持ちます。
たとえば root フォルダは常に Site オブジェクトです。
folder オブジェクトを作り "Make a site" アクションタグをクリックすれば、
新しいサイトができます。
メンバの管理は
Securing Components
PDF
に説明がありました。
メンバの追加は ~/Zope3/etc/principals.zcml に追加するのだそうです。
たとえば、
...
<principal
id="zope.member"
title="Member A"
login="alice"
password="king"
/>
<grant
role="zope.Member"
principal="zope.member"
/>
...
と新規メンバを追加して ZopeX3 を再起動。
manage 画面でサイト (folder) を選択。
"Grant" タグをクリック →
"Grant roles to principals" をクリックすると、
[Filter] ボタンをクリックすると、
などという画面になります。
まあこの辺が最初のツボなのかと思ってます。
間違いがあるかもしれないので信用しないでください。
分からないことばかりですが、
いろいろ遊べそうな予感はします、それではまた何時れ。
ZopeX3のZMIで遊ぶ(2)
SQL Script 作成
データベース (PostgreSQL) への接続と 'SQL Script' の作成をしてみました。
上は、このサイトの BBS から最新記事を抽出した時の画面です。
Zopeメモを参考にしました。
先に
psycopg
を pythonにインストールした後、
$ cd ${zope-instance}/lib/python
$ svn co svn://svn.zope.org/repos/main/psycopgda/trunk psycopgda
$ cp psycopgda/psycopg-configure.zcml ../../etc/package-includes
$ ${zope-instance}/bin/runzope
PsycopgDA (PostgreSQL の DB アダプタ) をインストールし、
ZopeX3 をリスタートします。
これで PsycopgDA が使えるようになってるはずです。
試してみたところ 'SQL Script' の実行まではうまくいきました。
当初、検索結果に日本語が入ると Zope エラーになってましたが、
python の default encoding を utf-8 で初期化することで
解決
しました。
ZMI で [Manage Site] → [Tools] → [Database Adaptor] と選択し、
[Add] ボタンをクリックすると下記画面が現れます。
Psycopg DA をチェックし、
[Add] ボタンをクリックすると DSN 入力画面になります。
書式は ${zope3-source}/lib/python/zope/app/rdb/__init__.py の中に、
dbi://dbname
dbi://dbname;param1=value...
dbi://user:passwd/dbname
dbi://user:passwd/dbname;param1=value...
dbi://user:passwd@host:port/dbname
dbi://user:passwd@host:port/dbname;param1=value...
とありました。うまく接続できると、ここで SQL のテストができます。
DB に接続できることを確認したら、
'SQL Script' を作ります。
Script 作成後 [Add] ボタンを押せば、ここでもテストができます。
テストの実行結果 (成功例)
エラーになった場合は [Errors] タグをクリックすると履歴が表示されます。
さらに Exception の下のリンクをクリックすると、
エラートレースも表示されます。
親切な作りになってると思います。
以下、現時点での勝手な感想です。無知は御容赦ください。
- cvs から subversion へ世の中変わった。
- ZMI はかなり使い易くなったようだ。
- ZopeX3 のタイムスタンプが時々へんかもしれない。
ZopeX3のZMIで遊ぶ(3)
ZPT Page 作成
'ZPT Page' 作成して表示してみました。
一方 'DTML Page' はうまく作成できませんでした。
<dtml-var "getRecentEntries()">
ですらエラーになります。
今のところ 'ZPT Page' と 'SQL Script' は使えそうですが、'DTML' と 'Python Script' は目途が立ちません。
うちのサイトの場合 Zope2 からの移植は時期尚早のようです。
→ BBS
一応 ZPT ソース晒して置きます。初めて書きました;;
今のうち ZPT に慣れて置くのが賢いかもしれません。