LOGIN ID Password Auto Login Register Now! Lost Password?
XUGJ Wiki

ModuleManuals

xhnewbb anchor.png

機能:フォーラム
種別:BBS(掲示板)
作者:GIJOE
バージョン:1.30
動作環境:XOOPS2.0.x、俺的XOOPS、XOOPS2.2.x、XOOPS Cube Legacy 2.1(管理画面の一部は動かない)
配布元:http://xoops.peak.ne.jp/

Page Top

概要 anchor.png

フォーラム(いわゆる「掲示板」)のモジュールです。
複数のカテゴリを設定でき、そのカテゴリの中にまた複数のフォーラムを設置できます。
フォーラムごとに閲覧権限や投稿権限を設定できます。

XOOPS2.0の標準モジュールであるnewbb1.0をベースに、Ryuji氏を中心としたサイト、Xoops Hackersで開発されたのが始まり。その後、GIJOE氏に移管され現在に至っています。
ちなみに名称はXoopsHackers版newbbの意味。ベースモジュールのnewbb1.0は、元々phpBBという独立した掲示板プログラムをXOOPSモジュールとして移植したもの。

Page Top

インストール anchor.png

通常の方法でインストールします。
newbb1.0との共存もまったく問題ありません。
1.30以降、XoopsDhtmlTextareaプラグインのインストールが必須になっています。
インストールする前に、アーカイブ内の class/smarty/plugins/function.xoopsdhtmltarea.php を、XOOPS_ROOT_PATH/class/smarty/plugins/ にコピーしておいてください。
このプラグインがなんらかの理由ですでに導入されていれば特に更新する必要はありません。

Page Top

アップグレード anchor.png

xhnewbbのバージョンが上がった場合、modules/xhnewbb/ の中身を、新アーカイブの中身にすべて上書きします。(このフォルダ内にはユーザファイルは存在しないので、いったん、全削除するのも良いでしょう)

1.1.x->1.2.x や 1.2.x->1.3.x など、2桁目が上がる場合は、モジュールアップデートも必要です。

また、newbb1.0からxhnewbbに移行する場合は、やや泥臭いですが、以下の方法をとってください。

  • xhnewbb最新版を新規インストールする
  • xhnewbbのテーブルをいったん削除する
  • phpMyAdmin等を利用してnewbb1.0の各テーブルをリネームする(bbをxhnewbbに変更する)

newbb1.0テーブル群

(prefix)_bb_categories
(prefix)_bb_forum_access
(prefix)_bb_forum_mods
(prefix)_bb_forums
(prefix)_bb_posts
(prefix)_bb_posts_text
(prefix)_bb_topics

xhnewbbテーブル群

(prefix)_xhnewbb_categories
(prefix)_xhnewbb_forum_access
(prefix)_xhnewbb_forum_mods
(prefix)_xhnewbb_forums
(prefix)_xhnewbb_posts
(prefix)_xhnewbb_posts_text
(prefix)_xhnewbb_topics
  • xhnewbbをモジュールアップデートする
    これにより自動的に、テーブル構造が違うものについてはALTER TABLEされ、足りないテーブル(prefix_xhnewbb_users2topics)も追加されます。
Page Top

アンインストール anchor.png

通常通りアンインストールします。

データを保存しておきたい場合は、アンインストール実行前に、上述したxhnewbbテーブル群を保存しておいてください。

データベース以外の保存しておくべきユーザファイルはありません。

Page Top

あらかじめ知っておくべき事 anchor.png

Page Top

階層構造 anchor.png

xhnewbbには4段階の階層構造が存在します。

カテゴリ
フォーラムを束ねたものです。実際には特に重要な意味はなく、フォーラムトップ画面において、視覚的なジャンル分けをしているに過ぎず、カテゴリ単位での権限設定もありません。
フォーラム
xhnewbbの実質的な最上位構造です。2chでは板に相当します。フォーラムの中に各話題であるトピックを持ちます。フォーラム毎に行える設定も多数存在します。各種アクセス権限もフォーラム単位で設定可能です。
トピック
いわゆる「話題」です。2chではスレッドに相当します。この中に各発言であるポストを持ちます。newbb1.0では、スレッドとトピックという2つの用語がごちゃまぜに使われて判りづらくなっていたので、xhnewbbではトピックに用語を統一しています。
ポスト
各投稿です。文字修飾の設定は、ポスト単位で可能です。基本的に管理者以外が出来ることはポストの追加だけです。新規投稿を行う時だけ、ポストの追加と同時に、トピックも自動的に追加されます。
Page Top

権限設定 anchor.png

通常、XOOPSの権限設定はグループ単位で行いますが、phpbbの構造を引き継いだnewbb1.0およびxhnewbbだけは、ユーザ個別に設定される権限が多く残っています。

そのため、xhnewbbの権限設定はやや複雑です。

基本的に、ユーザは以下のように分けられます。

管理者
xhnewbbのモジュール管理権限を与えられたグループに属するユーザです。他の権限を何も持っていなくても、xhnewbbのモジュール管理者権限さえ持っていれば、「管理者」です。逆に、システム管理者権限を持っていても、xhnewbbのモジュール管理者でなければ「一般ユーザ」です。(ここは通常のモジュールと同じ)
モデレータ
newbb系特有のユーザ個別の権限です。フォーラム毎に設定され、モデレータ権限を持つフォーラムに限っては、管理者と同じ権限を持ちます。
一般ユーザ
通常の権限を持つログインユーザです。もちろん、xhnewbbのモジュールアクセス権限を持つ必要があります。あるフォーラムでモデレータ権限を持つユーザでも、他のフォーラムではこの一般ユーザ扱いとなります。
ゲスト
ログインしていないサイト訪問者です。ゲストにxhnewbb各フォーラムの内容を読ませたい場合、xhnewbbのモジュールアクセス権限をゲストに許可します。さらに投稿権限まで与える場合は、フォーラム毎に設定する必要があります。

さらにプライベートフォーラムでは、読み・書き両方について、ユーザ個別に許可・不許可することが出来ます。また、xhnewbbの特徴として、グループ毎にも許可・不許可を与えることができます。

以下の「いずれか」の条件を満たすユーザーは、あるプライベートフォーラムを読むことができます。

  • xhnewbbのモジュール管理者 (…を与えられたグループに所属するユーザ)
  • そのプライベートフォーラムのモデレータ
  • 「プライベートフォーラムの設定」によって、閲覧権限を与えられたグループに所属するユーザ
  • 「プライベートフォーラムの設定」によって、閲覧権限を与えられたユーザ

以下の「いずれか」の条件を満たすユーザーは、あるプライベートフォーラムに書き込むことができます。

  • xhnewbbのモジュール管理者 (…を与えられたグループに所属するユーザ)
  • そのプライベートフォーラムのモデレータ
  • 「プライベートフォーラムの設定」によって、投稿権限を与えられたグループに所属するユーザ
  • 「プライベートフォーラムの設定」によって、投稿権限を与えられたユーザ

当たり前ではありますが、投稿権限だけを与えて閲覧権限を与えない、ということは出来ません。

また、ゲストはプライベートフォーラムにアクセスする手段はありませんし、閲覧権限のないプライベートフォーラムは、フォーラムトップにも表示されません。

Page Top

xhnewbbのブロック anchor.png

管理画面の「ブロック・グループ管理」で操作します。(Cube2.1ではこの画面は動かないので、代わりにaltsysを利用すること)

xhnewbbには、トピックを一覧表示するブロックが2つだけ用意されています。この2つは、まったく同じ性格を持ちます。

トピック一覧ブロックは、その名の通り、トピックを一覧表示しますが、表示対象トピックを絞り込んだり、任意の順序(日付順、ヒット数順、コメント数順)で並びかえたりして、様々な用途に利用できます。

これらのオプションを変更する場合、対象ブロックの「編集」を押します。

表示件数
トピック一覧に表示される行数です。
フルサイズ表示する
フルサイズ表示では、フォーラム名・トピックタイトル・返信数・表示数・最終投稿日時・最終投稿者が表示されます。「いいえ」とすると、トピックタイトル・返信数・最終投稿日時だけが表示されます。実際には、この振り分け処理もテンプレートで行っているので、テンプレート次第でどのような表示方法も可能です。
並び順
いわゆる「最新投稿一覧」機能の場合、「新着降順」を選びます。それ以外はあまり一般的ではないと思いますが、「ヒット数降順」を選ぶことで「注目トピック一覧」なんてブロックにすることも一応は可能です。
対象とするフォーラムの公開タイプ
プライベートフォーラムの扱いをどうするかを指定します。通常は、「公開フォーラムのみ」としますが、xhnewbbでは、プライベートフォーラムに権限のないユーザには、トピックタイトルを自動的に隠しますので、「全フォーラム」としてもさほど問題はありません。ただしこの場合には、ブロックキャッシュをONにしないでください。
チェックしたトピックの優先表示
注目トピック機能を利用している場合にのみ意味を持ちます。ここを「はい」とすると、そのユーザが「注目」しているトピックが常に最上位に表示されます。これもブロックキャッシュがONだとおかしくなる機能です。
トピックタイトルの代わりに最新投稿タイトルを表示する
通常は、そのトピックの最初の投稿のタイトルが一覧表示されますが、最後についた返信(ポスト)のタイトルを表示するようにも変更可能です。
カテゴリーを指定する
トピック一覧をカテゴリ単位で絞り込んで表示するための絞り込み機能です。空欄の場合は絞り込みされません(全カテゴリー内のトピックが選ばれる)。カテゴリー番号1のフォーラム内にあるトピック一覧を表示したい場合には、[1]と入力します。複数指定も可能で、カテゴリー番号1および3のフォーラム内にあるトピック一覧を表示したい場合には、[1,3]と入力します。

このブロックは複製が可能なので、カテゴリごとなど、用途別のブロック表示ができます。

ただし、複製されたブロックは、複製元のブロックと同じテンプレートを利用することになるため、テンプレートを使い分けてカスタマイズすることはできません。

xhnewbbには、あらかじめ二つのブロックが用意されていますが、この2つを使い分けることで、異なるテンプレートを利用できます。それぞれ、xhnewbb_main_block.html と xhnewbb_main_block2.html です。(最初から2つあるのはそういう理由です)

ただ、このやり方でも、テンプレートカスタマイズを3種類以上欲しい場合は対応できません。

www.jidaikobo.com_block.gif
Page Top

使用方法(制作側) anchor.png

インストールをしたらまずは、管理画面の「カテゴリの追加」で、カテゴリを新規作成します。カテゴリが
次に「フォーラムの追加」で、そのカテゴリに属するフォーラムを設置します。

Page Top

フォーラムの追加(編集) anchor.png

xhnewbb では、フォーラム単位でさまざまな設定ができます。
新規にフォーラムを追加する、または既存のフォーラムに編集を加える際には、以下の項目を設定します。

フォーラム名フォーラムの名前です。
フォーラムの説明フォーラムの説明です。モジュールトップ画面に表示されます。
モデレータフォーラムごとの「管理担当者」をユーザ単位で設定します。大きなサイトの場合、一人の管理者がすべてのフォーラムを管理するのは負担になりますが、フォーラムごとに担当者を設定することで、サイト管理者以外の登録ユーザでもスレッドのロックや削除ができるようになります。
カテゴリフォーラムが所属するカテゴリを選択します。

|投稿権限|投稿権限を設定します。->

  • 全ての訪問者:登録者だけなく、ゲストにも書き込み許可を与えます。->
  • 登録ユーザのみ:サイトの登録者に書き込み権限を与えます。->
  • 管理者/モデレータのみ:管理者とモデレータのみが書き込めます。|

|内容の公開・非公開|閲覧権限の設定です。->

  • 公開:xhnewbbのモジュールアクセス権限さえあれば、誰でも読むことが出来ます->
  • プライベート:管理者・モデレータおよび「プライベートフォーラムの設定」で指定されたユーザだけが読むことができます。上の「投稿権限」設定よりも優先度が高く、プライベートフォーラムに設定されて閲覧権限のないユーザは、投稿権限があったとしても、投稿・閲覧ともに出来ません。|
HTMLタグを使用可能にする記事投稿にHTMLを許可するかどうかを選択できます。セキュリティ配慮の観点から、許可しない仕様にした方が無難です(プライベートフォーラムであっても)。基本的に文字修飾は、BBCodeを利用します。
署名の追加を可能にするXOOPS のユーザ情報の編集で設定した署名を挿入するかどうかを選択できるようになります。
人気トピックに必要な最低投稿数1つのトピックに対して、ここに指定された数以上の投稿があると、そのスレッドは「人気トピック」という表示になります。
1ページ毎に表示する投稿数フラット表示のトピック内表示で1ページに表示するポスト数を設定します。
1画面に表示するトピック数フォーラム内の「トピック一覧」で表示する記事数です。
フォーラムの並び順フォーラムトップ画面で、同一カテゴリ内においてどの位置に表示されるかを指定するための優先度です。この数字が少ないものほど、上に表示されます。
Page Top

プライベートフォーラムの設定 anchor.png

プライベートフォーラム扱いにしたフォーラムの閲覧および投稿権限を設定できます。グループごと、ユーザごとの設定が可能です。それぞれ、チェックをしたら、「送信」ボタンを押して反映させます。

Page Top

投稿数の再集計 anchor.png

xhnewbbでは、フォーラムがトピックの、トピックがポストの情報を、それぞれ重複して持っていますが、それが途中で狂うケースもあり得ます。(ポストが削除された場合など)

もし、フォーラムの投稿数や最終投稿日、トピックの返信数や最終更新日といった値が正しくないと思われる場合に使用してください。

「投稿数」という用語で、ユーザアカウントの「投稿数」を想像してしまうかもしれませんが、これとはまったく関係ありません。

Page Top

カテゴリの追加、編集、削除、配置変更 anchor.png

それぞれのメニューでカテゴリの追加、編集、削除、配置変更ができます。

Page Top

一般設定 anchor.png

投稿本文内の外部画像を許可する投稿本文に[img]タグで外部サイトの画像を表示させると、このサイトの訪問者のIPやUser-Agentを抜かれることにつながります
署名内の外部画像を許可する署名に[img]タグで外部サイトの画像を表示させると、このサイトの訪問者のIPやUser-Agentを抜かれることにつながります
解決済機能を利用するメッセージアイコンの色などで、トピックのテーマが「解決した」かどうかを区別する機能を使うかどうかを決定します
注目トピック機能を利用するユーザがそれぞれ、特定のトピックに「注目」マークをつけることのできる機能です。気になるトピックをチェックしたり、自分の投稿が埋もれてしまうことを避けるために利用できます。
トピック一覧でのページ分割単位全トピック一覧画面(全フォーラムまたはカテゴリ毎のトピックを最新順に並べて表示する画面)の1画面に表示するトピック数を設定します。

|自己編集タイムリミット(秒)|一般ユーザが自分の投稿を変更する時の設定です。(管理者やモデレータは常に編集できます)~-> 自己編集を許可したくない場合は0を、許可する場合は変更の制限時間を秒で指定します。~-> 例えば、86400と設定した場合、投稿して1日経つと、その中身を書き換えることができなくなります。| |自己削除タイムリミット(秒)|一般ユーザが自分の投稿を削除する時の設定です。(管理者やモデレータは常に削除できます)~-> 自己削除を許可したくない場合は0を、許可する場合は削除の制限時間を秒で指定します。(自己編集と同じ)~-> ただ、自己削除に関しては、子ノードがつけられた記事は制限時間でも削除できません。あくまでスレッド構造としての子ノードなので、時間的に後の投稿があっても、その投稿が削除対象投稿の子でなければ問題ありません。なお、一般ユーザによる自己削除でなく、管理者やモデレータによる削除であれば、子ノードがある投稿も子ノードごと削除することが出来ます。|

モジュール用CSSのURIこのモジュール専用のCSSファイルのURIを相対パスまたは絶対パスで指定します。index.cssを、XOOPS_URL/themes/(theme)/ 下にxhnewbb.css とコピーして使う、というのがプロっぽい使い方でしょうか
Page Top

使用方法(利用側) anchor.png

まずフォーラムのトップページに入ります。カテゴリとそれにぶら下がるフォーラムがあるので、関心のあるフォーラムに入ります。
フォーラムの中にはトピックが並びます。トピックに加わることもできますし、投稿権限があれば、新規投稿ボタン(デフォルトでは右肩に[NEW TOPIC]と表示)でフォーラム内に記事を投稿できます。

www.jidaikobo.com_ichiran.gif

トピックに加わる場合は、各トピック末尾の返信ボタン(デフォルトでは[REPLY])を押すことで、投稿に対する返信などができ、トピックをのばすことができます。

www.jidaikobo.com_topic.gif
Page Top

フラット表示とスレッド表示 anchor.png

トピック表示画面では、記事の表示方法を「フラット表示」と「スレッド表示」から選択できます。フラット表示にすると、単純な時系列で記事が並びます。スレッド表示にすると、一つの記事が抽出され、その記事の文脈をあらわすツリー構造が現れます。

Page Top

検索 anchor.png

XOOPSのglobal検索とは別に、フォーラムだけの検索も実装されています。xhnewbb専用の検索コントローラであるため、キーワードだけでなく、投稿者やフォーラム単位での検索ができることが特長です。

デフォルトでは、フォーラム一覧画面の画面右下に「条件検索」というリンクが置いてあるだけなので、とても見つかりづらく、この機能に気づかない人がほとんどです。

記事を検索されることの多いフォーラムなどでは、MultiMenuなどでリンクを作っておいてあげると親切かも知れません。

なお、newbb1.0ではこの機能がバグっていて、ほとんど使い物になりません。

Page Top

注目記事 anchor.png

注目記事機能

Page Top

解決済 anchor.png

解決済機能

Page Top

テンプレートセット anchor.png

Page Top

基本テンプレート anchor.png

xhnewbb_index.htmlxhnewbb のカテゴリ/フォーラムインデクスページのテンプレート
xhnewbb_search.htmlフォーラム内の条件検索画面のテンプレート
xhnewbb_searchresults.htmlフォーラム内の検索結果のテンプレート
xhnewbb_thread.html個別記事のテンプレート
xhnewbb_viewallforum.htmlトピック一覧のテンプレート
xhnewbb_viewforum.html特定フォーラム内のトピック一覧のテンプレート
xhnewbb_viewtopic_flat.html記事のフラット表示時のテンプレート。この中に xhnewbb_thread.html が含まれます。
xhnewbb_viewtopic_thread.html記事のスレッド表示時のテンプレート。この中に xhnewbb_thread.html が含まれます。
xhnewbb_post_form.html投稿フォームのテンプレート。投稿モードによって処理分けするときは、変数<{$mode}>で判断すること("newtopic","reply","edit","preview"の4種)。
xhnewbb_cutpasteposts.html投稿切り貼り画面のテンプレート
xhnewbb_delete.html投稿削除画面のテンプレート

xhnewbb1.3以降では、投稿・編集画面からXoopsFormを廃したために、テンプレートによるカスタマイズが出来るようになりました。これがnewbb系との違いでもあります。

Page Top

ブロックのテンプレート anchor.png

xhnewbb_main_block.htmlトピック一覧表示用ブロックのテンプレート
xhnewbb_main_block2.htmlトピック一覧表示用ブロックのテンプレート

xhnewbbのブロックは、本質的には1種類しかありませんが、テンプレートを使い分けたい場合のために、最初から2つのブロックが存在します。ブロックを複製して利用する場合は、どちらのテンプレートを利用したブロックであるかを把握しておくと管理が楽になります。

Page Top

ライセンス anchor.png

GPLv2に従います。

Page Top

関連モジュール anchor.png

newbb1.0標準モジュールhttp://jp.xoops.org/
newbb2.0Predatorさんを中心とするメンバーによる拡張。すでに開発終了http://dev.xoops.org/

|CBB3.0|newbb2.0を引き継ぐ形でphpppさんがさらに機能拡張したもの。~-> dirnameはやはりnewbb固定であるためnewbb1.0等との共存はできない。|http://dev.xoops.org/|


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 12556, today: 4, yesterday: 0
初版日時: 2006-08-20 (日) 15:41:05
最終更新: 2014-01-13 (月) 22:06:01 (JST) (1345d) by jidaikobo
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities