Zopeプロダクト開発メモ
zope product 開発の備忘録
このまま記事を入力し[投稿する]ボタンを押せば当サイトに送信されます。
以下の文章は注意書きです。
名前はかならず記入してください。ハンドルネームでも構いません。
またパスワードを入力することをお勧めします。
その場合他人による *なりすまし* と区別出来るかもしれません。
さらにブラウザでクッキーを有効に設定してある場合あなたの記事は後で修正可能になります。
コメントスパム防止のため記事の内容を機械的にモデレート
(スパムである確率を計算)
する処理を通します。
どのような投稿であれ、たまたま計算誤差によりスパムとみなされ
秘密の場所
に収納される可能性があります。
その場合、管理人が手作業で正規の場所に移動しますのでお待ちください。
全3件 -
01
-
3
owa
2004/09/15 23:13
id: mJs8kxp1Zus
prob: 0.0%
-
-
プロダクトを開発する場合、普段使っている user で zope を立ち上げた方がなにかと便利です。という理由で新規に zope インスタンスを追加してみました。
普通にログインした後
$ /usr/lib/zope/bin/mkzopeinstance.py -d Zope -u <username>:<password>
これで ~/Zope の下に zope サーバ環境が一式まるごとできあがります。
~/Zope/etc/zope.conf を適当に(port番号とか)修正したあと
$ ~/Zope/bin/runzope
で zope を立ち上げます。
こういうことを(なぜ)今まで試さなかったのが不思議。これでパーミッションやらシェル環境やら普段の開発環境のままで試せます。いらなくなったら Zope ディレクトリごと削除してしまうだけ。
追記: ZopeX3 の場合は ".py" がいらない
$ /usr/lib/zope/bin/mkzopeinstance -d Zope -u <username>:<password>
-
2
owa
2004/01/26 10:26
id: mJs8kxp1Zus
prob: 0.2%
-
-
デバッグ用ログの出し方ですが、知らなかったので備忘録;;
プロダクトのクラスの先頭に
from zLOG import LOG, INFO
と書いて置いて、後はすきな場所で
LOG('HogeClass:', INFO, '知りたい値')
などと呼び出せば zope のログにタイミング良く出力されます。
詳細は zope/lib/python/zLOG/MinimalLogger.py 見れば良さそう。
-
1
owa
2004/01/26 10:26
id: mJs8kxp1Zus
prob: 0.0%
-
-
プロダクトインターフェース作っていて、やっと分かったこと。
一番は自分が何もしらなかったこと。やっぱりいろんなプロダクトの UI ってのはみんな苦労して作ったんだなといまさらながら思います。
データの持ち方で少しだけ分かったことですが (鯖側の場合)
REQUEST.form -- 基本的にはこれでクライアントからの情報を取り込む
REQUEST.set() -- manage_hoge.dtml に情報を送る(追加する)
REQUEST.SESSION -- 本来クライアント情報を持つべきものかもしれないが、REQUEST
に保持できない場合(dtmlの中のリンクの先など)に利用させてもらう(邪道かな?)
オブジェクトの揮発属性(self._v_hoge)は zope オブジェクト生成時に __set_state__()
で一回だけ設定されるようにすること。つまり読み込み専用。書き込んでしまうと
zope のキャッシュ処理の関係で分けのわからないことになる。
というわけでやっとブラウザの「元に戻る」ボタンにも、なんとなく対応できたようです。それはこちらの話...
|