Ploneの中にzForumをぶちこんでしまう

メーリングリストにてzForumの使い心地はどうだという話が出たので、どんなもんだろうという好奇心もあってインストールしてみることにしました。高機能なだけに導入までがめんどくさいような悪寒…

zForumはデータベースを使います。MySQLかPostgresqlを選べるのですが、ウチではXoopsが動いていて、それはつまりMySQLを使っているということで、zForumでもMySQLを使うことにします。

MySQLの準備

ZopeでMySQLを使うのに必要なものが2つあります。一つはMySQL-python、もう一つはZMySQLDAです。MySQL-pythonはpythonモジュールなので、zopeを動かしているpythonにインストールします。一方ZMySQLDAはZopeのプロダクトなのでふつーにZopeのProductsフォルダに放り込みます。

ちなみにMySQL-pythonはGentooなら一発です。

emerge mysql-python

両方インストールしてZopeをリスタートして、ZMIにて「Z MySQL Database Connection」をaddできるようになっていれば、ZopeからMySQLを使えるようになります。

データベースの準備

あとはzForumをProductsフォルダに入れればOK…ではありません。データベースの用意をせねば…。

  • zForum用のデータベース:zforum
  • zforumデータベースに接続できるユーザ:user
  • そのユーザのパスワード:password
  • そのユーザが接続するホスト名:localhost

という具合に適当に用意しておきませう。

ダウンロードしてきたzForumには、zForumで使うスキーマが同梱されているので、このスキーマを上記のデータベース(zforum)に適用してやります。

スキーマは「zope-instance/Products/zForum/doc/schema_mysql.sql」にあります。コマンドラインにて

$ mysql -u user -h localhost -p zforum < schema_mysql.sql

などとしてやればよいでしょう(たぶん)。

zForumの設定

さてこれでデータベースの準備ができたのであとはzForumを設定するだけです。zForumの設定は大きく4つです。

  • zForum追加時の設定
  • CSSの追加
  • タブの追加
  • ポートレットの追加

zForumを追加する

ZMIからPloneインスタンスにzForumをaddするとデータベースとの接続設定が出てきますので、最初にセットアップしたように入力してやります。

zForumの追加

IDとタイトルは適当でよいですが、Database Connection Stringは間違えると接続できないのでエラーが出ます。まぁ、下に書式が書いてあるので問題ないとは思いますが。

[database]@[host] [user] [passwd]

ということらしいので、

zforum@localhost user password

などとしてやります。

またPloneで利用したいので「Check if zForum is or will run inside Plone」にチェックを入れておきます。

設定に問題がなければふつーにaddできると思います。

zForum用のCSSの追加

ploneCustom.cssに以下を追加するだけです。

<dtml-var "zforum.zUI['zforum_plone_stylesheet.css'](_.None, _)">

このcssはbase_propertiesを参照するので、必ず

/* <dtml-with base_properties> (do not remove this :) */

このdtml-withの内側に入れます

/* </dtml-with> */

タブの追加

zForumはちょっとふつーじゃないプロダクトで、特定のコンテントタイプを提供するわけじゃありません。なので、「新規追加」から「zForum」を追加する、なんてことはできません。が、タブを表示する道は用意されています。

portal_actionsにてタブを追加します。

  • Title: 適当
  • Id:適当
  • URL:string:${portal_url}/zforum
  • Condition:適当(例えばAnonymousに見せたくないなら「not: portal/portal_membership/isAnonymousUser」など)
  • Permission:View
  • Category:portal_tabs
  • Visible?:チェックを入れる

ポートレットの追加

ZMIのPloneインスタンストップにてpropertiesタブをクリックしてポートレットを追加します。right_slotsに以下を追加します。

here/zforum/zf_macros/macros/rightnav

とりあえず完成です。

デフォルトで権限別のフォーラムがいくつか用意されています。

zForumスタート

 

 

投稿編集画面はいたってシンプル。

投稿編集画面

編集オプションはこんな感じで。

編集オプション

返信する。

返信編集画面

全体としてフォーラムとしての機能は文句なし。バックエンドにデータベースを使いたいなら使ってもいいんだけど、そのメリットが出てくるほど賑わうことのない当サイトでは使わないでしょう…。個人的には、Plone標準の機能を使ってテンプレートを編集してBBS化しているPapaBBSの方がイイ!と思いました。

トラックバック用URL:
http://nagosui.org:8080/Nagosui/COREBlog2/zforum-in-plone/tbping

Re:Ploneの中にzForumをぶちこんでしまう

投稿者 Papasan 投稿日時: 2006年08月06日 17時38分

はじめまして、Yusukeさん。
「PapaBBS」のPapasanです。他の方からも「PapaBBS」の作りかたを尋ねられましたので、簡単な説明とカスタムフォルダのエクスポートファイルを公開しております。
http://papasan.org/63b2793a677f30d530a930eb30fc/papabbs-2006-06/#1149398548

よろしければ使ってやってください。

Re:Ploneの中にzForumをぶちこんでしまう

投稿者 nyusuke 投稿日時: 2006年08月06日 17時38分

どうもです。
公開ファイルは少し前に拝見させていただいておりました(・∀・)
使いたいのは山々なのですが、ウチのサイトはなにぶん賑わいがありませんので使う前にそちらを何とかしないとな、という感じです…

コメントを追加

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

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

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (99)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (26)
Linux (32)
Nagosui (13)
Design (34)
Misc (49)
moblog (5)
最近のエントリ
Plone3.2+その他もろもろのレシピ nyusuke 2009年01月07日
さらばファッキンKDDI nyusuke 2008年12月10日
Xoopsのテーマをいじる1 nyusuke 2008年12月08日
第13回名古屋大学吹奏楽団定期演奏会 nyusuke 2008年12月07日
最近のコメント
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日
Geek Test
I am 30% Geek.
Geek? Yes, but at least I got social skills.
You probably work in computers, or a history deptartment at a college. You never really fit in with the "normal" crowd. But you have friends, and this is a good thing.