59Tracker 2.0 正式リリース 仕様書 -------- ■プログラム構成 59Tracker 2.0 のプログラム一覧。 config.cgi --- システム設定 view.cgi --- トピックリスト表示(新着トピック、年月、年月日) detail.cgi --- トピックの表示 topic.cgi --- トピックの新規作成、編集 file.cgi --- 添付ファイルのアップロード、削除 ps.cgi --- 追記の新規作成、編集、削除 link.cgi --- 関連リンクの追加、編集、削除 comment.cgi --- トピックコメントの投稿 rcvtb.cgi --- トラックバックの受信 delete.cgi --- トピックのコメント、トラックバックの削除 login.cgi --- ログイン logout.cgi --- ログアウト search.cgi --- トピック、ブックマークの検索機能 rebuild.cgi --- コンテンツ再構築(HTMLの再構築、サイトマップ生成) control.cgi --- システム管理(拒否リスト、ping設定、デフォルト広告) user.cgi --- ユーザー情報の作成、更新(新規登録、ユーザー情報変更) userlist.cgi --- ユーザー管理(ユーザー一覧の表示) password.cgi --- パスワード変更 template.cgi --- テンプレートおよびスタイルシート編集 tag.cgi --- トピックのタグ追加、編集 bookmark.cgi --- ブックマークの追加と管理 register.cgi --- ユーザー登録 invite.cgi --- 編集者(ユーザー)の招待 summary.cgi --- ブックマーク情報の表示 xmlrpc.cgi --- ブログクライアントへのXML-RPCインタフェース(API) -------- ■モジュール一覧 59Tracker 2.0 のモジュールファイル一覧。 Ad.pm --- デフォルト広告の管理 Archive.pm --- アーカイブページ、新着トピックの管理 Bookmark.pm --- ブックマークデータの管理 Calendar.pm --- カレンダーの作成 Comment.pm --- 新着トピックコメントの入出力 DateTime.pm --- 日時の取得 Logger.pm --- ログ出力 Message.pm --- メッセージ表示 Notify.pm --- メール通知 Search.pm --- 全文検索用インデックスの生成、全文検索 Session.pm --- セッション管理 String.pm --- 文字列操作 Tag.pm --- タグ管理 Topic.pm --- トピックデータの管理、トピック詳細ページの生成 Trackback.pm --- 新着トラックバック、トラックバックの入出力 Ping.pm --- Pingの送信、トラックバックPingの送信 User.pm --- ユーザー情報の入出力 View.pm --- トップページの生成、RSSフィードの生成 Conf.pm --- システム情報の保持 -------- ■テンプレートファイル一覧 index.htmlt --- トップページ archive.htmlt --- アーカイブページ detail.htmlt --- トピック詳細ページ search.htmlt --- 検索結果ページ sitemap.htmlt --- サイトマップページ adlink.htmlt --- デフォルト広告設定画面 control.htmlt --- システム情報編集画面 delete.htmlt --- 削除確認画面(コメント、トラックバック) link.htmlt --- 関連情報登録、編集画面 myview.htmlt --- トピック管理画面 password.htmlt --- パスワード変更画面 ps.htmlt --- 追記登録、編集画面 topic.htmlt --- トピック作成、編集画面 upload.htmlt --- ファイルアップロード画面 user.htmlt --- ユーザー登録、編集画面 userlist.htmlt --- ユーザー一覧画面 template.htmlt --- テンプレート編集画面 tag.htmlt --- タグ登録、編集画面 tagview.htmlt --- タグ付けされたトピックの一覧表示画面 register.htmlt --- ユーザー登録画面 -------- ■データファイルのディレクトリ構成 data data/search data/tag data/bookmark -------- ■データファイル仕様 トピックデータファイル バージョン:59Tracker 2.0 alpha ファイル名:{TOPICID}tp.data トピックのデータを格納するファイル。トピックHTMLファイル、index.html、アーカイブHTMLファイル等の出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値、0のトピックは削除不可 2 LASTDATE トピックの最終更新日 YYYY/MM/DD HH:MM:SS 3 STATUS トピックの状態 0:ドラフト 1:オープン 2:クローズ 9:削除 4 EDITOR トピックの最終更新者 5 TITLE トピックのタイトル 6 OUTLINE トピックの概要 7 TEXT トピックの本文 8 PSNUM トピックの有効追記数 9 COMMENTNUM トピックの有効コメント数 10 LINKNUM トピックの有効関連情報数 11 TBNUM トピックの有効トラックバック数 12 FLIENUM トピックの添付ファイル数 13 ADLINK1 アフィリエイト広告リンク1(記事下) 14 ADLINK2 アフィリエイト広告リンク2(サイドバー) 15 ADLINK3 アフィリエイト広告リンク3(ページ上) 16 POINT 評価点(コメント入力時に指定された評価点の累計) --- 追記データファイル バージョン:59Tracker 1.0 ファイル名:{TOPICID}ps.data トピックへの追記情報を格納するファイル。トピックHTMLファイルの出力で使用する。 番号 項目 概要 1 PSID 0:削除された追記データ、1〜の整数値:有効な追記 2 LASTDATE 追記の最終更新日 YYYY/MM/DD HH:MM:SS 3 EDITOR 追記の最終更新者 4 TITLE 追記のタイトル 5 TEXT 追記の本文 --- コメントデータファイル バージョン:59Tracker 2.0 alpha ファイル名:{TOPICID}cm.data トピックへのコメントを格納するファイル。トピックHTMLファイルの出力で使用する。 番号 項目 概要 1 COMMENTID 0:削除された追記データ、1〜の整数値:有効な追記 2 POSTDATE コメントの投稿日 YYYY/MM/DD HH:MM:SS 3 AUTHOR コメントの著者(任意) 4 MAILADDR メールアドレス(任意) 5 HPURL ホームページURL(任意) 6 TEXT コメント本文 7 IPADDR コメント投稿者のIPアドレス 8 EVALUATE 評価点(良い:1、普通:0、悪い:-1) --- トラックバックデータファイル バージョン:59Tracker 2.0 alpha ファイル名:{TOPICID}tb.data トピックへのトラックバックを格納するファイル。トピックHTMLファイルの出力で使用する。 番号 項目 概要 1 TBID 0:削除されたトラックバックデータ、1〜の整数値:有効な追記 2 RECVDATE トラックバックの受信日時 YYYY/MM/DD HH:MM:SS 3 URL トラックバックエントリのURL 4 BLOGNAME ブログ名 5 TITLE トラックバックエントリのタイトル 6 EXCERPT トラックバックエントリの要約 7 IPADDR トラックバック元のIPアドレス --- 関連リンクデータファイル バージョン:59Tracker 1.0 ファイル名:{TOPICID}ln.data トピックの関連リンクを格納するファイル。トピックHTMLファイルの出力で使用する。 番号 項目 概要 1 LINKID 0:削除された関連リンクデータ、1〜の整数値:有効な追記 2 TITLE リンク先のページタイトル 3 URL リンク先のページURL 4 SUMMARY 要約(任意) --- 添付ファイルデータファイル バージョン:59Tracker 1.0 ファイル名:{TOPICID}af.data トピック毎の添付ファイル情報を格納するためのファイル。トピックHTMLファイルの出力で使用する。 番号 項目 概要 1 FILEID 1〜の整数値、トピック毎のシーケンス 2 FILENAME ファイル名 3 FILEEXT ファイル拡張子 4 FILESIZE ファイルサイズ 5 STATUS 0:未使用 6 LASTDATE 最終更新日 7 LASTUSER 最終ユーザー --- 新着トピックファイル バージョン:59Tracker 1.0 ファイル名:newtopic.data 最近のトピックのIDを格納するファイル。index.html、トピックHTMLファイル、view.cgiの出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値 --- 新着コメントファイル バージョン:59Tracker 1.0 ファイル名:newcomment.data 最近のコメントの要約を格納するファイル。index.html、トピックHTMLファイル、view.cgiの出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値 2 COMMENTID 1〜の整数値 3 SUMMARY コメントの要約 --- 新着トラックバックファイル バージョン:59Tracker 1.0 ファイル名:newtb.data 最近のトラックバックの要約を格納するファイル。index.html、トピックHTMLファイル、view.cgiの出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値 2 TBID 1〜の整数値 3 TITLE トラックバックエントリのタイトル --- アーカイブデータファイル バージョン:59Tracker 1.0 ファイル名:{YYYYMM}ar.data 月別のトピック一覧データを格納するためのファイル。view.cgiの出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値 2 LASTDATE 最終更新日時 YYYY/MM/DD HH:MM:SS --- ブックマークデータファイル バージョン:59Tracker 2.0 beta以降 ファイル名:{BMID}bm.data ブックマークデータを管理するためのファイル。 番号 項目 概要 1 BMID ブックマークID 2 TITLE ブックマーク先のページタイトル 3 URL ブックマーク先のページURL 4 SUMMARY ブックマーク先のコンテンツの概要 5 REGISTRANT 登録者 6 DATETIME 登録日時 7 TAGS タグ 8 POINT 累計ポイント(参照1回で1ポイント加算) --- ブックマークコメントデータファイル バージョン:59Tracker 2.0 beta以降 ファイル名:{BMID}bc.data ブックマークコメントデータを管理するためのファイル。 番号 項目 概要 1 COMMENTID 0:削除されたコメントデータ、1〜の整数値:有効な追記 2 POSTDATE コメントの投稿日 YYYY/MM/DD HH:MM:SS 3 AUTHOR コメントの著者(任意) 4 MAILADDR メールアドレス(任意) 5 HPURL ホームページURL(任意) 6 TEXT コメント本文 7 IPADDR コメント投稿者のIPアドレス 8 EVALUATE 評価点(良い:1、普通:0、悪い:-1) -------- ■システムファイルのディレクトリ構成 system system/session system/{USERID} -------- ■システムファイル仕様 ユーザー情報ファイル バージョン:59Tracker 2.0 alpha ファイル名:userlist.txt ユーザーの一覧とユーザーに関する情報を格納するためのファイル。ユーザー認証に使用する。 番号 項目 概要 1 USERID 英数字 2 PASSWORD 英数字 3 MAILADDR メールアドレス 4 USERNAME ユーザー名 5 AUTH 権限 0:管理者 1:編集者 2:読者 6 STATUS 0:無効 1:有効 --- トピックカウンターファイル バージョン:59Tracker 1.0 ファイル名:topiccounter.txt トピックIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- セッション情報ファイル バージョン:59Tracker 1.0 ファイル名:sessionlist.txt ユーザー毎のセッション情報を保持するするためのファイル。画面間のセッション管理に使用する。 番号 項目 概要 1 SESSIONID ランダムに生成しクッキーの識別に使用 2 USERID 対応するセッションのユーザーID 3 IPADDR IPアドレス --- Ping一覧ファイル バージョン:59Tracker 1.0 ファイル名:pinglist.txt トピックの更新時に送信するPing送信先リスト。 番号 項目 概要 1 PINGURL Ping送信先のURL --- 拒否一覧ファイル バージョン:59Tracker 1.0 ファイル名:denylist.txt コメントやトラックバックのフィルタリングに使用する。禁止URLまたは文字列のリスト。 番号 項目 概要 1 KEYWORD 拒否キーワードまたはURL --- デフォルト広告リンクファイル バージョン:59Tracker 2.0 alpha ファイル名:adlink.txt トピックのデータにアフィリエイト広告リンクが設定されていない場合や自動生成したページに表示する広告リンクファイルを保存する。 番号 項目 概要 1 ADLINK1 アフィリエイト広告リンク1(記事またはヘッドライン下) 2 ADLINK2 アフィリエイト広告リンク2(サイドバー) 3 ADLINK3 アフィリエイト広告リンク3(ページ上部) --- 広告リストファイル バージョン:59Tracker 2.0 alpha ファイル名:adlist.txt トピックの記事やヘッドラインの下に表示するサイトオーナーの収入源となるページへのテキストリンク。 番号 項目 概要 1 LINK 広告ページへのリンク --- タグカウンターファイル バージョン:59Tracker 2.0 alpha ファイル名:tagcounter.txt タグIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- タグデータファイル バージョン:59Tracker 2.0 alpha ファイル名:tagindex.data タグデータを管理するためのファイル。 番号 項目 概要 1 TAGID タグID 2 TAGITEM タグ項目 3 TOPICLIST トピックリスト(関連付けられているトピックのリスト、トピックIDを":"区切で格納) 4 TOPICNUM トピック数(関連付けられているトピック数) 5 BMLIST ブックマークリスト(関連付けられているブックマークのリスト、ブックマークIDを":"区切で格納) 6 BMNUM ブックマーク数(関連付けられているブックマークの数) 7 REFERNUM 参照回数 --- ブックマークカウンターファイル バージョン:59Tracker 2.0 alpha ファイル名:bmcounter.txt ブックマークIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- ブックマークデータファイル バージョン:59Tracker 2.0 alpha ファイル名:bmindex.data ブックマークデータを管理するためのファイル。 番号 項目 概要 1 BMID ブックマークID 2 TITLE ブックマーク先のページタイトル 3 URL ブックマーク先のページURL 4 OUTLINE ブックマーク先のコンテンツの概要 5 REGISTRANT 登録者 6 DATETIME 登録日時 7 TAGS タグ 8 POINT 累計ポイント(参照1回で1ポイント加算) --- 検索インデックスファイル バージョン:59Tracker 2.0 alpha ・検索時の処理速度を考慮して先頭文字毎にインデックスファイルを作成する ・アルファベットの大文字は小文字に変換してインデックスする ・アルファベット、数字、ひらがな、カタカナ、漢字以外は区切文字とみなしてインデックスしない ・全角アルファベット、全角数字は半角数字に変換する 先頭がアルファベット ファイル名:alpha(A)l(Length).data --- A : a 〜 z 先頭が数字 ファイル名:num(N)l(Length).data --- N : 0 〜 9 先頭がひらがな ファイル名:hiragana(N)l(Length).data --- N : 0 〜 9(あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行 わ行) 0 829F - 82A8 ぁ あ ぃ い ぅ う ぇ え ぉ お 1 82A9 - 82B2 か が き ぎ く ぐ け げ こ ご 2 82B3 - 82BC さ ざ し じ す ず せ ぜ そ ぞ 3 82BD - 82C7 た だ ち ぢ っ つ づ て で と ど 4 82C8 - 82CC な に ぬ ね の 5 82CD - 82DB は ば ぱ ひ び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ 6 82DC - 82E0 ま み む め も 7 82E1 - 82E6 ゃ や ゅ ゆ ょ よ 8 82E7 - 82EB ら り る れ ろ 9 82EC - 82F1 ゎ わ ゐ ゑ を ん 先頭がカタカナ ファイル名:katakana(N)l(Length).data --- N : 0 〜 9(ア行 カ行 サ行 タ行 ナ行 ハ行 マ行 ヤ行 ラ行 ワ行) 0 8340 - 8349 ァ ア ィ イ ゥ ウ ェ エ ォ オ 1 834A - 8353 カ ガ キ ギ ク グ ケ ゲ コ ゴ 2 8354 - 835D サ ザ シ ジ ス ズ セ ゼ ソ ゾ 3 835E - 8368 タ ダ チ ヂ ッ ツ ヅ テ デ ト ド 4 8369 - 836D ナ ニ ヌ ネ ノ 5 836E - 837C ハ バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ 6 837D - 8382 マ ミ ム メ モ 7 8383 - 8388 ャ ヤ ュ ユ ョ ヨ 8 8389 - 838D ラ リ ル レ ロ 9 838E - 8396 ヮ ワ ヰ ヱ ヲ ン ヴ ヵ ヶ 先頭が漢字 ファイル名:kanji(N)l(Length).data --- N : 0 〜 1 0 889F - 9FFC 亜 〜 滌 1 E040 - EEE0 漾 〜 K 検索キーワードを管理するための索引ファイル。 番号 項目 概要 1 KEYWORD キーワード 2 TOPICLIST トピックリスト(キーワードを含むトピックのリスト、トピックIDを":"区切で格納) 3 TOPICNUM トピック数(キーワードを含むトピック数) 4 BMLIST ブックマークリスト(キーワードを含むブックマークのリスト、ブックマークIDを":"区切で格納) 5 BMNUM ブックマーク数(キーワードを含むブックマークの数) -------- ■59Tracker 2.0 正式リリースのインストールと初期設定 59Tracker 2.0 正式リリースのインストールと設定方法は以下の通りです。 59Tracker 2.0 正式リリース版の書庫ファイル(.zip形式)を取得し、任意のディレクトリ で解凍します。 config.cgi の内容を使用するサーバーの環境に合せて変更します。変更内容については 59Tracker 2.0 正式リリースの config.cgi 仕様を参照してください。 FTPソフトなどを使用してWebサーバーに各ファイル(.htaccess、cgi及びAPPLIB配下の モジュール、データファイル、システムファイル等)をアップロードします。転送モード は、アスキー、無変換で転送してください。 $data_dirの配下にsearch、bookmark、tagの各ディレクトリを作成します。 $system_dirの配下にadmin、sessionの各ディレクトリを作成します。 config.cgi の$system_dir、$data_dir、$docroot_dir、$system_dir/admin、 $system_dir配下の *.txtファイル、 トピックデータファイル(topic0.data、newtopic.data)、 XMLファイル(*.xml、*.rdf)をCGIから書き込みできるファイル属性に変更します。また、 添付ファイルを使用する場合は、$docroot_dirの配下にfilesという名前のディレクトリ を作成しします。 拡張子が.cgiのファイルを、すべてCGIとして実行できるファイル属性(755)に変更しま す。 http://search.cpan.org/~byrne/SOAP-Lite-0.60a/ から、SOAP-Lite-0.60a.tar.gzをダ ウンロードし、任意のディレクトリで解凍します。解凍されたディレクトリの中のSOAP、 XMLRPCを59Trackerが動作するディレクトリの配下にFTPソフトを使用してアップロード します。 59Trackerが動作するWebサーバーのURLをブラウザで開き、ユーザーID:adimn、 パスワード:0000でログインします。初期状態のパスワードのままでは誰でも管理者とし てログインできてしまうので、まずadimnのパスワードを変更します。 トピック一覧に表示されているトピック「59Trackerとは」を編集して、あなたのサイト を説明する内容の記事に変更します。 検索結果ページ(adminでログインしたときに表示される画面)のメニューの再構築を クリックし、システムの再構築を行います。 -------- ■59Tracker 2.0 正式リリースの config.cgi 仕様 #!/usr/bin/perl perlのディレクトリを使用するサーバーの環境に合せて指定してください。 $system_dir = "../system"; テンプレート、ユーザー一覧ファイル、トピックカウンターファイル等が格納されるディ レクトリです。Webから見ることのできない階層にディレクトリを作成し、そのディレク トリを相対パスで設定してください。 $data_dir = "../data"; 各種データファイルが格納されるディレクトリです。Webから見ることのできない階層に ディレクトリを作成し、そのディレクトリを相対パスで設定してください。 $docroot_dir = "http://www.aaaaaa.bbb"; 59Trackerが動作するディレクトリで、CGIファイル、HTMLファイル、スタイルシートなど を配置します。 $files_dir = "files"; 添付ファイルを格納するためのディレクトリです。 $notify_mail = 0; メールで通知するかどうか(0:非通知 1:通知)のフラグです。 コメントが書き込まれたとき、トラックバックが付いたときに管理人にメールで通知する かどうか設定します。 $sendmail = '/usr/sbin/sendmail'; sendmailのパスです。用意したサーバーの環境に合せて変更してください。 $to_address = 'aaaabbb@xxxxxx.aa'; 管理人のメールアドレスを指定してください。 $excerpt_length = 200; トラックバックの要約の長さの最大値を指定してください。 $summary_length = 200; トピック、コメントなどを要約する長さの最大値を指定してください。 $anonymous = "コメンテーター"; コメント投稿者の名前が未入力の場合に、投稿者名として表示される文字列を設定して ください。 $site_title = "59Tracker Project"; 59Trackerを運用するサイト(ブログ)の名前を設定してください。 $sub_title = "Perlで記述されたシンプルなブログソフトウェア"; 59Trackerを運用するサイトのサイトのサブタイトルを指定してください。キャプション やヘーダーの直下に表示されます。 $new_topic_num = 15; トップページに表示するトピック(エントリ)数を指定します。 $open_topic_num = 5; オープンされた状態で表示されるトピック(エントリ)数を指定します。 $new_comment_num = 5; 新着コメント(RECENT COMMENT)として表示する数を指定します。 $new_tb_num = 5; 新着トラックバック(RECENT TRACKBAK)として表示する数を指定します。 $new_bookmark_num = 5; 新着ブックマークとして表示する数を指定します。 $used_bookmark_num = 10; 使用ブックマークとして表示する数を指定します。 $target_default = 0; トピックとブックマークのどちらをデフォルト表示するか設定します。 (0:トピック 1:ブックマーク) $comment_target = "target=\"_blank\""; コメント中のアンカータグでの「target="_blank"」を指定します。 $trackback_target = ""; トラックバックのアンカータグでの「target="_blank"」を指定します。 $link_target = ""; 関連情報のアンカータグでの「target="_blank"」を指定します。 $bookmark_target = "target=\"_blank\""; ブックマークのアンカータグでの「target="_blank"」の指定します。 $result_count = 20; 検索結果ページで1ページに表示するトピック数を指定します。 $date_update = 0; トピックの更新時に日時を更新するかのデフォルト値(0:更新しない 1:更新する)を指定 します。 $index_rebuild = 1; リビルド時に検索用インデックスの再構築を行なうかを指定します。検索用インデックス の再構築は時間がかかる処理ですのでトピック数が多い場合は注意が必要です。 # コメント、トラックバック時の $good_point = 4; # コメントの評価が良い(おすすめ)の場合の加算ポイント。 $normal_point = 1; # コメントの評価が普通、トラックバックの場合の加算ポイント。 $bad_point = -2; # コメントの評価が コメントの評価が悪い場合の加算ポイント。 -------- ■59Tracker 2.0 alpha から 2.0 正式リリースへのデータ変換方法 59Tracker 2.0 alpha から 59Tracker 2.0 正式リリース(またはbeta)へのデータ変換は、 tools配下のプログラムを使用して行います。 まず、tools配下に59Tracker 2.0 alphaのデータディレクトリ、システムディレクトリを コピーします。 dataconv.pl(元データがUTF-8の場合は不要)、bmconv.pl、userconv.plの順でプログラム を実行します。 データディレクトリ/bookmark/bmindex.data削除します。 データディレクトリをすべて59Tracker 2.0 正式リリースのデータディレクトリにコピー します。 システムディレクトリの*.txtファイルを59Tracker 2.0 正式リリースのシステムディレ クトリにコピーします。 --------