議論の許可

ploneサイトを見ている他の人が、ある文書などに対してコメントをつけて議論をすることができます。ここでは、その設定方法について説明します。

takanori

目次

アイテムに対する議論の許可[item]

ある特定のアイテム(例えばこの文書)に対してコメントが付けられるようにするには、まず プロパティ タブをクリックします。

Click property tab

すると、このアイテムに対するプロパティ(metadataという言い方もします)の設定画面が表示されます。ここにはキーワードや公開年月日の著作権などの様々な入力欄があります。

このアイテムに対してコメントが付けられるようにするには、 'このアイテムの議論を許可する' という設定項目の値を 'デフォルト' から 許可する に変更します。

Select allow discussion

すると、このように コメントを追加 ボタンが表示されるようになります。 このボタンをクリックすることにより、特定のアイテムに対してコメントをつけられるようになります。

Add comment button

タイプに対する議論の許可[type]

上記の方法でアイテムに対してコメントを付けられるようにする設定はわかりました。しかし、この方法ではploneサイト上の全てのアイテムに対して同様の処理を行なわないといけないため、非常に大変です。

そのような場合、ploneではアイテムの種類(タイプ)毎にコメントを付けられるかの設定を行ないます。 (その値が、デフォルト としてアイテムに反映されます。)

その設定を行なうためには、zopeの管理画面を開いて portal_types を選択します。

Select portal_types

すると、このploneサイトで扱えるアイテムの一覧が表示されます。 ここで、コメントを付けられるようにしたいアイテムの種類(タイプ)を選択します。 ここでは Document( = 文書)を選択しています。

Select document type

Document タイプの詳細を表示すると、Allow Discussion? というチェックボックスがあります。ここが、この種類(タイプ)のアイテムのコメントを付けられるかどうかの初期値となっています。ここをチェックして保存します。

Check allow discussion checkbox

このように設定すると、このploneサイト上の全ての文書タイプのアイテムに対して、コメントを追加 ボタンが表示されるようになります。

匿名ユーザがコメント追加[anonymous]

初期設定ではコメントの追加は、ploneサイトのメンバーでなければ実行できません。もし、ログインしていない状態でコメントをつけられるアイテムを表示した場合には コメントを追加するためにログイン というボタンが表示されます。

log in to add comments button

このように表示されるのは、ploneの初期設定ではコメントの追加は匿名ユーザに対して許可されていないからです。 もしも匿名ユーザでもコメントを書き込みできるようにするためには、権限の変更を行なう必要があります。 権限の変更はzopeの管理画面でploneサイトのトップのアクセスした状態で Security タブをクリックします。

Select security tab

この、セキュリティ設定の画面では Manager, Member 等の各ロール(ユーザが属するグループのようなもの)ごとに、許可する操作をチェックしています。

コメントを追加する操作は Reply to item なので、ここを Anonymous (匿名)でも書き込みができるようにチェックボックスをチェックして保存します。

Reply to review allow Anonymous user

すると、このサイトのように文書に対して匿名でもコメントが追加できるようになります。

匿名ユーザでも名前を設定[username]

ここまでの設定で匿名ユーザもコメントを書けるようになりましたが、↓のコメントに書いてある通り匿名の場合は必ず「投稿者 無名ユーザ」と表示されるようになっていました。

そこで、匿名ユーザでも(信頼性はないけれど)名前を書けたほうがいいだろう、ということでカスタマイズしてみました。

なお、下記の設定変更の例は plone 2.1 をベースに書いているので、いじるポイントは近いと思いますが plone 2.0.x ではちょっと違う感じになると思います。

まず、コメントを書く込むためのスクリプト /portal_skins/plone_form_scripts/discussion_reply をカスタマイズします。

まず、if username or password: にぶらさがっている部分をばっさり削除かコメントアウトします。ここは匿名ユーザがユーザ名とパスワードを指定したときに入ってくる部分ですが「コメント書き込み時に初めて認証などしない!!」とわりきってばっさり削除です。

次にユーザ名を取得している部分を変更します。元のコードでは下記のように認証されたユーザのユーザ名を取得しています。

creator = mtool.getAuthenticatedMember().getUserName()

ここを単純に入力フォームに入力されたユーザ名を設定するようにします。

creator = username

これで、コメント追加時に匿名ユーザは自分の名前を指定してコメントを書き込めるようになります。

また、このサイトではついでに /portal_skins/plone_forms/discussion_reply_form もカスタマイズして、パスワード入力フォームを表示しないようしています。

匿名ユーザでのコメント追加のテスト用文書を作成しました。 コメント追加テスト からどうぞ。

注意点[caution]

匿名でコメントを追加できるようにするのは、書き込みが気安く活発になる反面、下記のような危険性があるので注意が必要だと思います。

とりあえずこのサイトでは、文書とファイルに対しては、匿名ユーザによるコメントを許可しておこうと思います。 なにか問題があったらやめるかも知れませんが。