Ploneのスキンをカスタマイズしていこうじゃないか4

qPloneSkinDumpでスキンプロダクトを作ろう

別ごとに集中してて少し時間が空いてしまいましたが、残りをサクッといきましょう。今回はqPloneSkinDumpを使ってスキンを作っていくことにします。

まずはqPloneSkinDumpについて概観しておきましょう。詳しくはquintagroupのPloneSkinDumpのページを参照してください。このプロダクトは前回紹介したDIYPloneStyleと違って非常にステキな機能が搭載されています。特筆すべき機能は2つ。1つは「ポートレットのマネジメント」、もう一つは「CSSレジストリのサポート」です。ポートレットのマネジメント機能によって、特定のポートレットを左右に配したスキンを作ることができますし、CSSレジストリをコントロールすることによって、スキン利用者がレジストリをいじる負担をなくすことができます。詳しくはスキンを作っていく課程で見ていくことにしましょう。

とりあえず特徴をまとめておきます。

  • カスタムスキンレイヤーをZODBからファイルシステムに落としこんでくれる
  • インストールしたスキンがデフォルトのPloneSkinになる
  • ポートレットの柔軟な管理
  • CSSレジストリをサポート
  • PloneSkinDumpによって作られたカスタムスキンを自動的にアンインストールする

qPloneSkinDumpを使う

さて早速qPloneSkinDumpを使ってみることにします。インストールは通常のZopeプロダクトと変わりません。Productsフォルダにコピーし、Zopeをリスタートした後に、Ploneのサイト設定→プロダクトの追加と削除からPloneにインストールします。

まずはカスタマイズを済ませておきます。カスタマイズを済ませればportal_skins/customにカスタマイズされたものが詰め込まれているハズです。

060227-1

この状態でPloneのサイト設定を見てみると、qPloneSkinDumpの設定項目が出現します。ここをクリックして設定画面へ行きましょう。

 

060227-2

qPloneSkinDumpの設定ーZMIセクション

設定画面は大きく3つに分かれていますので、これらを順に見ていくことにしましょう。まずはZMIセクションの設定です。

060227-3

Source skin folder:
カスタマイズした素材がどこにあるかを指定します。デフォルトでは「custom」で問題ないでしょう。カスタマイズしたファイルが他の場所にある場合はportal_skinsの中のどこにあるかを入力しましょう。
Input ZMI Base Skin Name
ベースになるスキンの名前を入力します。 おそらくはPlone TablelessかPlone Defaultのどちらかでしょう。他のスキンを元にしてカスタマイズしている場合はそのスキンの名前を入力。 デフォルトではPlone Tablelessですが、今回のSpreadPloneの場合はPlone Defaultを元にしていますのでPlone Defaultとしておきます(↑画像はデフォルトのものなのです…)。
Erace
チェックを入れると、スキンプロダクトを生成後に元になったソースフォルダ(Source skin folderで設定したフォルダ)を削除します。どういうときに使う項目なのかパッと想像できませんが、まぁ放置しておけばいいでしょう。

qPloneSkinDumpの設定ープロダクト設定

で、次は落とし込むプロダクトの設定です。

060227-4

Skin's name for new product:
スキンレイヤーの名前になります。ここで入力した名前がZMIのportal_skins以下に出現します。
Product name:
プロダクトの名前になります。ここで入力した名前がPloneのサイト設定→プロダクトの追加と削除に出現します。

 両方同じでいいですね。両方に「spreadplone」と入力しておきます。

qPloneSkinDumpの設定ーポートレット

最後の設定はポートレットです。ここは設定項目がたくさんあります。ここの設定によって、作成者のポートレット構成を優先させるのか、利用者のポートレット構成を優先させるのかが決まります。どちらを優先させたらよいのかはスキンによりけりですので何ともいえませんが、作成者のポートレットを優先させる場合は、一番上にある「Do customize slots」の項目にチェックを入れます。これにチェックをいれると、それ以下で設定するレフトスロット・ライトスロットが適用されることになります。ただしこれらのスロットが完全に置き換わるわけではなく、どのようにスロットを構成するかはさらにその後で設定します。

060227-5

 

以下後半の設定では、どのようにスロットを構成するかを選択します。

060227-6

 

Bloend with skin
スキンプロダクト(前半部分)で設定したものをまず設定し、利用者側のサイトで設定している差分のスロットを加えます
Blend with site
利用者側のサイトで設定しているスロットをまず設定し、スキンプロダクト(前半部分)で設定した差分のスロットを加えます
Replace
スキンプロダクト(前半部分)で設定していたスロットですべて置き換えます
最後のMain columnの部分はスロットの衝突を回避するためのものです。前半部分で設定したスロットと元々サイトで設定したスロットが左右にわかれた場合にどうするのかを設定します(例えば「ニュース」スロットはデフォルトでは右に出てきますが、スキンでニューススロットを左に配置した場合どうするか、といったようなものです)。

 

Left
左側のポートレットを優先させます
Right
右側のポートレットを優先させます
Both
説明するのがめんどうなので詳しく知りたい方はチュートリアルなどを読んでください。

こんかいはポートレットなどを設定せずにプロダクトを作りますので、ポートレットの設定は放置しておきます。

プロダクト完成

最後にsaveボタンをポチッと押してやりましょう。すると…

060227-7

Productsフォルダにspreadploneプロダクトができています。あとはフツーのプロダクトと同様、Zopeをリスタートし、Ploneのサイト設定→プロダクトの追加と削除からインストールしてやればいいですね。

060227-8

一応シリーズ完結ということで。


spreadplone.tgz spreadplone.tgz
サイズ 16.6 kB - ファイルタイプ application/x-tar
カテゴリ
Plone Plone
Design
トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/plone-skin-customizing-firefox-clone-4/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (100)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (27)
Linux (32)
Nagosui (13)
Design (34)
Misc (49)
moblog (5)
Mac (1)
最近のエントリ
MacOSXにPython2.4をインストール nyusuke 2009年03月21日
Ploneを3.1から3.2へアップグレード nyusuke 2009年03月01日
Plone3.2+その他もろもろのレシピ nyusuke 2009年03月01日
さらばファッキンKDDI nyusuke 2008年12月10日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日