8月 27, 2010
Zope/Plone
2 Comments
Plone で動くBlogプロダクトで便利だなーと思うのは、collective.blogging。
これは、標準アイテムを拡張してBlogにしてしまうもの。PloneのUIにはマッチしたものだけど、単純に記事を書いて、公開したいというには、ちょっと面倒。
そこで、勉強がてらBlogを作ってみた。(まだ公開していないけど。)
以前、dexterityの勉強のために、
Products.ngiNikkiというのを作っていて(まだ作成中・・・。)、これをArchetypeベースにして、lightboxを同梱し、Plone3とPlone4両方で動くようにしたもの。
残すタスクは、ポートレット部分と国際対応、そして、すこしのテンプレート修正。あと、ドキュメントか。
プロダクト名は、ngi.site.blog となる予定。
今月末の公開を目指す。
なお、使ってもらっているサイトは、こちら↓↓
http://www.edu-con.jp/s-blog
7月 1, 2010
Linux, MeeGo, Zope/Plone
No Comments
MeeGoというIntelとNokiaによるLinuxOSを使い始めた.このOSのUIはかわいくて使っていて楽しくなる.これを開発用にしようと思い,Plone4 Unifiedinstallerをインストールしてみた.インストールする為に必要なパッケージの一覧は下記である.
- make
- gcc-c++
- zlib-devel
- libjpeg-devel
- readline-devel
これらをyumを使ってインストールする.これでPlone4をインストールして利用することが出来る.

6月 4, 2010
Zope/Plone
No Comments
Plone 4のUnified Installerには、下記の記述がbuildoutファイルにないので、poファイルがコンパイルされない。そのため、自分で作ったプロダクト等の翻訳が適用されないで焦るときがある。そんなときは、下記の記述の確認をし、無ければ、buildout.cfgなどに追加してあげるとよい。
[instance]
environment-vars =
zope_i18n_compile_mo_files = true
以上、忘れずにメモしておく。
5月 31, 2010
Zope/Plone
No Comments
Plone 4 の experimental に skineditor.cfg が追加されました。
1.Ploneのサイト管理でスキンのカスタマイズを可能にする 「plone.app.skineditor」
plone.app.skineditor は、ZMIにアクセスせず、Ploneのサイト管理からportal_skin, portal_view_customizationsの中のテンプレートやリソースをカスタマイズできるという優れものです。
旧来の、ZMIによるカスタマイズでは、portal_skin, portal_view_customizationsそれぞれの場所に行き、該当するファイルを探し出してカスタマイズする必要があり、手間が多く、ZMIは、Ploneの管理インターフェイスとは少し異なるので、抵抗がある人もいたと思います。
2.インストール
早速、 ./bin/buildout -c skineditor.cfg -n を実行します。
サイト設定に行き、Theme Editor 0.1devをインストール(有効に)します。

図1:有効にした状態 Theme Editorと表示される。
3.Theme Editorを使ってみる。
Theme Editorをクリックして、どのようなものか見てみます。

図2:Theme Editor画面
Skin Resource Editorというタイトルが表示され、スキンのリソースが一覧で表示されます。タイトルの下にある、検索ボックスで、テンプレートやリソース、Pythonスクリプト、JavaScriptを検索でき、隣のキーワードタグでフィルタリングすることができます。
4.試しにFooterを変更してみる。
では、試しにFooterを変更してみたいと思います。キーワードタグの中から、Viewletsをクリックします。Footerは、plone.footerという名前なのでそれを選択します。

図3:plone.footerを選択したところ
クリックすると、該当するテンプレートやインターフェイスを記したボックスが表示されます。まさにこのテンプレートを編集したいので、クリックします。

図4:テンプレートの内容が表示された。
ポップアップして、テンプレートの中身が表示されました。
CustomizeボタンをクリックしてCustomします。

図5:ビューのカスタマイズをしているところ
編集が終わったら、最後に、Save Changesをクリックして保存します。現段階では、ウィンドウが自動でクローズしないみたいなので、自分で「×」ボタンを押してクローズします。
図3の画面に戻ってみると、カスタムしたものが先ほどの項目の上に表示されています。そして、有効になっているので、赤色の*で記されています。

図6:カスタムができ、項目が増えた。Customしたものは「In the database」となっている。
以上でカスタマイズが終了しました。

図7:Before

図8:After
5.おわりに
PloneのSkinカスタマイズは、ZMIにアクセスしないといけないのが、欠点でした。これと同時にインストールされる、Products.Glowormを使えば、ZMIに行かずにPloneの統一されたUIで作業ができるので、とても重宝しそうです。
2月 2, 2010
Zope/Plone
No Comments
Ploneは、フォームで2重投稿を極力避けるために、jQueryを使ってアラートを出すようにしています。
これは、目的によっては、邪魔な存在なので、表示させない方法。
submitボタンのクラスに allowMultiSubmit を割り当てる。
以上で回避できます。
2月 2, 2010
Zope/Plone
No Comments
Windows版のPlone 4は、portal_css, portal_javascriptsをデバッグモードにしておくと、非常に遅い!!!
スキンプロダクトの作成や、ビュー周りの検証をするときは、Linuxか、MacにインストールしたPlone 4を使うとよい。
1月 28, 2010
Zope/Plone
No Comments
Flashからフォルダを作成出来るようにしていたのですが、どうもうまく動かない。
プロセスもpermissionにも間違い無いはずなのに、なぜ動かないのだろう。
いろいろと調べていたら・・・
テスト環境にフォルダを作成する為のメソッド名と同名のPythonスクリプトが存在した・・・。
・・・・・・・・・・・・。
さあ、次に進むぞ。
1月 28, 2010
Zope/Plone
No Comments
Flash部分にどのぐらいのコストをかけ、Ploneの部分にどのぐらいのコストをかけるかというのをはっきりとしておくべきだった。
反省・・・。
1月 27, 2010
Zope/Plone
No Comments
テキストフィールド欄にデフォルト文字を表示させたいとき、一般的には、jquery.fieldtab.jsを使う。
Ploneでは、このようなものが、簡単に最初から使えるようになっている。
方法は、input タグ内のTitle属性に表示させたい文字列を入力し、class属性に「inputLabel」を割り当てるだけで、実現できる。
1月 27, 2010
Action Script 3, Zope/Plone, 日常
No Comments
予想以上にPloneとの連携に手こずった。Plone用のFlashファイルアップローダを作成していたのだが、Flash Player 9をターゲットとした場合、大変だった。 次は、外にお願いしたい気分。PloneでFlashUploaderのプロダクトがあまり出てこないのも納得した。Plone的に、このセキュリティで大丈夫なの?と言うところがあったりする。
ちょっと愚痴っぽくなったが、勉強になったので良かったことにしよう。
1月 14, 2010
Flex, Zope/Plone
No Comments
FlashのFileReferenceListで、まとめてファイルを取得することができる。このFileReferenceListは、browseメソッドを実行することでファイルダイアログ選択することができる。選択後、FileReferenceオブジェクトのArrayを持つので、このFileReferenceオブジェクトのuploadメソッドを使うことでファイルアップロードが出来る。
いろんなサンプルでは、取得したFileReferenceのArrayに対して、For each文を使いFileRefence.upload()を行いアップロードをしている。
ただ、この方法では、一気にPloneに対してアップロードを行うため、ほぼ、Confrict errorを起こす。
回避方法として、サンプルのようなFor eachを使わず、一つづつ確実にアップロードを行う。FileRefenceのFile upload completeイベントで、次のFileReferenceのuploadを行うようにする。
conflict errorを起こしてもZopeは再試行してくれるのだが、FileReference.upload()の仕様上、起こされると面倒な処理を記述する必要があるので、なくすように心がけた。
Flash Player 10以上で作っていいのなら、こんな面倒なことをしなくてもよさそうだけど・・・。
12月 24, 2009
Zope/Plone
No Comments
Products.hogeとしたプロダクトのconfigure.zcmlに、<five:registerPackage package="." initialize=".initialize" />の記述があると、サイト設定のアドオンプロダクト項目でプロダクト名が2重に表示されてしまう。
この現象は、collective にあるプロダクトを参考にプロダクト開発を行い、configure.zcmlに記述してしまうとおきる。(自分がそう)
回避策として、<five:registerPackage package="." initialize=".initialize" />を削除する。 また、initialize関数でファクトリ・permissionの設定をしている場合は、zcmlベースの方法へ変更する。
12月 9, 2009
Zope/Plone
No Comments
Zope/Ploneアドベントカレンダーの順番がnyusukeさんより回ってきました。
私は、Plone3用のスキンを作成する方法を書きます。
今回のゴールは、Pasterでスケルトンを作成して、サイトのロゴを変更していきます。
Read the rest…