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月 3, 2010
Google App Engine, MeeGo, Python
No Comments
MeeGoは、Python2.6が標準で入っています。しかし、GAEは、Python2.5を必要とするため2.5を自前でインストールする必要があります。
Pythonをコンパイルする前に、「ソフトウェアの追加・削除」もしくはYumで下記のパッケージを導入します。
- openssl-devel
- sqlite-devel
これらを導入後、Pythonをコンパイルします。
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月 8, 2010
Python
No Comments
Thunderbirdは,定期的に最適化していないとカタログが壊れてメールボックスから消えてしまうことがあります.また,Thunderbirdは,最適化するまでは,メールは何も削除せず,削除フラグがついているだけですので,スクリプトを書いてそのフラグを変更してあげるだけで修正できます.
# -*- coding: utf-8 -*-
from __future__ import with_statement
writer = open('Inbox_new.txt','a')
with open("Inbox") as f:
for i, x in enumerate(f):
x = x.replace('X-Mozilla-Status: 0009', 'X-Mozilla-Status: 0011')
writer.write(x)
if (i % 10000) == 0:
print i
writer.close()
print 'end'
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月 22, 2010
64bit, Linux
No Comments
Ubuntu 9.10の64bitバージョンにEclipseをインストールしようとしたんだけど、追加のプラグインがインストールできない問題があった。
ボタンが押せないというトラブルらしい。
export GDK_NATIVE_WINDOWS=1
を記述したシェルスクリプトを用意してあげるといいみたい。
2月 10, 2010
Google App Engine, Java, Processing
No Comments
Processing でWeb Serviceを使いXML処理をする際、今までは、proXMLを使っていたけど、これは、encodingをみて読み込んでくれない。そのため、Windows環境でencodingがUTF-8のXMLを読み込むと文字化けをおこしてしまう。
そう、今までは、日本語を扱うようなものを読み込んでいなかったので問題に気づかなかった。 そこで、SAX(http://www.saxproject.org/)を使うことにした。これは、XMLのencodingをみて読み込んでくれるため、問題なく日本語の処理ができる。
SAXは、DOMと違い、イベントで処理をする。最初は、なれなかったが、今回の目的にはSAXの方が向いていた。
Pythonにも、xml.saxがあるようなので今度使ってみよう。
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」を割り当てるだけで、実現できる。