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

ModuleManuals

Bulletin2(ブリティン) anchor.png

機能:ニュース
種別:動的コンテンツ
作者:suin>GIJOE
バージョン:2.04、HD2.10
動作環境:XOOPS2.0〜、XOOPS Cube Legacy 2.1
配布元:
(オリジナル版)http://xoops.suinyeze.com/ (旧:http://suin.jp/)
(GIJOE Hack版)http://xoops.peak.ne.jp/
複製:Duplicatable V3

Page Top

概要 anchor.png

  • ニュース記事の投稿・編集・削除ができます。
  • 時系列のアーカイブを作れます。
  • RSS配信できます。
  • newsモジュールの記事を取り込んでのモジュールの移行ができます。
  • 関連した記事を選んで,その記事へのリンクを表示することができます。bulletin モジュールを複数入れている場合は,bulletin 間をまたがって関連づけられます。
  • 同じカテゴリに属する最新記事の一覧を表示できます。
  • Duplicatable V3です。通常であれば /modules/bulletin/ となりますが、bulletin というフォルダ名を,重複しない任意のフォルダ名にして、インストールすることでモジュールの複製が可能です。
Page Top

インストール anchor.png

Duplicatable V3モジュールであるため、XOOPS_TRUST_PATHの設定が必要です。
アーカイブを展開した一番上にある、html/modules/bulletin を、一般的なモジュールフォルダ(XOOPS_ROOT_PATH/modules/)内にコピーし、xoops_trust_path を、mainfile.php で設定したXOOPS_TRUST_PATH側にコピーします。

(ここに、エクスプローラのスクリーンショットを挿入)

このような形でファイル群を用意できて初めて、管理画面からモジュールインストールを行います。

また、XOOPS_ROOT_PATH/modules/ 以下に格納するフォルダ名は、bulletinでなくても構いません。半角英数字およびアンダーバーから構成される任意のフォルダ名をつけてください(ハイフンは非推奨です)。いくつ用意しても構いません。それぞれ独立したモジュールとしてインストール可能です。

Bulletin2のアーカイブ内には、「XOOPS_TRUST_PATHについて.pdf」という図解付きの解説ファイルも用意されています。これを読みながらインストールすれば、より判りやすいでしょう。

Bulletin2を利用する際には、一緒に altsys をインストールすると、より優れた管理画面を利用することができます。altsysのインストールは先でも後でも構いません。両者が揃った時点で、自動的に管理画面が再構築されます。

Bulletin2をnews1.1の置き換えとして利用する場合は、管理者画面よりインポート作業を行うことで、その記事を引き継ぐことができます。

Page Top

アップデート anchor.png

まず、ファイルの上書きですが、Duplicatable V3モジュールであるため、Bulletin2を複数インストールしていても、xoops_trust_path側についてだけ1回上書きアップロードするだけで済みます。必要に応じて、モジュールアップデートも行ってください。

通常、XOOPS_ROOT_PATH側へのファイル更新はありませんが、特に指示があった場合は、インストールしたBulletin2の数だけ、ファイル上書きをしてください。

なお、Bulletin1からの「アップグレード」を行う場合は、いったん、modules/ 以下にあるBulletin1のファイルを全て消してから、上述したインストール手順に従ってファイルを用意してください。その上で、モジュールアップデートを実行します。

Page Top

アンインストール anchor.png

通常通り、モジュール管理よりアンインストールします。

ファイルをサーバから削除するときは、XOOPS_ROOT_PATH側だけ消せば十分です。XOOPS_TRUST_PATH/modules/bulletin については、本当にBulletin2が一つもインストールされていなくて、かつ、サーバ容量が足りなくなった時にだけ消せば良いでしょう。

ユーザデータは基本的にすべてデータベース内に存在しています。バックアップを取る場合は、以下の3つのテーブルを保存します。イタリックの部分は、modules/以下にどのようなフォルダ名で格納したかによって変わります。

  • (prefix)_bulletin_relation
  • (prefix)_bulletin_stories
  • (prefix)_bulletin_topics

ユーザファイルとしてimages/topics/ 内にカテゴリ用の画像を格納していることも多いと思うので、ファイルを削除する前に確認しておくと良いでしょう。このパスは、news1.1と同じです。

Page Top

知っておくべき事 anchor.png

news1.1との違いなど(xoopscube.jp)

また、現時点では開発版とされています。
実用上は十分な完成度だと思いますが、使用する上でのリスクについては利用者自身で判断してください。

Page Top

使用方法 anchor.png

Page Top

カテゴリ作成 anchor.png

新規インストールを行った場合、カテゴリが存在しませんので、まずはカテゴリを作成します。管理画面からカテゴリを1つ以上作成してください。なお、news1.1におけるトピックはBulletin2におけるカテゴリに対応します。より一般的な名称になったので、むしろ判りやすいでしょう。

Page Top

記事の投稿 anchor.png

カテゴリを作成した後は、記事を投稿します。もちろん、管理者以外からの投稿も可能です。

news1.1やBulletin1では、管理者投稿画面と一般投稿画面が別でしたが、Bulletin2では統合されています。管理者であっても、サブメニューやモジュールトップのリンクから、「ニュース投稿」に入って投稿します。

(投稿画面スクリーンショット)

投稿者
投稿者名が表示されています。
表題
記事の表題を入力します。
カテゴリ
カテゴリを選択します。この選択肢を追加・変更したい場合、あらかじめ管理画面のカテゴリ管理で処理しておきます。
カテゴリアイコン
記事が属するカテゴリのアイコンをどこに置くかを指定します。もちろん、カテゴリ管理でそのカテゴリに対するアイコンが指定されていない場合は常に非表示となります。
掲載日時
記事の公開側で「投稿日時」として表示される日時をここで指定できます。「掲載日時を設定する」にチェックを入れない場合は、現在の日時になります。すでに存在する記事を編集する際に、このチェックを外してしまうと、「投稿日時」もこの修正を行った日時に更新されてしまう点に注意してください。また、未来の掲載日時を設定すると、設定された時間になるまで記事は見えない状態になります。
一般ユーザによる投稿でも、「掲載日時設定」の権限があれば、設定可能です。
掲載期限
ある時間になったら閲覧できなくしたい記事について設定します。news1.1と同じ機能です。
一般ユーザによる投稿でも、「掲載日時設定」の権限があれば、設定可能です。
関連記事を追加
インストールされている全Bulletin2から、関連する記事を探して結びつけます。ポップアップしたウインドウでキーワードを用いて記事を探し、結びついた記事を登録します。
一般ユーザによる投稿でも、「関連記事機能」の権限があれば、自ら関連記事を登録することが可能です。
メッセージ本文
記事本文となります。[pagebreak]という特別なキーワードを挿入することで、記事を適宜分割することができます。分割された最初のパートは、記事一覧画面のサマリとして表示されます。2つめ以降のパートは、記事詳細画面において、ページ分割処理がされます。[pagebreak]をはさまない場合、記事一覧画面にも記事全文が載ることになります。このように、ユーザ投稿でも記事分割位置指定ができる点も、news1.1から改良された部分です。
オプション
以下にオプション一覧を列挙します。
    • HTMLを有効にする
      通常は、HTMLの特殊キャラクターはエスケープして表示されますが、HTMLタグで修飾された投稿を行う場合にはチェックします。
      一般ユーザによる投稿でも、「HTMLの使用」権限が与えてあれば、このチェックボックスが表示されますが、あまり好ましい設定ではありません。
    • ニュースが承認された旨をメールで受け取る
    • 顔アイコンを有効にする
    • XOOPSコードを有効にする
      これらのオプションは、news1.1と基本的に同じですが、すべて「チェックされたらON」という原則になっています。より直感的なインターフェースに改良されたわけで、高く評価される部分ではありますが、他のモジュールに慣れていると逆にチェックしてしまいがちな点には注意が必要です。
    • ブロックに掲載する
    • メインページに掲載する
      ブロックに表示する、メインページに表示する、といったことを記事毎に指定できるのも、Bulletin2の特徴です。
    • この記事を掲載承認状態にする
      ここをチェックした記事が「掲載中のニュース記事」になり、チェックの外れた記事が「承認待ちのニュース記事」となります。管理者による記事の承認作業とは、「記事を編集してこのチェックを入れることである」、とも言えます。
      一般ユーザによる投稿でも、「掲載を自動承認」権限が与えられていると、このチェックボックスをONにして投稿することが可能になります。ただ、あまり好ましい設定ではありません。
Page Top

記事閲覧画面 anchor.png

このモジュールのトップ画面には、投稿者によって投稿された記事が新しい順で表示されています。(最新順記事一覧表示)

表示件数は、モジュール一般設定の「トップページに掲載する記事数」で指定します。

画面最上部にあるカテゴリー選択ボックスおよび件数選択ボックスを利用して、表示するニュース記事を絞り込むことができます。(ナビゲーションボックス。一般設定でON/OFF切替可能)

[pagebreak]で区切られた記事については、「続きを読む」リンクが表示され、ここをクリックすることで、記事詳細画面に入ることができ、2ブロック目以降を読むことができます。「コメント」のリンクでも、同様に記事詳細画面に入ります。このあたりのインターフェースはnews1.1と同じで、やや判りづらいと言えるでしょう。「コメント」のリンクでコメント投稿画面を表示させるためには、「どこでもXOOPSコメント」の併用を勧めます。

記事詳細画面には、同一カテゴリーの最新記事タイトル一覧と、関連記事タイトル一覧が表示されます。これらの表示ON/OFFは、Bulletin2の一般設定によって切替可能です。

Page Top

RSS機能 anchor.png

最新記事の一覧を、RSSで取得することも可能です。
URIは以下のようになります。

XOOPS_URL/modules/(dirname)/index.php?page=rss

news1.1のように、ルートコントローラbackend.phpからRSSを吐かせたい場合は、下のTipsを参考にしてください。

XOOPS_URL/backend.php
Page Top

管理画面 anchor.png

Page Top

ニュース記事の管理 anchor.png

各記事が状態に応じて4種類に分類されて一覧表示されています。
ここから各記事を編集したり削除することができます。

  • 承認待ちのニュース記事
  • 掲載予定の記事
  • 掲載中のニュース記事
  • 表示期限が過ぎた記事

それぞれ最新順に10件しか表示されませんので、表示されていない記事について操作を行いたい場合は、[すべての記事を表示]をクリックします。

各4状態はすべて、「編集」によって遷移可能です。
以下に例を挙げます。

  • 承認待ちの記事を掲載中にするためには、「この記事を掲載承認状態にする」をチェックします。
  • 表示期限が過ぎた記事を掲載中にするためには、「掲載期限を設定する」を外すか、未来の掲載期限を設定します。
  • 掲載予定の記事を掲載中にするためには、「掲載日時を設定する」を外すか、過去の掲載日時を設定します。
Page Top

カテゴリ管理 anchor.png

記事の内容に合わせたカテゴリを設置します。

  • カテゴリの作成
  • カテゴリの編集

カテゴリアイコンを設定するためには、先んじて画像ファイルをアップロードしておく必要があります。初期状態では、XOOPS_ROOT_PATH/modules/(dirname)/images​/topics/ ですが、一般設定で他のフォルダを設定することも可能です。

XOOPS_ROOT_PATH/themes/(theme)/images/

に設定すると便利かも知れません。

Page Top

投稿権限の管理 anchor.png

各機能についての投稿権限を設定します。

  • 投稿を許可
    基本的な投稿権限です。承認するしないにかかわらず、この権限がないと投稿行為そのものができません。
  • 掲載を自動承認
    掲載承認状態について指定できる権限です。通常は管理者および信頼できるグループだけに与えます。
  • 掲載日時設定
    掲載日時および掲載期限を設定できる権限です。
  • HTMLの使用
    HTMLタグをエスケープしない記事を投稿できる権限です。通常は管理者および信頼できるグループだけに与えるべきです。
  • 関連記事機能
    投稿記事について関連記事を指定する権限です。
Page Top

newsからインポート anchor.png

これを選択すると「newsから記事・カテゴリの情報を取り込みますか?」という画面が出てきますので、よければ「送信」を選択します。

選択すると、news1.1からの記事・トピックをまとめて取り込むことができます。

Page Top

一般設定 anchor.png

トップページに掲載する記事数モジュールトップページに一覧表示する記事の数(デフォルト値)を指定します。
ナビゲーションボックスを表示するカテゴリおよび表示件数を選択するドロップダウンボックスを記事の上部に表示するかどうかを指定します。
投稿・編集用テキストエリアの高さ記事投稿画面のメッセージ本文用テキストエリアの行数を設定します。
投稿・編集用テキストエリアの幅同じく、横幅を設定します。
日付・日時の書式XOOPSデフォルトの書式を利用する場合は、l,m,s のいずれかを指定します。細かく指定する場合は、date()関数の引数フォーマットとなります。Y年n月j日 など。
投稿をユーザーの投稿数に反映Bulletinへの投稿をそのユーザの「投稿数」に加算するかどうかの指定です。記事が承認制の場合、承認時に加算されます。
カテゴリアイコンがあるディレクトリのパスカテゴリアイコンをアップロードしたフォルダを絶対パスで指定します。あえて変更するのであれば、テーマの下が良いでしょう。
印刷ページの画像のURL印刷用ページに表示されるロゴ画像をURLで指定します。
記事名をサイトのタイトルにする記事の詳細画面において、記事表題を<{$xoops_pagetitle}>にアサインします。
xoops_module_headerにRSSのURLをassingする<link rel="alternate" type="application/rss+xml" title="RSS2.0">としてBulletin2のRSSのURIが、HTMLヘッダに登録されます。RSSリーダーなどを利用しているユーザにとって有用な設定です。xoops_module_headerも参照のこと。
「印刷する」アイコンを表示する
「友達に知らせる」アイコンを表示する
Tell A Friendモジュールを利用する「友達に知らせる」アイコンのリンクが、自動的にtellafriendモジュールを指すようになります。
RSSのリンクを表示するモジュールメイン画面にRSSへのリンクを表示するかどうかの設定です。
関連記事機能を有効にする
カテゴリの最新記事を表示する記事詳細画面の下に同一カテゴリの最新記事一覧を表示するかどうかの設定です。
カテゴリの最新記事の記事数同上。表示件数の設定です。
カテゴリのパンくずリストを表示するカテゴリは階層構造を持つことができますので、パンくずリストを表示すると、深いカテゴライズがより大きな意味を持つことになるでしょう。

以下の設定は一般的なモジュールと同様です。

コメント投稿に関するルール
匿名によるコメント投稿を許可しますか?
イベント通知機能の設定
特定イベントを有効にする
Page Top

ブロック解説 anchor.png

ブロック名説明複製オプション
カレンダー記事投稿日を記録するカレンダーブロック。テンプレートを利用していない点に注意。不可なし
ニュースカテゴリカテゴリ選択をするブロック。利用価値が低い点はnews1.1と同様不可なし
本日のトップニュース「今日」投稿された記事の中でもっともヒット数の大きな記事を表示するブロック。news1.1のbigstoryと同じで、毎日大量の記事投稿があるサイト以外では利用価値は低い。不可なし
最新ニュース新着順に記事タイトルを一覧表示するブロック。本文のサマリ部分を表示する機能を持つ点がnews1.1との違い。並び順: 掲載日時かヒット数を選ぶ。news1.1の「トップニュース」相当の機能が必要な場合は、ここでヒット数を選べばよい。
表示件数: 表示記事数
表示件名の長さ: このバイト数で件名が途中でカットされる。なるべく長くした方が良い。
本文を表示する件数: 指定した件数の記事について、本文サマリ部(最初の[pagebreak]の手前まで)が表示される。初期値は0で、この場合はすべてについて表題しか表示されない。
カテゴリ別最新ニュース「最新ニュース」ブロックに、カテゴリ毎に表示する機能を付与したブロック。「最新ニュース」ブロックと同じオプションについては省略。
表示カテゴリ: 表示するカテゴリを番号で指定する。複数指定はできそうでできない。
ブリティン新着コメント記事についたコメントの新着一覧表示ブロック不可なし

Page Top

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

D3モジュールであるため、DBテンプレート名と元となるファイル名は一致しない。下表でも、イタリックの部分が、XOOPS_ROOT_PATH/modules/の下に置いたディレクトリ名に置き換わる。

元となるファイルは、XOOPS_TRUST_PATH/modules/bulletin/templa​tes/ 以下に存在するが、そこのファイルを編集するべきではない。

Page Top

基本テンプレート anchor.png

bulletin_index.htmlモジュールトップ画面(記事一覧表示)のテンプレート。
bulletin_article.html記事の個別表示用テンプレート
bulletin_archive.html時系列アーカイブページのテンプレート
bulletin_head.htmlbulletin モジュールが共通的に用いるメニュー(アーカイブ,権限がある場合の投稿,RSS 配信)のテンプレート
bulletin_item.html各記事のテンプレート。bulletin_index.html,bulletin_article.html,bulletin_archive.html,bulletin_block_new.html などがこのテンプレートを include する,いわば核となる部分。
bulletin_category.html同じカテゴリに属する記事一覧用テンプレート。記事詳細画面の下部に表示される。
bulletin_relations.html記事と関連する記事一覧用テンプレート。記事詳細画面の下に表示される。
bulletin_rss.htmlRSS のテンプレート
bulletin_javascript.html関連記事選択の小窓を呼び出す javascript
bulletin_print.html記事プリントアウト用のテンプレート
Page Top

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

bulletin_block_topics.htmlニュースカテゴリブロック用
bulletin_block_bigstory.html本日のトップニュースブロック用
bulletin_block_new.html最新ニュースブロック用
bulletin_block_category_new.htmlカテゴリ別最新ニュースブロック用
bulletin_block_comments.htmlブリティン新着コメントブロック用
Page Top

よくある質問 anchor.png

Page Top

管理画面に記事投稿フォームがない anchor.png

Bulletin2では、管理画面の投稿フォームは無くなりました。投稿はすべて一元化され、従来、管理者投稿画面にしかなかった各種オプションも、グループ毎の権限設定でON/OFFのコントロールができます。

Page Top

本文2がない anchor.png

news1.1やBulletin1では、本文2の中でのページ分割に使われていたタグ[pagebreak]が、本文と本文2を分けるためにも利用されるようになりました。

サマリー部
[pagebreak]
本文1ページ目
[pagebreak]
本文2ページ目
[pagebreak]
…

と、1つの入力フォーム内の [pagebreak] だけでコントロールできるようになり、すっきりしたわけです。

Page Top

themes フォルダ内の templates でのテンプレート指定が反映されません。 anchor.png

X2コアの隠し機能「テーマ配下テンプレート自動インポート」を使う場合,Duplicatable V3 モジュールでは,単に themes のなかにモジュール内の templates をコピーしても,テンプレートとして機能しません。所定の themes フォルダにファイルを用意した後,「ディレクトリ名_テンプレート名.html」という規則でファイル名をリネームする必要があります。

Page Top

RSSがInvalidになってしまう anchor.png

記事本文中に & を使うと、生成されるRSSがInvalid(XML文法違反)になってしまう不具合があります。

これは、XOOPSテキストサニタイザの処理で、&の処理を正しく行わないことに原因がありますが、現実にそのRSSがパースエラーで取得できなくなってしまいます。

一番簡単な対応法ですが、テンプレート bulletin_rss.html から、

<content:encoded><![CDATA[<{$item.content}>]]></content:encoded>

の1行を消すのが良いでしょう。

description の方は、&についての処理をXOOPSに任せない作りになっているため、こちらを出力しても Invalid な RSS にはなりません。

Page Top

Tips anchor.png

Page Top

ルートのbackend.php からBulletin2のRSSを出力する anchor.png

news1.1をずっと利用していたとすれば、おそらくそのサイトのユーザは、RSSのURIとしてbackend.php を登録しているはずです。

ただ、ルートコントローラのbackend.phpは、news1.1専用であるため、Bulletin2で利用するためにはなんらかの工夫をする必要があります。

このようなケースでは、一般的にHTTP redirectを利用するのですが、RSSリーダーのいくつかはリダイレクトに対応していないため、backend.php をまるごと書き換えてしまうのが良いでしょう。

<?php

define( 'BACKEND_DIRNAME' , 'bulletin' ) ;
$_GET['page'] = 'rss' ;


require 'mainfile.php' ;
if( ! defined( 'XOOPS_TRUST_PATH' ) ) die( 'set XOOPS_TRUST_PATH in mainfile.php' ) ; 

$module_handler =& xoops_gethandler( 'module' ) ;
$xoopsModule =& $module_handler->getByDirname( BACKEND_DIRNAME ) ;

$mydirname = BACKEND_DIRNAME ;
$mydirpath = XOOPS_ROOT_PATH.'/modules/'.BACKEND_DIRNAME ;
$mydirurl = XOOPS_URL.'/modules/'.$mydirname;

require $mydirpath.'/mytrustdirname.php' ; // set $mytrustdirname

if( @$_GET['mode'] == 'admin' ) {
	require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/admin.php' ;
} else {
	require XOOPS_TRUST_PATH.'/modules/'.$mytrustdirname.'/main.php' ;
}

?>

bulletin以外のdirnameにインストールしたBulletin2のRSSをbackend.phpから吐き出したい場合は、以下の部分を書き換えてください。

define( 'BACKEND_DIRNAME' , 'bulletin' ) ;

これはnews1.1との互換性を最優先に考えた解決法ですが、サイト全体のRSSを吐き出すモジュールを使う、という案も検討すべきでしょう。

Page Top

news1.1やBulletin1の過去記事とURI互換性を取る anchor.png

news1.1やBulletin1は、ページコントローラでしたが、Bulletin2はフロントコントローラタイプに変更されています。

そのため、news1.1からの乗り換えを行う場合、URIの互換性が取れない(サーチエンジンのインデックスや、他サイトからのリンクがデッドとなってしまう)、という問題が発生してしまいます。

お使いのサーバで、mod_rewriteが利用できればその問題を解決することも可能です。

XOOPS_ROOT_PATH/modules/(dirname)/.htaccess.rewrite

というファイルをリネームして、.htacessにします。(このリネームは、Windowsのエクスプローラ上では出来ませんので、サーバ上で行うのが良いでしょう)

XOOPS_ROOT_PATH/modules/(dirname)/.htaccess

たったこれだけで、以下のようなnews1.1のページコントローラアクセスがデッドリンクにならずに、期待通りの記事が表示されるようになります。

XOOPS_URL/modules/news/article.php?storyid=1
XOOPS_URL/modules/news/index.php?page=article.php&storyid=1

※この両者は同じ

Page Top

ライセンス anchor.png

xoops_version.php によれば GPL ですが,readme には未記載?

Page Top

関連モジュール anchor.png

news1.1標準モジュールhttp://jp.xoops.org/
Bulletin1Bulletin2の前身http://suin.jp/

Front page   Freeze Diff Backup Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 13006, today: 1, yesterday: 8
Last-modified: 2008-08-29 (Fri) 11:33:09 (JST) (734d) by ingres
Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities