Plone
Dec 09, 2009
Plone-4.0a2をインストールしてみた
動かしてみただけ。
virtualenv上で作業した。
$ virtualenv /var/tmp/python 最初はPlone-4.0a2をダウンロードしてきてsetup.pyを実行してやってみた。インストールはできたみたいなのだが、表示が文字化けとかインストーラがエラー出すとか微妙な挙動。
buildoutの環境を作ることにした。
$ /var/tmp/python/bin/easy_install pastescript $ /var/tmp/python/bin/easy_install ZopeSkel $ /var/tmp/python/bin/easy_install Paste $ /var/tmp/python/bin/paster create -t plone3_buildout
pasterの質問には適宜答える。project nameをplone4、Ploneのバージョンを4.0a2と返答。あとはそれなりに。
plone4というディレクトリができているのでそのなかで環境を構築する。その前にbuildout.cfgを編集して
[buildout]
index = http://pypi.python.jp/ としておくと早いかもしれない。
$ cd /var/tmp/plone4 $ /var/tmp/python/bin/python bootstrap.py $ ./bin/buildout
として
$ ./bin/instance start
あとは http://localhost:8080/ でインストーラで遊ぶ。
Oct 07, 2009
地図のプロダクト導入
Google Maps を使ったプロダクトを導入
collective.portlet.mapとMapsを導入。これでGoogle Mapsと連携していろいろできる。
Oct 06, 2009
OpenIDを使用する
PloneでOpenIDを使用してみる。
livedoorのOpenIDを使ったら普通に入れて問題なし。ただ、Memberロールがないのでコメントがつけられない。それではあんまりうれしくない。OpenIDユーザーにMemberロールが与えられるような設定ができればいいのか?
とまあ、ちらちら見ていたらグループの Logged-in Users に Member ロールを与えればよいということだった。
Ploneのtwitter関係のプロダクト
Ploneで動くtwitter関係のプロダクトをテスト
- collective.twitterportlet ふつーにtwitterの内容をportletで表示する。
-
collective.sylvester twitter dashboardを追加してPlone上でtwitterのクライアントを動かす。日本語が投げられんぞ。
Oct 05, 2009
mechanizeを使ってバッチでユーザー追加
python mechanizeを使ってPloneのユーザーをバッチで追加
ゴミユーザーの整合性を取るためにやったので深く考えていない。大体次のようなコードとなった。
#!/usr/bin/python
import mechanize
br = mechanize.Browser()
br.open("http://localhost:8080/plone/acl_users/source_users/manage_users?adding=1")
br.select_form(nr=1)
br['__ac_name'] = 'admin'
br['__ac_password']= 'secret'
br.submit()
users = ["testuser", "user2", "user3"]
for u in users:
br.open("http://localhost:8080/plone/acl_users/source_users/manage_users?adding=1")
br.select_form(nr=0)
v = u
br['user_id'] = v
br['login_name'] = v
br['password'] = v
br['confirm'] = v
br.submit()
実用性を考えるなら色々工夫してみること。
UnicodeSplitterPatchを入れる
日本語の検索のため。
今Ploneの日本語の検索のスタンダードが何なのか把握できてない。UnicodeSplitterというものが組み込みのSplitterになっているが日本語の検索はいまいちな出来。昔はChasenSplitterとか作ったりしたものだが、UnicodeSplitterPatchというのがあって、デフォルトのUnicodeSplitterから設定を変更することなく日本語の検索ができるようになるものがある。でインストールする。
UnifiedInstellerで入れたとしたらzinstance/src の中にソースを展開すればいい
$ cd src
$ svn co http://svn.plone.org/svn/collective/Products.UnicodeSplitterPatch/trunk Products.UnicodeSplitterPatch
次にbuildout.cfgを設定して eggs と develop に Products.UnicodeSplitterPatch を追加してbuildoutを実行。
次にZMIから portal_catalog の Indexes タブを開く。ZCTextIndex を使っている Index に対してReindex を実行する。それで今まで検索できなかったものが、きちんとひっかかるようになった。
Sep 26, 2009
Plone-3.3.1
Plone-3.3.1に移行をする。Quillsも1.7に移行。
- Unifiedインストーラををダウンロードし、展開。
- ./install.sh standalone --target=/path/to/zinstance を実行して zinstanceを作成する。
- zinstance/var/filestorageにData.fsをコピー
- rsyncでProductsの中身をzinstance/productsにコピーする。
- ./bin/plonectl fg もしくは debug をエラーの出ているproductを消していく。
- 不足分の追加。buildout.cfgに / Products.CacheSetup / Products.Quills / Products.LinguaPlone を追加してbuildoutの実行。ここでもエラーが出たやつを地道に削除。
- portal_migrationの実行。ここまでは楽。
- スキンを一度Defaultに戻す。
- portal_workflowでWeblogEntryを(Default)に変更する。
- portal_quilckinstallerでいろいろupgradeしまくる。
- この段階ではやっぱりQuillsのmigrationがいまくいかない。WeblogArchiveの取り扱いがうまくいってない。ソースのほうをいじってみるしかないのか?なにも表示されてないのはcatalogの問題ではなくて、workflowが全部Draftになっているせいだということはわかった。
- Quills自体のコピーは意味なし。新しいインスタンスを作ってその中にWeblogArchiveをコピーすればmigrationがうまくいくようだ。ただ、コピーする前にtypes.xmlをいじってWeblogArchiveを作成するように設定して、さらにWeblogがWeblogArchiveを含むことを許可するように設定。
- あとは細かいことを調整。
Aug 11, 2009
Plone-3.3rc5
3.3rc4からのupgrade。
3.3rc4からアップグレードするにはbuildout.cfgを編集。
[buildout]
...
extends = http://dist.plone.org/release/3.3rc5/versions.cfg
として bin/buildout -n を実行。
Jul 15, 2009
plone3のportlet
plone3のportletも作る
いままでstaticにzptを書いておけばよかったのが扱いが変わったPlone-3。
- paster -t plone3_portlet takakiweb.portlet.misc
- takakiweb.portlet.misc/takakiweb/portlet/misc の中にあるptファイルを編集。これだけで単純なスタティックなportletは動く。
- buildoutの使い方は別の記事を参考に。
plone-3.3でviewletのカスタマイズ
Ploneの3.xではviewletを使って表示をカスタマイズ。
これを見てそのままやればよい。簡単。
Jun 10, 2009
plone3のtheme
plone3のthemeの作成
- zc.buildoutを使うことにする
- easy_installでZopeSkelをインストール
- paster create -t plone3_theme takakiweb.theme を実行
- package名と実際のパスを合わせないとややこしいことがおこる。深く追求しなかったが面倒なので合わせておくのが無難。
- buildoutで作ったinstanceのsrcの配下にsymlinkを貼る
- buildout.cfgの eggs と zcml に takakiweb.theme を追加
- buildoutを実行
- あとはQuickInstallerを使ってインストールとか普通に頑張る
May 31, 2009
debugモードでcatalogから情報を取り出す
Zopeをdebugモードで動かしてcatalogから情報を取り出すことをやった。
debugモードで起動する。appがトップに割り当てられている。
portal=app['theportal']
とやってから
wes = p.portal_catalog(meta_type='WeblogEntry')
とやればcatalogからWeblogEntryが全て取り出せる。 あとは
for w in wes: print w.getObject().absolute_url_path()
ととかやる。
Quills-1.7に向けて
Quills-1.7rc1をインストールしてテスト。
ああ、原因がわかった。WeblogArchiveのtypeが消えているにもかかわらずWeblogArchiveの中にWeblogEntryがあるからcatalogで発見されないのでmigrationの対象になってない。多分。こんなところか。WeblogArchiveをためしに作ればいいのか?
とごちゃごちゃした話が続いて…。
結局Weblogのインスタンスを別に作ってコピー&ペーストをする。trackbackがあるとエラーになるので全部削除する。そのためにmechanizeを使ってスクリプトを書く。portal_workflowを修正してコピーしたあとにQuillsをアンインストールしてインストールしたりとかやっていたらなんとか動くようになった。ふーむ、目処は立ったというところだろうか。Plone-3.3が出たら移行しようかね。
Mar 30, 2009
Plone 3.2.1-r4移行テスト
Plone 3.2.1-r4への移行テストをやってみた。
- 単にData.fsをコピーしただけだと挙動不審
- Products/* を全部持ってきたら当然エラーだらけ
- エラーの出るのを地道に削っていって、skinのエラーを直してゴミとなったtoolを消してとやっていたらどうやら動くように。
- Productの中身をコピーしてこないとエラーになる。何が問題かは把握できず。
- 残る問題はQuillsだけ?
Nov 20, 2008
Plone-3.xに向けて
そろそろPlone-3.xにアップデートしたい。
Quillsがそろそろ3.xに対応できるみたいなので移行のため実験中。migrationがうまくいかない。Folderの中身が空だと認識されているのが非常におかしい。なんでそういうことになるのやら。
いろいろ気になっているのがskinが滅茶苦茶になっていること。整理しないと。いらないProductも問題だな。先が長いなあ…。一度別にインスタンスを作って個々のコンテンツだけコピーしたほうが早いのかもしれない。
Oct 27, 2008
catalogをアップデートしてみる
ふと思いついて portal_catalog のカタログを更新してみた。
どうにもこうにも遅いのはなぜかと。ひょっとしてと思って Update catalogを実行してみた。少し速くなった気がする。インデックスがきちんとできてなかったのかなあ。
Oct 08, 2008
Cache Fuを設定
Quillsは遅いなーと思っていたが。
Cache Fu入れてんのになんでこんな遅いんだよと設定を見直したら…。Weblogなどのオブジェクトがcacheされるように設定されていなかった。Cache Fuの設定画面のruleのContentを見てみたらPageとかは入っていたがWeblogEntryとかは入っていない。追加してみたら滅茶苦茶早くなった。
Jun 05, 2008
collective.blueprint
CSSフレームワークのBlueprintのライブラリ。
May 21, 2008
Flash Video Folder 0.8.1
Plone-3.1対応。
May 14, 2008
ArchGenXMLを使うぞ
楽なのかな。
easy_installを使ってarchgenxmlをインストール。argoumlはapt-getでインストール。参考サイトを見てやってみるがArgoUMLの使い方がいまいちわからん。UMLもわかってないんだった。うわ、DebianのArgoUML古すぎる。
tigrisのほうにJava Web Startで最新版を使ってサンプルっぽいのを作ってみた。おー、すごい。configure.zcmlまで一気に作ってくれる。これはすごい。

