Ploneのレイヤー機能を使ってテーマを管理する
すみません、不具合がありましてバックアップを取っていない状態のZopeインスタンスが死んでしまいました。このような状態にならぬよう、バックアップは定期的にとっておかなければいかんですな。とりあえずエントリは、たかのりさんにGoogleキャッシュ情報を教えてもらって復活しておきました。
↓
たかのりさんがZope/Ploneアドベントカレンダーというのをやっていて声がかかったのでとりあえずエントリせねば。
ということですが、私は実家が教会(父は牧師)という家庭環境にありながらアドベントカレンダーとは何ぞやということすら知らず、ウィキペディアで調べてようやくその意味を知ったところです。
この1~2年ほどは非常に大きな動きのあった年で、仕事に、プライベートにさまざまな変化があったため、ほどんどPloneをいじることもなく情報を流し 読みするくらいしかやってきておりませんで、最近のPlone事情は正直よくわかりません。Plone4の話題もちらほらと目にしますが、実際の私の頭の 中身はPlone2.5くらいかなぁと思っていますので、残念無念ながら「お、これ面白そう」というTIPSは持っていないんですねぇ。うーむ、困った。
しかしせっかく久しぶりにPloneをいじるのだからせめて見た目だけでもデフォルトから変えたほうがいいかなぁと思いつつテーマプロダクトを探そうとし たのですが、テーマプロダクトのページにサムネイルが見えない時点で探すのをあきらめました。サムネイルが見えないにしろPloneのバージョンでフィル タリングできればまだましなのになぁ。
テーマはどう作るのがよいのか
さて、スキンを変えるとき、あるいは自作するとき、もちろんPhotoshopとテキストエディタでの作業は別として、それをPloneに実装しようとす るとき、どのようなアプローチを採るのかはさまざまかと思います。今はDeliveranceが人気なんでしょうか。個人的には他のCMS使ったりウェブ アプリ作ったりとかすることはおそらくないので、実際にやるとしたらxdvの方がいいかなと思いますが、おおよそ下記のアプローチのいずれかになるのでは ないかと思われます。
- Deliverance
- xdv
- 自作プロダクト
- TTW(portal_skins)
「今風の技術を使ってクールに実装したい!」って人なら断然Deliveranceでしょう。注目されること間違いなし。「でもPloneとの相性 もあるしちょっと敬遠気味…」って人は間違いなくxdv。「見た目もふるまいも完全にカスタマイズして制御したい」って人はプロダクト。「スキンとかあん まり気にしないしー、PythonとかZPTとかあんまりよくわからないしー」という人はTTW。という感じでしょうか。
個人的にもDeliveranceやxdvといった技術には興味はありますが、使いこなせるようになるまでにはある程度の時間が必要となります。自 作プロダクトに至っては必要となる知識の量だけでなく深さも必要となるわけで、自作したとはいえこれを長期にわたってメンテナンスしていくのはなかなか難 しそうです。いまある知識を生かしつつなるべく学習量の少ない方法でテーマを維持していこうと思うとこれらの技術にはなかなか手を出せないというのが本当 のところでして、そうなると残された道はTTWのみとなります。
TTWはダサいか?
「ダサい」という言葉を使うこと自体、もう終わってる感じがするのですが、TTWはダサいです。私の好きな言葉でいえば「泥臭い」のです。
TTW(Throuth the Web)というのは、ブラウザからカスタマイズするやり方一般のことで、テーマづくりに関して具体的にいえば、ZMIのportal_skinsから customフォルダへ行って、ちまちまとCSSやら画像ファイルやらをアップロードするやり方です。
このファイル1個1個をちまちまとアップロードする作業がもうダサいですし、たとえばテーマづくりに使う画像ファイルなんかは結構な数があるわけ で、これらがcustomフォルダの中へドバーっと雑然と並ぶのもダサいですね。しかもcustomフォルダに入っているファイルはおそらくCSSと画像 だけではなくて、他にもPythonスクリプトやZPTファイルなんかも同居してたりするわけです。面倒くさいし見通しも悪いという、何ともゴミ屋敷みた いな状況になってしまうというやり方はとてもスマートとはいえません。
とはいえ、ダサいなりにいいこともあります。
- プロダクトに依存しない
- 必要なアドオンプロダクトはありません。必要なものはPloneだけ。
- ポータビリティ
- もちろんパッケージ化したプロダクトだってポータビリティは高いですが、こっちだってexportしてzexpにしちゃえばおんなじさ。
- メンテナンスのしやすさ
- 修正を加えたいならすぐ変更できるし、すぐ反映されるよ。Ploneのアップデートやサーバのお引越にも対応しやすい。
- 場所を選ばない
- ローカルファイルをいじる必要がないので外出先からお手軽に修正とかもできる。
パッと思いつくものだけを挙げてみましたが、こんな感じでPloneの設定にあまり頭を悩ませることなくテーマを管理することができます。
整理整頓が重要
デスクトップにファイルがたくさん並んでいる人を見ると、なんで整理整頓しないんだろうかと思ってしまうのですが、TTWでテーマ管理を行うにも整理整頓は非常に重要です。
- 内容別にフォルダを用意する
- Ploneのデフォルトでは「custom」というフォルダにカスタマイズしたファイルを 保存するようになっていますが、テーマを管理するのであれば別個にフォルダを用意しておいたほうがよいでしょう。exportもしやすいと思います。命名 規則がポイントで、なるべく固有の名前を大雑把にいくつか用意するのがよいと思われます。たとえば「mycss0912」というCSS用のフォルダや 「myimg0912」という画像用のフォルダを用意するなどします。Ploneはアイコンが非常に多いのでアイコン用に「myicon0912」などと いったフォルダも用意しておくとよいかもしれません。
- レイヤーの順番を変更しておく
- ここが最も重要な部分ですが、フォルダを作成しても作りっぱなしでは意味がありません。「portal_skins」に行って、「properties」タブをクリックして、必ず自分が用意したテーマ用のフォルダを追加し、優先度を最上位にあげておくのを忘れずに。
- ファイルの命名規則
- これは別にPloneのテーマづくりに限った話ではありませんが、命名規則はきちんと決めておきましょう。
さて、駆け足でTTWなテーマ管理を見てきましたが、こういうエントリを書いたからには自分でも実践しないといけないですね。最近は仕事でディレク ション業務が多くて、まったりPhotoshopで遊んだり、スクリプトを書いたりという機会がめっきり減ってしまったのですが、またちょいちょい遊びつ つ、Ploneのカスタマイズを楽しんでいきたいと思っています。
ということで来年の目標はこのサイトのテーマを作ることに決めました。今決めました。
明日になって心変わりすることがないといいですが、そんなことより明日のZope/Ploneアドベントカレンダーはテーマカスタマイズについての最新の動向やら素敵なTIPSやらが目白押しのエントリになるようですよ!
気になる方は「ngi644の日記」をチェックしてね。
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
MacOSXにPython2.4をインストール
MacでPloneはあまりいじっていなかったのですが、最近いじりたい欲求が出てきたのでとりあえずPython2.4(Python2.4.6)をインストールしてみました。
ダウンロード
もちろんダウンロードは最新版の2.4.6。MacOSXバージョンのPloneについてくるPythonは2.4.5だけど細かいところは気にしません。
インストール
注意点は
- configure時にMacOSX用のオプションをつける(上記ページに書いてある)
- make時にsudoする([Python-ml-jp 3920] Re: Python-2.5 のインストール)
という点です。
ということで、
bzcat Python-2.4.6.tar.bz2 | tar -xf - cd Python-2.4.6 ./configure MACOSX_DEPLOYMENT_TARGET=10.5 sudo make sudo make install
これで/usr/local/配下にpython2.4がインストールされました。
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
Ploneを3.1から3.2へアップグレード
ようやくPloneをアップグレードして3.1.7から3.2.1となりました。元々buildout環境でしたので比較的容易にアップグレードできたのではないかと思います。
手順はplone.orgのアップグレードガイドを見ながら行えば問題ないでしょう。buildout環境ではbuildoutの設定ファイル(通常はbuildout.cfg)を編集してbin/buildoutを実行するだけです。
ということで
- buildout.cfgとData.fsのバックアップ
- buildout.cfgの書き換え
- bin/buildoutの実行
- ZMIからportal_migrationのupgrade
- ZMIからportal_catalogのupdate
という流れで行いました。
buildout.cfgについてはそもそもほとんど編集していなかったため、既存のものを全削除し、アップグレードガイドの内容をペースト、最後に[instance]セクションへアドオンプロダクトを追記するような形にしました。[plone]セクションなど、Plone3.2のcfgには必要のないセクションはすべて削除しました。
buildout環境にしてからはアップグレードに費やす労力がかなり減りました。まだ不具合に遭遇していないので、うまくいかないときにどう対処するのかという問題には幸いにも直面していませんが、メンテナンスはずっと楽ちんになっているなと実感している次第です。
- カテゴリ
-
Plone
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
Plone3.2+その他もろもろのレシピ
年末はXoopsに浮気をしてしまったのですが、そろそろPlone3.2にしてみようかなと思っていたところに、Plone3.2、Varnish、nginxという構成のレシピをMartin Aspeliが公開していたので試してみようと思いました。
思っただけでまだ試してません。
An über-buildout for a production Plone server
もう少し早く出してくれればよかったのに!
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
