59Tracker 3.1 仕様書 -------- ■ディレクトリ構成 / files --- 添付ファイル Plugins --- プラグイン Lib --- モジュール Lib/App --- アプリケーションモジュール data/ --- トピックデータ bookmark --- ブックマークデータ keyword --- キーワードデータ search --- 全文検索インデックス system/ tmpl --- テンプレートファイル user --- ユーザーディレクトリ session --- セッション管理ファイル -------- ■プログラム構成 59Tracker 3.1 のプログラム一覧。 / index.cgi --- コントロールプログラム rcvtb.cgi --- トラックバック受信インタフェース xmlrpc.cgi --- XML-RPCインタフェース(API) config.cgi --- システム設定ファイル Plugins/ session.cgi --- セッション管理、リストページ表示 topic.cgi --- トピックの新規作成、編集 comment.cgi --- コメントの投稿 file.cgi --- 添付ファイルのアップロード、削除 ps.cgi --- 追記の新規作成、編集、削除 link.cgi --- 関連情報の新規作成、編集、削除 user.cgi --- ユーザー管理機能(新規登録、ユーザー情報変更) userlist.cgi --- ユーザー管理機能(ユーザー一覧の表示) password.cgi --- パスワード変更 template.cgi --- テンプレートおよびスタイルシート編集機能 bookmark.cgi --- 共有ブックマークの追加と管理 bmcomment.cgi --- ブックマークコメントの投稿 register.cgi --- ユーザー登録 invite.cgi --- 編集者(ユーザー)の招待 content.cgi --- コンテンツの再構築 ads.cgi --- 広告設定、お知らせの管理 filter.cgi --- フィルター設定 pinglist.cgi --- Ping設定 -------- ■モジュール一覧 59Tracker 3.1 のモジュールファイル一覧。 Lib DateTime.pm --- 日時の取得 Calendar.pm --- カレンダーの作成 Logger.pm --- ログ出力 String.pm --- 文字列操作 Mail.pm --- メール送信 Ping.pm --- 更新Pingの送信、トラックバックPingの送信 User.pm --- ユーザー情報の管理 Filter.pm --- フィルターの管理 Error.pm --- エラーメッセージの表示 Lib/App Search.pm --- 全文検索インデックスの管理、全文検索 Topic.pm --- トピックの管理、トピック詳細ページの生成 Archive.pm --- アーカイブデータ、更新情報の管理 Trackback.pm --- 最近のトラックバックの管理 Comment.pm --- 最近のコメントのコメント管理 Bookmark.pm --- ブックマークの管理 Keyword.pm --- キーワード管理 Ads.pm --- デフォルト広告の管理 Conf.pm --- システム設定の取得 -------- ■テンプレートファイル一覧 59Tracker 3.1 のテンプレートファイル一覧。 system/tmpl list.tmpl --- 検索結果ページ detail.tmpl --- トピック詳細ページ summary.tmpl --- ブックマークページ topic.tmpl --- トピック投稿、編集画面 bookmark.tmpl --- ブックマーク登録、編集画面 ps.tmpl --- 追記登録、編集画面 link.tmpl --- 関連リンク登録、編集画面 upload.tmpl --- ファイルアップロード画面 confirm.tmpl --- 確認画面 message.tmpl --- メッセージ表示画面 login.tmpl --- ログイン画面 register.tmpl --- ユーザー登録画面 user.tmpl --- ユーザー登録、編集画面 userlist.tmpl --- ユーザー管理画面 password.tmpl --- パスワード変更画面 ads.tmpl --- 広告登録、編集画面 filter.tmpl --- フィルター設定画面 pinglist.tmpl --- Ping設定画面 template.tmpl --- テンプレート編集画面 remind.tmpl --- パスワードリマインダー画面 leave.tmpl --- 退会画面 rss2.tmpl --- RSSフィード用テンプレート sitemap.tmpl --- サイトマップ用テンプレート -------- ■システムファイル仕様 --- ユーザー情報ファイル ファイル名:{userid}/profile.txt ユーザーの一覧とユーザーに関する情報を格納するためのファイル。ユーザー認証に使用する。 番号 項目 概要 1 USERID 英数字 2 PASSWORD 英数字 3 MAILADDR メールアドレス 4 HPURL ホームページURL 5 USERNAME ユーザー名 6 AUTH 権限 0:管理者 1:編集者 2:ブックマーカー 7 STATUS 0:無効 1:有効 8 AD1 ユーザー固有の広告コード1(幅468) 9 AD2 ユーザー固有の広告コード2(幅468) 10 AD3 ユーザー固有の広告コード3(幅300) 11 PARTS ユーザー固有のブログパーツ(未使用) 12 FEEDURL 個人ブログ等のフィードURL(未使用) 13 AMAZONID AmazonアソシエイトID(未使用) 14 BOOKMARKID ブックマークID(ネタリスト連携、未使用) --- セッション情報ファイル ファイル名:{SESSIONID}.txt ユーザー毎のセッション情報を保持するするためのファイル。画面間のセッション管理に使用する。 番号 項目 概要 1 USERID 対応するセッションのユーザーID 2 IPADDR IPアドレス --- トピックカウンターファイル ファイル名:topiccounter.txt トピックIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- キーワードカウンターファイル ファイル名:keywordcounter.txt キーワードIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- ブックマークカウンターファイル ファイル名:bmcounter.txt ブックマークIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- フィルターファイル ファイル名:filter.txt コメントやトラックバックのフィルタリングを行うための拒否文字列やIPアドレスのリストを格納するファイル。 番号 項目 概要 1 KEYWORD フィルタリングするキーワードやIPアドレス --- Ping設定ファイル ファイル名:pinglist.txt WeblogUpdate Pingの通知先を保存するファイル。 番号 項目 概要 1 PINGURL 更新Pingの通知先URL --- 広告設定ファイル ファイル名:adlink.txt 一覧表示(検索結果ページ)や匿名投稿者により投稿されたトピックの詳細ページに表示する広告 コードを格納するファイル。 番号 項目 概要 1 AD1 広告コード1 (幅468) 2 AD2 広告コード2 (幅468) 3 AD3 広告コード3 (幅300) --- 招待リストファイル ファイル名:invite.txt 未登録の招待者を管理するためのファイル。 番号 項目 概要 1 INVITECODE 招待コード 2 MAILADDR 招待者のメールアドレス -------- ■データファイル仕様 --- トピックデータファイル ファイル名:{TOPICID}tp.data トピックのデータを格納するファイル。トピックHTMLファイル、index.html、アーカイブHTMLファイル等の出力で使用する。 番号 項目 概要 1 RECTYPE レコード区分、0:現行トピック、1:トピック履歴 2 TOPICID 0〜の整数値、0のトピックは削除不可 3 LASTDATE トピックの最終更新日 YYYY/MM/DD HH:MM:SS 4 STATUS トピックの状態 0:ドラフト 1:オープン 2:クローズ 3:制限 8:予約 9:削除 5 EDITOR トピックの最終更新者 6 TITLE トピックタイトル 7 OUTLINE トピック概要 8 TEXT トピック本文 9 PSNUM 追記数 10 COMMENTNUM コメント数 11 TRACKBACKNUM トラックバック数 12 LINKNUM 関連リンク数 13 FLIENUM 添付ファイル数 14 AD1 広告コード1(記事上に表示) 15 AD2 広告コード2(記事下に表示) 16 AD3 広告コード3(サイドバーに表示) 17 POINT ポイント累計(コメント入力時、トラックバック受信時等に加算される) 18 KEYWORD 関連キーワードリスト 19 IPADDR 投稿者のIPアドレス 追記レコード 番号 項目 概要 1 RECTYPE レコード区分、2:追記 2 PSID 1〜の整数値 3 LASTDATE 追記の最終更新日 YYYY/MM/DD HH:MM:SS 4 EDITOR 追記の最終更新者 5 TITLE 追記のタイトル 6 TEXT 追記の記述 添付ファイルレコード 番号 項目 概要 1 RECTYPE レコード区分、3:添付ファイル 2 FILEID 1〜の整数値、トピック毎のシーケンス 3 FILENAME ファイル名 4 FILEEXT ファイル拡張子 5 FILESIZE ファイルサイズ 6 LASTDATE 最終更新日 7 LASTUSER 最終ユーザー 関連リンクレコード 番号 項目 概要 1 RECTYPE レコード区分、4:関連リンク 2 LINKID 1〜の整数値 3 TITLE リンク先のページタイトル 4 URL リンク先のページURL 5 SUMMARY 要約(任意) コメントレコード 番号 項目 概要 1 RECTYPE レコード区分、5:コメント 2 COMMENTID 1〜の整数値 3 STATUS 0:無効、1:有効、2:承認待ち 4 POSTDATE コメントの投稿日 YYYY/MM/DD HH:MM:SS 5 AUTHOR コメントの投稿者(任意) 6 MAILADDR メールアドレス(任意) 7 HPURL ホームページURL(任意) 8 TEXT コメント本文 9 EVALUATE 評価(おすすめ:1、通常:0) 10 IPADDR 投稿者のIPアドレス トラックバックレコード 番号 項目 概要 1 RECTYPE レコード区分、6:トラックバック 2 TBID 1〜の整数値 3 STATUS 0:無効、1:有効、2:承認待ち 4 RECVDATE トラックバックの受信日時 YYYY/MM/DD HH:MM:SS 5 URL トラックバックエントリのURL 6 BLOGNAME ブログ名 7 TITLE トラックバックエントリのタイトル 8 EXCERPT トラックバックエントリの要約 9 IPADDR トラックバック元のIPアドレス --- 更新情報データファイル ファイル名:newtopic.data 新着トピックのトピックIDを時系列の逆順に保存。 番号 項目 概要 1 TOPICID トピックID --- アーカイブデータファイル ファイル名:{YYYYMM}ar.data 月別のトピック一覧データを格納するためのファイル。index.cgiの出力で使用する。 番号 項目 概要 1 TOPICID 0〜の整数値 2 LASTDATE 最終更新日時 YYYY/MM/DD HH:MM:SS --- 最近のコメントデータファイル ファイル名:newcomment.data 最近のコメントの要約を格納するファイル。 番号 項目 概要 1 TOPICID 0〜の整数値 2 COMMENTID 1〜の整数値 3 TITLE コメントされたトピックのタイトル。 --- 最近のトラックバックデータファイル ファイル名:newtb.data 最近のトラックバックの要約を格納するファイル。 番号 項目 概要 1 TOPICID 0〜の整数値 2 TRACKBACKID 1〜の整数値 3 TITLE トラックバックエントリのタイトル --- ブックマークデータファイル ファイル名:{BMID}bm.data ブックマークデータを管理するためのファイル。 ブックマークレコードとブックマークコメントレコードを一つのファイルに格納する。 ブックマークレコード 番号 項目 概要 1 RECTYPE レコード区分、0:現行ブックマーク、1:ブックマーク履歴(未使用) 2 BOOKMARKID ブックマークID 3 TITLE ブックマーク先のページタイトル 4 URL ブックマーク先のページURL 5 SUMMARY ブックマーク先のコンテンツの概要 6 REGISTRANT 登録者 7 DATETIME 登録日時 8 KEYWORD 関連キーワードリスト 9 POINT 累計ポイント ブックマークコメントレコード 番号 項目 概要 1 RECTYPE レコード区分、2:コメント 2 COMMENTID コメントID 3 STATUS 0:無効、1:有効 4 POSTDATE コメントの投稿日 YYYY/MM/DD HH:MM:SS 5 AUTHOR コメントの著者(任意) 6 MAILADDR メールアドレス(任意) 7 HPURL ホームページURL(任意) 8 TEXT コメント本文 9 EVALUATE 評価(1 or 0) 10 IPADDR 投稿者のIPアドレス --- 検索インデックスファイル ・検索時の処理速度を考慮して先頭文字毎にインデックスファイルを作成する ・アルファベットの大文字は小文字に変換してインデックスする ・アルファベット、数字、ひらがな、カタカナ、漢字以外は区切文字とみなしてインデックスしない ・全角アルファベット、全角数字は半角数字に変換する ・文字エンコードはシフトJISで格納する 先頭がアルファベット ファイル名: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 〜 F 0 889F - 89FF 1 9000 - 91FF 2 9200 - 93FF 3 9400 - 95FF 4 9600 - 97FF 5 9800 - 99FF 6 9A00 - 9BFF 7 9C00 - 9DFF 8 9E00 - 9FFC 9 E000 - E3FF A E400 - E7FF B E800 - E9FF C EA00 - EBFF D EC00 - ECFF E ED00 - EDFF F EE00 - EEE0 全文検索キーワードを管理するための索引ファイル。 番号 項目 概要 1 KEYWORD キーワード 2 TOPICLIST トピックリスト(キーワードを含むトピックのリスト、トピックIDを":"区切で格納) 3 TOPICNUM トピック数(キーワードを含むトピック数) --- キーワードデータファイル ファイル名:keyword.data トピック及びブックマークに関連キーワードとして指定されたキーワードを管理するためのファイル。 番号 項目 概要 1 KEIWORDID キーワードID 2 KEIWORDITEM キーワード項目 3 TOPICLIST キーワードに関連付けられているトピックのリスト 4 TOPICNUM キーワードに関連付けられているトピックの数 5 BOOKMARKLIST キーワードに関連付けられているブックマークのリスト 6 BOOKMARNUM キーワードに関連付けられているブックマークの数 7 REFERNUM 参照回数 8 EDITOR 編集権を持つユーザーのリスト(未使用) 9 TEXT キーワードの説明(未使用) 10 LASTUPDATE 最終更新日時(未使用) 11 AD1 キーワードの広告コード1(未使用) 12 AD2 キーワードの広告コード2(未使用) 13 AD3 キーワードの広告コード3(未使用) ---------- ■59Tracker 3.1 のインストール方法 59Tracker 3.1 のインストールと初期設定の方法は以下の通りです。 1.書庫ファイルの取得と解凍 59Tracker 3.1 の書庫ファイル(zip形式)を取得し、任意のディレクトリで解凍します。 2.config.cgiの変更 config.cgi の内容を使用するサーバー環境や用途に応じて変更します。詳細は 59Tracker 3.1 config.cgi 仕様を 参照してください。 3.ファイルのアップロード FTPソフトなどを使用して59Trackerのファイル(.htaccess、*.cgi及びLib配下のモジュール、 Plugins配下のプログラム、data配下のデータファイル、system配下のシステムファイル等)をWebサーバーに アップロードします。転送モードは、*.jpgファイルはバイナリーで、それ以外は全てアスキー、無変換で転送 してください。 4.ファイル属性の変更 index.cgi、xmlrpc.cgi、rcvtb.cgiを、CGIとして実行できるファイル属性(755)に変更します。 5.Perlモジュールのアップロード 59bbsを動作させるにはPerlモジュールとして、CGI、Jcode、MIME、SOAP-Lite等が必要です。 日本でサービスを提供してしているレンタルサーバーであれば、CGI、Jcode、MIMEについては、 インストールされていないということはほとんどないため、これらのモジュールをインストールする必要はありませんが、 SOAP-Liteについてはインストールされていない場合が多いようです。 SOAP-Liteがインストールされていない場合は、http://search.cpan.org/~byrne/SOAP-Lite-0.60a/ から、 SOAP-Lite-0.60a.tar.gzををダウンロードし、任意のディレクトリで解凍します。解凍されたディレクトリ中の SOAP、 XMLRPCディレクトリをFTPソフトを使用して59Trackerが動作するディレクトリにアップロード(転送モード:アスキー、 無変換)します。 6.管理者パスワードの変更 59Trackerが動作するWebサーバーのURLをブラウザで開き、ユーザーID:adimn、パスワード:0000でログインします。 初期状態のパスワードのままでは誰でも管理者としてログインできてしまうので、パスワード変更画面からadimn のパスワードを変更します。 7.最初のトピックの変更 トップページ(検索条件を指定せずに検索ボタンを押下したときに表示されるページ)に表示されている 「59Tracker(ゴクトラッカー)とは」を編集して、あなたのサイトを説明する内容の記事に変更します。 ---------- ■59Tracker 3.1 のconfig.cgi 仕様 59Tracker 3.1 の config.cgi で設定される設定値の説明です。 $system_dir = "../system"; テンプレート、ユーザー一覧ファイル、トピックカウンターファイル等が格納されるディレクトリです。 Webディレクトリの外側にディレクトリを作成し、そのディレクトリを相対パスで設定します。 $data_dir = "../data"; 各種データファイルが格納されるディレクトリです。 Webディレクトリの外側にディレクトリを作成し、そのディレクトリを相対パスで設定します。 $docroot_dir = 'your site url'; 59Trackerが動作するディレクトリで、CGIファイル、HTMLファイル、スタイルシートなどを配置します。 $files_dir = "files"; 添付ファイルが格納されるディレクトリを指定します。 $notify_mail = 0; メールで通知するかどうか(0:非通知 1:通知)の設定です。 コメントが書き込まれたとき、トラックバックが付いたときにメールで通知するかどうかを指定します。 $sendmail_path = '/usr/sbin/sendmail'; sendmailのパスです。59Trackerを運用するサーバー環境に合せて変更します。 $admin_address = 'your mail address'; Webサイトの管理者のメールアドレスを指定します。 $excerpt_length = 200; トラックバック送受信時の要約の長さを指定します。 $summary_length = 150; トピックを要約する際の長さを指定します。 $anonymous = "フォロワー"; トピック及びコメントの投稿者名が未入力の場合に、投稿者名として表示される文字列を設定します。 $site_title = "サイトタイトル"; 59Trackerを運用するサイトの名前を設定します。 $sub_title = "サイトサブタイトル"; 59Trackerを運用するサイトのサブタイトルを指定します。 $new_item_num = 100; 更新情報データとして保持するトピック数を指定します。 $open_item_num = 0; 一覧ページに全文表示された状態で表示するトピックの先頭からの数を指定します。 $topic_num = 10; 更新情報リストに表示するトピックの数を表示します。 $bookmark_num = 10; 新着ブックマーク、最近使用されたブックマークに表示するブックマークの数を表示します。 $comment_target = "target=\"_blank\""; コメント中のアンカータグでの「target="_blank"」を指定します。 $trackback_target = "target=\"_blank\""; トラックバックのアンカータグでの「target="_blank"」を指定します。 $link_target = ""; 関連リンクのアンカータグでの「target="_blank"」を指定します。 $bookmark_target = "target=\"_blank\""; ブックマークのアンカータグでの「target="_blank"」を指定します。 $result_count = 20; 一覧ページで1ぺーじに表示するトピックの数を指定します。 $default_status = 1; 新規投稿時のデフォルトステータスを指定します。 0:ドラフト 1:オープン 2:クローズ 3:承認 $date_update = 0; トピック更新時に日時を更新するかどうかを指定します。 0:更新しない 1:更新する $add_update = 0; トピック更新時に更新情報に追加するかどうかを指定します。 0:追加しない 1:追加する $index_rebuild = 0; リビルド時に検索用インデックスの再構築を行なうかどうかを指定します。 0:再構築しない 1:再構築する $good_point = 4; コメントの評価が良い場合の加算ポイント $normal_point = 1; コメントの評価が普通、トラックバックの場合の加算ポイント $bad_point = -2; コメントの評価が悪い場合の加算ポイント $static_html = 0; トピック詳細ページを静的HTMLファイルで出力するかどうかを指定します。 0:出力しない 1:出力する ---------- ■一覧表示ページ(更新情報、検索結果)のユーザーインタフェース トップページと検索結果ページの統合し、条件指定によって出力内容を切り替える。 検索条件指定無し:新着トピックを表示 年月指定:年月に該当するトピックをトピックID順に出力 年月日指定:年月日に該当するトピックをトピックID順に出力 キーワード指定:キーワード(タイトル、本文、追記、ユーザーID、キーワード)に該当する トピックまたはブックマークをIDの逆順に出力 設定ファイルのデフォルト指定によってトピックとブックマークの表示を切り替える。 ---------- ■59Tracker 3.1 用ブックマークレット ブックマーク用ブックマークレット 以下のアンカーをブックマークレットとして登録することで、表示中のWebページを簡単にブックマーク できます。(YourDmainNameの部分を置き換えてください。) ブックマーク 投稿用ブックマークレット 以下のアンカーをブックマークレットとしてブラウザニ登録することで、表示中のWebページを引用して 投稿できます。(YourDmainNameの部分を置き換えてください。) 引用して投稿 ---------- ■59Trcker 3.0 から 3.1 への移行方法 59Trcker 3.0 のLib、Plugins、system/tmpl 配下のファイル、xmlrpc.cgi、およびbasic.cssを、3.1の ファイルで上書きします。なお、データ仕様の変更はありません。 ---------- ■その他 ・RSSフィードはブログ、ブックマークを統合したもの、ブログのみ、ソーシャルブックマークのみの 3種類を生成する。 ・トピックリスト、トピック詳細ページには更新情報、カレンダー、過去ログ、新着トラックバック、 新着コメントを表示する。 ・ブックマークリスト、ブックマーク詳細ページには新着ブックマーク、最近使用されたブックマークを 表示する。 ----------