MovableTypeで自由にトピック立てできる掲示板を作る

Posted by
ぴろり
Posted at
2006/05/17 23:24
Trackbacks
関連記事 (1)
Comments
コメント (20)
Post Comment
コメントできます
Category
MovableType カテゴリ
  で本サイトとは別のにエントリを一つ作り、そのエントリのコメント欄を掲示板や一言 BBSとして利用する方法が広く使われているようです。しかし、この方法では返信されたコメントが時系列で一列に並んでしまうために、特定の話題について読むのが大変になります。
 もし、ビジタがトピックに応じて自由にエントリを立てることができれば、更に柔軟に、効果的に掲示板を運用することが可能になるのではないでしょうか? このエントリでは、これを実現する のための小さな を紹介し、ビジタが自由にトピック立てできる掲示板の作成方法を紹介しています。
この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する

 MTBBSをできます。

MTBBS  new
3a2819a2fa9b0b0accd6676720b10371
ver.0.20, '06/05/19, 1908butes, 3.2ja2 で動作確認
  • カテゴリを指定してトピック立てできるようにしました
  • トピックのコメント受付け設定を上書きするようにしました

動作の概要

 MTBBSは、実行されると管理画面経由せずに、 に直接エントリを新規投稿するためのです。 内部からの各種メソッドを呼び出し、これを実現しています。 エントリ毎のコメント投稿フォームとは別に、新規トピック作成のためのフォームを用意し、 そこからMTBBSを呼び出すようにします。

導入方法

  1. の管理画面から、掲示板として使用するを新規作成します
  2. ここで新規作成したIDを控えておきます

    IDはURLにある(MT のインストールパス)/mt.cgi?ほにゃらら&blog_id=XXXのXXX(数字)部分です

  3. 作成したに投稿できるユーザを設定し、そのユーザの投稿者IDを控えておきます

    投稿者IDはURLにある(MT のインストールパス)/mt.cgi?ほにゃらら&author_id=XXXのXXX(数字)部分です

  4. したアーカイブを解凍します
  5. mtbbs-create-entry.cgiをエディタで開き、環境設定を行います(後述)
  6. mtbbs-create-entry.cgiのインストールディレクトリ(mt.cgiと同じディレクトリ)にアップロードします
  7. mtbbs-create-entry.cgiとして動作するよう実行権限(700 or 755)を与えておきます
  8. 作成したを修正し、mtbbs-create-entry.cgiを呼び出します(後述)

MTBBSの環境設定

 使用の前に、mtbbs-create-entry.cgiを修正する必要があります。 mtbbs-create-entry.cgiの動作設定は、 ファイルの先頭付近に以下のような書式でまとめて記述してあります。 これ以外の部分については触る必要はありません。
BLOG_ID
 導入する際に控えておいたIDを指定します。 新規トピックは、ここで指定されたに新規エントリとして作成されます。
AUTHOR_ID
 導入する際に控えておいた投稿者IDを指定します。 新規トピックは、実際にはこの投稿者によって新規投稿されたエントリとして扱われます。 BLOG_IDで指定されたに対して投稿権限を持っていなければなりません。
DEFAULT_CATEGORY_ID new
 新規トピックのカテゴリが指定されなかった場合、ここで指定されたカテゴリに投稿されます。 のカテゴリ管理画面から、カテゴリIDを控えておきます。 undefを指定すると、カテゴリは設定されません。

プライマリカテゴリのみ設定できます。複数のカテゴリを設定することはできません。

INIT_STATUS
 新規トピックの初期の公開状態です。 "公開"(MT::Entry::RELEASE())または"下書き"(MT::Entry::HOLD())を指定します。 "下書き"の場合は、管理者が手作業で新規トピックを承認(下書き状態のエントリを公開に変更)する必要があります。
DEFAULT_ALLOW_COMMENTSnew
 新規トピックのコメントの受付け状態を指定します。通常は 1 を設定し、変更の必要はありません。
URL_ERROR
 処理中にプログラム内部でエラーが発生した場合にリダイレクトされるページのURLを指定します。 undef を指定した場合、のエラー画面が表示されます。
URL_IPBANNED
 新規トピックの要求があったリモートホストが、の拒否IPリストにあった場合、 リダイレクトされるページのURLを指定します。 undef を指定した場合、のエラー画面が表示されます。
URL_SUCCEED
 新規トピックが正常に作成された場合にリダイレクトされるページのURLを指定します。
CHECK_EMPTY_TITLE
CHECK_EMPTY_TEXT
CHECK_EMPTY_TEXT_MORE
CHECK_EMPTY_EXCERPT
CHECK_EMPTY_KEYWORDS
 順に、タイトル、本文(body)、追記(extend)、概要、キーワードについて、  パラメータに1を指定すると、そのフィールドをチェックし、空欄の場合にエラーとします。
CHECK_EMPTY_CATEGORY new
 トピック立てされる時に、カテゴリ指定を強制します。

MTBBSの使い方

 掲示板として使用するで、ビジタが新規トピックを立てるためのフォームを用意します。  それぞれのフィールド名と、のエントリの対応は次の通りです。 どのフィールドをどの用途に使うかは自由ですが、 掲示板で使用したタグと合わせておく必要があります。

例えば、トピック立てしたユーザの名前をtext_moreフィールドとした場合、 タグには「投稿者:<$ntryMore$>」と書く必要があります。

フォームのフィールド名対応するのフィールド
titleタイトル
textエントリーの内容(body)
text_more追記(extend)
excerpt概要(excerpt)
keywordsキーワード
category newプライマリカテゴリ

MTBBS使用上の注意

  • へのログインユーザ名やログインパスワードは使用していません
  • mtbbs-create-entry.cgi に渡されたデータはサニタイズされません
  • タグを用いてフィールドの内容を出力する時点で、encode_htmlを用いるなどして必ず安全にしてください

    トピックの内容などに悪意のあるを埋め込まれる危険性があります。 そのまま書き出すとXSS脆弱性となります。

  • MTBBSでは連続投稿の規制などを行っていませんので、 それを悪戯に悪用される可能性があります
  • MTBBSだけで使用する投稿者を用意しておくのが安全です

MTBBSを便利に使うためのヒント

  • 新しくコメントされた順にトピックを並べるなどの方法は、タグで対応します
  • 一つのトピック(エントリ)に付いたコメントが多くなる場合などには、 MTPagenate プラグイン を使ったページ分割が便利です
  • MTCommentTree プラグインと併用すれば、 スレッド掲示板を作ることも可能です
  • 掲示板でありながら、トピック毎にトラックバックを受信できるなど、新しい使い方が考えられます
  • 掲示板の新着コメントをで配信するなんて使い方が考えられます

トラブルシューティング

本文・追記が <p> タグで囲まれてしまう
  の仕様で、エントリの改行設定が"改行を変換する"に設定されている場合に発生します。 スタイルシートを使って、マージンを 0 に指定するなどして回避してください。

その他


この記事を読んだ人はこんな記事も読んでいます ?

その他の関連する記事

この記事のアーカイブ

全ての記事 »
2006年
全てのカテゴリ »
MovableType
全てのタグ »
,

関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

Weekend Biker's (WEB's) WEB のスクリーンショット
タイトル
読者投稿機能つきブログ開始しました
Trackbacked at
2006/11/08 01:01
from
Weekend Biker's (WEB's) WEB
評価
Web Scouter
概要
最近、ホームページをブログに変え、ブログの中にこれまで使っていたBBSを取り込む...

この記事にトラックバックを送るには?

寄せられたコメント (全 20 件中、最新 5 件まで表示しています)

Posted by
晴義
at
2007/10/15 00:14
ID
X0zK7t1k

MTBBS使わせていただいております!ありがとうございますっ。
そして早速なんですが…SPAM攻撃にあっています…。
CGIの知識に乏しいので、具体的な策がとれずにいます。
何かアドバイがありましたら、宜しくお願い致します!!!

む…↓このしたの確認用数字、使えそうですね。

Posted by
マイナン
at
2007/04/02 19:04
ID
8gQstJgc

はじめまして。
MTBBSを使用させていただいているのですが、
BBSのフォームから投稿したあとに「ページが表示されません」
というページが出ます。

BLOG IDやAUTHOR IDもすべてチェックしました。
ログイン画面は表示されませんが、投稿そのものはきちんとできています。
考えられる原因は、何でしょうか?
お忙しいとは思いますが、ご回答のほどよろしくお願いいたします。

Posted by
さかた
at
2007/03/10 15:21
ID
Oc/HjeHw

始めましてさかたと申します。
とても優れたcgiですね。早速使わせていただきました。
ありがとうございます。

Posted by
stan
at
2007/02/08 09:47
ID
iaOombqY

ぴろりさん,初めまして。
いつも記事を読ませてもらっています。
そして,MTBBSをつかわせてもらってます。
どうもありがとうございます!

Posted by
ぴろり
at
2006/12/23 02:06
ID
2EDoSe..

> rebuild_entry (Entry => $entry, BuildDependencies => 1);
報告ありがとうございました
なるほど,エントリに関連するページだけをビルドするのがスマートですね!
確認できたらリリースに含めたいと思います

コメントを投稿する

 (必須/公開)
 (必須/非公開)
 

コメントスパム防止のため投稿前に ランダムな数字 ? を入力してから投稿してください。 お手数ですがご協力のほど宜しくお願いいたします。(必須)