パーソナルツール
現在位置: ホーム page Ploneboardを使って掲示板を設置する

Ploneboardを使って掲示板を設置する

作者: Naoto Morooka 最終変更 2009年12月23日 02時46分
— カテゴリ: ,

社内サイトを作るなら昔ながらの掲示板っぽいのが良いって人もいるんじゃないかなー…(希望的観測)。

Ploneboardを使って掲示板を設置する

完成イメージ

iPod! 逆さにしても iPod!

Zope/Ploneアドベントカレンダー からいらした方もそうでない方も、どうもこんにちは。

社内のイントラネット上でサイトを作る時なんかには需要があるんじゃないかと思い、 Ploneboard というプロダクトを使って掲示板を設置してみます。


インストール

下準備はUnifiedInstallerで手を抜きます。:

moro@Lau:~/tmp$ wget http://launchpad.net/plone/3.3/3.3.2/+download/Plone-3.3.2-UnifiedInstaller.tgz
moro@Lau:~/tmp$ tar -zxvf Plone-3.3.2-UnifiedInstaller.tgz
moro@Lau:~/tmp$ cd Plone-3.3.2-UnifiedInstaller/
moro@Lau:~/tmp/Plone-3.3.2-UnifiedInstaller$ sudo ./install.sh --target=/home/moro/tmp/Plone standalone
moro@Lau:~/tmp/Plone-3.3.2-UnifiedInstaller$ cd ../Plone/zinstance
moro@Lau:~/tmp/Plone/zinstance$ sudo ./bin/plonectl start
デフォルトのPloneができたよー。
http://localhost:8080/Plone

最後のを sudo ./bin/instance fg にするとエラー時のTracebackがチェックしやすいです。開発中はこっちが良いかも。(@jhotta さん情報)


Ploneboardを導入

moro@Lau:~/tmp/Plone/zinstance$ sudo vim buildout.cfg
65 eggs =
66     Plone
67     Products.Ploneboard <- この一行を追加

今日(2009-12-21)バージョン指定をせずに試してみたところ、2.1betaが入っていました。アドオンプロダクトのインストール画面でインストールしてみるとエラーを吐いたので、 Plone.org に載っている最新バージョン(2.0)を指定しました。:

moro@Lau:~/tmp/Plone/zinstance$ sudo vim versions.cfg
50 Products.Ploneboard = 2.0

変更を反映。:

moro@Lau:~/tmp/Plone/zinstance$ sudo ./bin/buildout
moro@Lau:~/tmp/Plone/zinstance$ sudo ./bin/plonectl restart

「サイト設定」→「アドオンプロダクト」(Site SetUp -> Add-on Products) でPloneboard 2.0をチェックしてインストール(Install)ボタンを押せば導入完了です。


レイアウトをいじくる

しかしこのプロダクト、新しい発言が下にきます(しかも複数ページに渡る場合は最後のページになる)。やはりこれが嫌な人は私以外にもいるみたいです。

こんな話もされています。
#188 — List comments in reverse order

getCommentsのソース(/home/moro/tmp/Plone/buildout-cache/eggs/Products.Ploneboard-2.0-py2.4.egg/Products/Ploneboard/content/PloneboardConversation.py )を見るとこう書いてあるので:

144     def getComments(self, limit=30, offset=0, **kw):
145         """
146         Retrieves the specified number of comments with offset 'offset'.
147         In addition there are kw args for sorting and retrieval options.
148         """

sort_orderを渡してあげたら並び方が変わります。(/home/moro//tmp/Plone/buildout-cache/eggs/Products.Ploneboard-2.0-py2.4.egg/Products/Ploneboard/browser/comment.py 119行目 ConversationView):

- return [self._buildDict(ob) for ob in self.context.getComments(limit=limit, offset=offset)]
+ return [self._buildDict(ob) for ob in self.context.getComments(limit=limit, offset=offset, sort_order='reverse')]

しかし残念ながらスレッド表示にするとソートが反映されません。TODO.txt曰くなんかいろいろまだみたいです。:

7     - How/where/whether should threaded_conversation_view be enabled
8         - per user preference? per forum?
9         - does it cause confusion if different users have different views?

なにはともあれ、これでひとまずは新しい発言が上にくる単純な掲示板ができました。

(インストールしただけで終わったらTipsにならないから無理に手を加えた、ですって? シー! シー!)

さらに付け焼き刃ですがconversation_view.pt(/home/moro/tmp/Plone/buildout-cache/eggs/Products.Ploneboard-2.0-py2.4.egg/Products/Ploneboard/skins/ploneboard_templates/conversation_view.pt)70-91行目を55行目へ移せば入力欄を上に持ってこれます。

ついでですが、発言の一つ一つに公開状態が設定されているので、公開範囲を限定して使う場合は誤って全体に公開されていないかなどの注意が必要です。


まさか自分に回ってくるとは思っていなかったので微妙なネタかとは思いますが、誰か一人にでも役に立てば幸いです。

次は…まだ決まっていません。

次は本文にちらりと登場もした @jhotta さんが準備中ということです。

ちなみに最初にお願いした時にはこんな返事が来ていました。:

@NaotoMorooka Don't ask me why. But, I can't write an article on 22th.
http://twitter.com/jhotta/status/6917041234

なかなか決まらず困っていたところを見るに見かねてでしょう。無理を通して助けていただいて感謝感激であります。


ところで本日12/21は回文の日だそうですね。ものすごい回文も盛りだくさんのこちらをどうぞ。

ロリコン外科医いい加減懲りろ
http://vipvipblogblog.blog119.fc2.com/blog-entry-234.html
ドキュメントアクション
コメントを追加

下のフォームに記入してコメントを追加することができます。プレーンテキスト形式。

(必須)
Tell us your name.
(必須)
Enter your e-mail address.
(必須)
(必須)