ブログトップ 記事一覧 ログイン 無料ブログ開設

forest book

2009-12-18

Plone で RSS フィード付きのポータルタブコンテンツを作成する

| 17:04 | Plone で RSS フィード付きのポータルタブコンテンツを作成する - forest book を含むブックマーク はてなブックマーク - Plone で RSS フィード付きのポータルタブコンテンツを作成する - forest book Plone で RSS フィード付きのポータルタブコンテンツを作成する - forest book のブックマークコメント

nakagami さんから Zope/Ploneアドベントカレンダー 2009 のバトンが贈られてきました。Plone サイトにブログプロダクトを追加して RSS フィードを配信するのに挑戦してみます。ポータルタブの News や Events がどのようにして作成されているのかを確認しながら真似してみました。今回はブログコンテンツを作成しましたが、この方法はブログに限った方法ではないので、他のコンテンツにも使えそうです。

私の環境は以下の通りです。Zope/Ploneインストール方法はこちらを参考にしてください。

# lsb_release -a
LSB Version:	:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID:	CentOS
Description:	CentOS release 5.4 (Final)
Release:	5.4
Codename:	Final

# rpm -q zope plone
zope-2.10.9-1.el5
plone-3.1.6-1.el5

アドオンプロダクトのインストール

Plone には標準でブログツールが含まれていないようです。先ずは、ブログ用のアドオンプロダクトをインストールしてみます。私はどのようなプロダクトがあるのか、よく知らないので本多さんのサイトでも使用されている Scrawlインストールしてみます。個人的には、シンプルで軽いものが好きです。

Zope にアドオンプロダクトを読み込ませるために、
所定のディレクトリに保存して再起動します
# tar zxvf Scrawl-1.3.1.tgz
# mv Scrawl /var/lib/zope/Products/
# ls /var/lib/zope/Products/
README.txt  Scrawl
# service zope restart
zope を停止中:                                             [  OK  ]
zope を起動中:                                             [  OK  ]

インストールに成功すると ZMI(Zope Management Interface) の /Control_Panel/Products で確認することができます。

f:id:t2y-1979:20091213233939p:image

Plone サイトのサイト設定からアドオンプロダクト画面へ進みます。

f:id:t2y-1979:20091213233940p:image

インストール可能なプロダクトに Scrawl が表示されるので選択してインストールします。

f:id:t2y-1979:20091213233941p:image

ホームに戻り「新規項目を追加」に「Blog エントリー」が表示されていればインストールに成功です。

f:id:t2y-1979:20091213233942p:image

アドオンプロダクトのインストールが完了しました。

ポータルタブのコンテンツ追加

次にポータルタブにブログ用のコンテンツを作成してみます。ここで Plone にはコレクションという、任意のコンテンツタイプ(ニュースやイベント、画像、ブログエントリ等)に対して、指定した条件にマッチしたものを表示する仕組みがあります。詳細は省きますが、この仕組みを使うと RSS フィードも自動生成してくれるようです。プロダクトの開発者からすると、プロダクトのコンテンツ毎に RSS フィードの配信機能を開発する必要がなくて、とても良い仕組みですね。

さて、ホームの「新規項目を追加」から「フォルダ」を選択して「Blogs」という名前で追加します。

f:id:t2y-1979:20091214010706p:image

フォルダを追加したら「Blogs」の「新規項目を追加」から「コレクション」を選択します。

f:id:t2y-1979:20091214010707p:image

タイトルを「My Blog」として保存します。

f:id:t2y-1979:20091214010708p:image

f:id:t2y-1979:20091214010709p:image

検索条件のタブを選択し、フィールド名に「項目の種類」を選択して「条件を追加」します。

f:id:t2y-1979:20091214010710p:image

「項目の種類」の値に「Blog エントリー」を選択し保存し、ソート順のフィールド名に「発行日」を選択し、「逆」にチェックして保存します。

f:id:t2y-1979:20091214010711p:image

f:id:t2y-1979:20091214012138p:image

ブログ用の RSS フィードであれば、1つのコレクションを追加しただけでも機能しますが、ここでは、さらに Events で使用されているようなコレクションの階層構造で複数の条件設定も試してみます。

「My Blog」から「コレクションを追加」を選択し「Refine Plone」という名前で、条件の継承にチェックを入れて保存します。「My Blog」で「Blog エントリー」の条件を引き継いで、サブコレクションでさらに絞り込み条件をセットすることができます。例えば、「タイトル」に「Plone」で絞り込みを行います。

f:id:t2y-1979:20091214012139p:image

f:id:t2y-1979:20091214012140p:image

f:id:t2y-1979:20091214012141p:image

これで準備は整いました。全てのコンテンツの「状態」を「非公開」から「公開」へ変更した後で「Blogs」に戻ります。そして「表示」の「デフォルトビューにするコンテンツ項目を選択...」から「My Blog」を選択して保存して完成です。

f:id:t2y-1979:20091214012142p:image

f:id:t2y-1979:20091214012143p:image

これで Events の同じ構造のコンテンツタブが作成できました。Blog エントリーを追加していくと、Blog サイト風な見た目になります。

f:id:t2y-1979:20091214012144p:image

ラージフォルダの追加

厳密には、News や Events はフォルダではなく、ラージフォルダで作成されているようです。基準がよく分かりませんが、大量のアイテムを追加する場合はフォルダよりもラージフォルダの方が効率が良いようです。デフォルトでは、ラージフォルダは「新規項目を追加」の項目には表示されません。ラージフォルダを有効にするには ZMI から /myplone/portal_types/Large Plone Folder の画面で "Implicitly addable?" をチェックして保存します。

f:id:t2y-1979:20091214030335p:image

f:id:t2y-1979:20091214030336p:image

次のバトンはさかとくさんへお贈りします。よろしくお願います〜。

リファレンス:

[plone-users 1624] Re: COREBlog2_nightlyのインストール方法について

Page not found | Vasudeva Server Help pages

トラックバック - http://d.hatena.ne.jp/t2y-1979/20091218/1261123444