« 2010September »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
このBlogについて
このブログはCMScomが公開する、公式ブログです。 Zope/Ploneのことや、Pythonのことなどを掲載しています。 また、個人的な内容も一部含まれております。
最近のエントリ
シンガポールでのPyCon APAC terada 2010年07月01日
PyCon APACに参加 terada 2010年06月08日
イベント紹介 ソーシャル家電(@NBC) terada 2010年05月13日
World Plone Day 2010 Tokyo での質問 terada 2010年05月04日
World Plone Day 2010 Tokyo 発表【Plone4 Coming soon】が終わりました terada 2010年04月28日
大型連休の当社休日 terada 2010年04月26日
Plone4の開発環境構築 terada 2010年04月25日
【イベント告知】World Plone Day 2010 Tokyo terada 2010年04月19日
Zope/Plone開発勉強会(2010年3月)の報告 terada 2010年03月23日
第9回開発合宿の成果 terada 2010年03月14日
Zope/Plone開発勉強会(2010年2月)の報告 terada 2010年02月25日
Zope/Plone開発勉強会(合宿バージョン)の報告2 terada 2010年02月15日
Zope/Plone開発勉強会(合宿バージョン)の報告1 terada 2010年02月01日
Ploneの英語のメーリングリスト紹介 terada 2010年01月29日
2010年も既に半月経過 terada 2010年01月17日
PloneでMS-Officeファイルを検索対象にするプロダクト公開 terada 2009年12月18日
Plone研究会&Ploneパーティー2009 terada 2009年12月10日
Plone3の日本語検索とメールバグ terada 2009年12月08日
Pythonスクリプトを使って便利な機能を実装 terada 2009年12月04日
MeCabで日本語読みを出力 on Windows terada 2009年12月03日
最近のコメント
Re:第9回開発合宿の成果 t2y 2010年03月14日
Re:PloneでMS-Officeファイルを検索対象にするプロダクト公開 NK 2010年02月15日
Re:Plone3のメールバグ解消プロダクト公開 terada 2009年11月23日
Re:Zope Essentials 7 無事終了 t2y 2009年08月23日
Re:Plone3.0以降のメール送信 akiko 2009年08月10日
Re:Google App Engine と Google Apps はすい 2009年08月04日
Re:PyLuceneの日本のコミュニティが立ち上がった t2y 2009年08月04日
Re:Plone3.0以降のメール送信 siebo 2009年01月20日
Re:Plone3.0以降のメール送信 Shigeo Honda 2009年01月20日
Re:Plone Conference 2008 で知り合った人々(1) 伊藤@b-mark 2008年11月23日
Re:Plone Conference 2008 に参加 terada 2008年10月16日
Re:Plone Conference 2008 に参加 terada 2008年10月16日
Re:Plone Conference 2008 に参加 malik 2008年10月16日
Re:Plone Conference 2008 に参加 Yasu. 2008年10月16日
Re:Twitterどうでしょうか zen 2007年05月26日
Re:Plone2.5からの注意 Anonymous User 2007年04月21日
Re: Windows Vista良い感じ terada 2006年11月15日
Re: Windows Vista良い感じ ナルディ 2006年11月15日
Re:Ploneのケータイ対応 sayg 2005年12月02日
Re:Ploneのケータイ対応 terada 2005年12月02日
 
編集操作

Deliveranceとは


先日アナウンスしたイベント(Zope Essentials 7)のメインになる、Deliveranceについて少し突っ込んで書こうと思います。


デザイン用にHTMLを準備することで、バックエンドにおいたPloneなどの動的サーバから、XML定義を元にページを生成する仕組みです。
Ploneへの標準導入が進められており、既にplone.orgサイトでは使われています。 とかく、PloneのSkin(テーマ)開発には学習コストがかかると言われています。それの軽減のためにも、Deliveranceが注目を集めています。

構成要素として

  1. Deliverance アプリケーションサーバ  (プロキシーモード と Apache+mod_wsgiで動作するモードが有ります。)
  2. Deliverance用設定XMLファイル
  3. デザイン用静的HTML/CSS (静的でなくてもベースとなるHTML/CSSが有ればOK)
  4. バックエンド動的サーバ(静的コンテンツでも良い)
    1. HTMLタグの属性(アトリビュート)に、idが埋め込まれていることが条件


動きの流れ

  1. Deliveranceアプリケーションサーバが、リクエストを受ける。この時にiniファイルからペースHTMLやバックエンドが指定される)
  2. 設定用XMLが読み込まれれ、ページのアドレスを評価する。
  3. デザイン用静的HTMLが読み込まれる。
  4. その際に、設定用XMLにて決められた箇所に該当するidの部分を、バックエンドの動的サーバなどから取得し、静的HTMLにマージされ出力される

便利な点

  1. 動的サーバにてデザインやHTMLを操作する必要がない。(バックエンドのシステムを理解しなくても、デザイン・HTML/CSSの専門家に任せることが出来る)
  2. 複数のシステムからコンテンツをマージして出力することが出来る

その他

  1. Deliveranceのフロントに、ApahceなどのWebサーバやVarnishなどのキャッシュサーバを併用することが可能。一般的には、ApacheやnginxなどのWebサーバをフロントに設置している
  2. Deliveranceは、まだ開発中という感じもあり、コードベースの変更が大きく行われている印象がある。(そろそろ収束しているとも思うが)
  3. 使用する文字コードの制限があり、現在はUTF-8以外の文字コードは扱えない。(ケータイサイトを作る際に便利になるのではないかと思っていたが、Shift-jisでは使用できない模様)
  4. インストールは、Pythonのbuildout環境があれば、簡単にインストールすることが可能です。

Deliverance Installation with Plone

1)buildout.cfgに以下の変更を追記する。

partsの項目に、
deliveranceの項目を追記する旨の宣言をする。
[parts]
deliverance


ファイルの最終項目に
[deliverance]
recipe = plone.recipe.deliverance
libxml2-url = ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz
libxslt-url = ftp://xmlsoft.org/libxml2/libxslt-1.1.24.tar.gz


そのインストールの結果:
instance内のbin/deliveranceが生成される。
instance内の/deliveranceディレクトリが生成される


起動のためのバグ修正:
deliverance/deliverance-proxy.ini内の

修正前
serializer = deliverance.serializers.HTML4

修正後:
serializer = deliverance.serializers:HTML4

HTML4の前の"."を":"に変更する。


host と wrap_href を設定して、
bin/deliverance でdeliveranceを実行する。
最後にrules.xmlを調整していく。


deliverance setting:
http://deliverance.openplans.org/configuration.html

deliverance sprint
http://www.coactivate.org/projects/sorrento-sprint-2009/deliverance-documentation


Zope Essentials 7 開催決定 Zope Essentials 7 開催決定
サイズ 1631 - ファイルの種類 text/html
トラックバック用URL:
コメントを追加

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

(必須)
(必須)
(必須)
(Required)