plone プロダクトの開発時には plone.reload を使おう
今日は (第6回)Zope/Plone開発勉強会 に来て plone プロダクトの開発をしていんるですが、相変わらずうまくいきません...
で、開発している中でコード修正→テスト用サーバで確認という流れが結構面倒なんですけど、そのあたりをちょこっとだけ楽にしてくれるプロダクトがあるようなので、その紹介をしようと想います。
デバッグモード
まず、開発をするときには zope サーバをデバッグモードで起動すると思います。
デバッグモードは buildout.cfg の中に debug-mode = on と記載して bin/buildout するとそのあとはデバッグモードになります。
または、 bin/instance fg としてもデバッグモードで起動します。
デバッグモードでは skins フォルダにある *.pt ファイルと *.py ファイルは自動的に再読み込みしてくれますが、プロダクトの中にある *.py ファイルは再読み込みしてくれません。
CSS と JavaScript のデバッグモード
CSS と JavaScript は独自のデバッグモードがあるので、このあたりを頻繁にいじりたい場合は、 ZMI で portal_css や portal_javascripts を開いて Debug mode のチェックボックスをオンにする必要があります。
plone 4 から?はサーバをデバッグモードにすると、この2つのツールも自動でデバッグモードになるらしいです。
ZMI の Refresh タブ
plone 2.5系でプロダクトを作成しているときに、書き換えたコードを再読み込みするためには、 ZMI の Refresh タブを使ってました。
プロダクトのルートディレクトリに中身が空の refresh.txt というファイルを作ると、このタブが有効になります。
ZMI で Control_Panels/Products を開き、自分が開発するプロダクトを選択します。そこで Refresh タブを開きます。
再読み込みさせたい場合は Refresh this product ボタンを押すと、コードの再読み込みが実行されます。 コードに syntax エラーとかがある場合は、エラーが画面上に表示されるのでわかりやすいです。
plone.reload
いままでは Refresh タブで良かったんですが、plone 3系から使われるようになった ZCML を再読み込みすることができません。
ZCML は XML 形式の設定ファイルで「ここから読み込んでね~」みたいなこととかが書いてあるので、開発中に書き換えることは普通にありますが、再読み込みさせるためにはサーバを起動するしかありませんでした。
そこで、 plone.reload というプロダクトを使います。
plone.reload がインストールされているサーバで http://localhost:8080/@@reload というURLにアクセスすると、再読み込みするための画面が表示されます。コードだけを再読み込みするボタンと、コードとZCMLを再読み込みするボタンがあるので、必要に応じて使い分けることが可能です。
plone.reload を有効にするためには、 buildout.cfg に以下のように書いて bin/buildout してください。
eggs =
plone.reload
zcml =
plone.reload
Core Developer はみんな plone.reload 使っているらしいので、みなさんも使ってみよう!!
ってゆーかいいかげん動くプロダクトを作らないとね...
参考: Running Plone — Plone CMS: Open Source Content Management
ところで、ZCML ってなんの略なんだろう?
- カテゴリ
-
plone
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/1189/tbping
鈴木たかのりです。とりあえず日記っぽく雑多なことを書き込んでいこうと思っています。
zope/plone関係の技術的な内容については