59Tracker 4.0 仕様書 -------- ■ディレクトリ構成 / files --- 添付ファイル Plugins --- プラグイン Lib --- モジュール Lib/App --- アプリケーションモジュール Js --- JavaScript プログラム data/ --- トピックデータ keyword --- キーワードデータ search --- 全文検索インデックス system/ tmpl --- テンプレートファイル user --- ユーザーディレクトリ session --- セッション管理ファイル -------- ■プログラム構成 59Tracker 4.0 のプログラム一覧。 / 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 --- テンプレートおよびスタイルシート編集機能 register.cgi --- ユーザー登録 invite.cgi --- 友達の招待 content.cgi --- コンテンツの再構築 ads.cgi --- 広告設定、お知らせの管理 filter.cgi --- フィルター設定 pinglist.cgi --- Ping設定 -------- ■モジュール一覧 59Tracker 4.0 のモジュールファイル一覧。 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 --- 最近のコメントの管理 Keyword.pm --- キーワード管理 Ads.pm --- デフォルト広告、お知らせの管理 Conf.pm --- システム設定の取得 -------- ■テンプレートファイル一覧 59Tracker 4.0 のテンプレートファイル一覧。 system/tmpl list.tmpl --- 検索結果ページ detail.tmpl --- トピック詳細ページ topic.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 --- テンプレート編集画面 content.tmpl --- 再構築オプション指定画面 rss2.tmpl --- RSSフィード用テンプレート sitemap.tmpl --- サイトマップ用テンプレート -------- ■システムファイル仕様 --- ユーザー情報ファイル ファイル名:{userid}/profile.txt ユーザーの一覧とユーザーに関する情報を格納するためのファイル。ユーザー認証に使用する。 番号 項目 概要 1 USERID 英数字 2 PASSWORD 英数字 3 MAILADDR メールアドレス 4 HPURL ホームページURL 5 USERNAME ユーザー名 6 AUTH 権限 0:特権 1:一般 7 STATUS 0:無効 1:有効 8 AD1 ユーザー固有の広告コード1 (幅468) 9 AD2 ユーザー固有の広告コード2 (幅468) 10 AD3 ユーザー固有の広告コード3 (幅300) 11 PARTS ユーザー固有のブログパーツ(幅300) 12 MOBILE モバイル広告コード (未使用) 13 AFFILIATEID アフィリエイトID (未使用) 14 APPACCOUNT APP連携アカウント情報 (未使用) 15 OPTIONS オプション設定 (未使用) 16 PROFILE ユーザープロファイル (未使用) --- セッション情報ファイル ファイル名:{SESSIONID}.txt ユーザー毎のセッション情報を保持するするためのファイル。画面間のセッション管理に使用する。 番号 項目 概要 1 USERID 対応するセッションのユーザーID 2 IPADDR IPアドレス --- トピックカウンターファイル ファイル名:topiccounter.txt トピックIDを管理するためのカウンター。 番号 項目 概要 1 SEQ 連番 --- キーワードカウンターファイル ファイル名:keywordcounter.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 TEXT トピック本文 8 PSNUM 追記数 9 COMMENTNUM コメント数 10 TRACKBACKNUM トラックバック数 11 LINKNUM 関連リンク数 12 FLIENUM 添付ファイル数 13 AD1 広告コード1(記事上に表示) 14 AD2 広告コード2(記事下に表示) 15 AD3 広告コード3(サイドバーに表示) 16 POINT ポイント累計(コメント入力時、トラックバック受信時等に加算される) 17 KEYWORD 関連キーワードリスト 18 URL ブックマークURL 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 コメントされたトピックのタイトル 4 POSTDATE コメント投稿日時 5 TEXT コメントの本文 --- 最近のトラックバックデータファイル ファイル名:newtb.data 最近のトラックバックの要約を格納するファイル。 番号 項目 概要 1 TOPICID 0〜の整数値 2 TRACKBACKID 1〜の整数値 3 TITLE トラックバックエントリのタイトル 4 RECVDATE トラックバック受信日時 5 EXCERPT トラックバックエントリの要約 --- 検索インデックスファイル ・検索時の処理速度を考慮して先頭文字毎にインデックスファイルを作成する ・アルファベットの大文字は小文字に変換してインデックスする ・アルファベット、数字、ひらがな、カタカナ、漢字以外は区切文字とみなしてインデックスしない ・全角アルファベット、全角数字は半角数字に変換する ・文字エンコードはシフト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 REFERNUM 参照回数 ---------- ■59Tracker 4.0 のインストール方法 59Tracker 4.0 のインストールと初期設定の方法は以下の通りです。 1.書庫ファイルの取得と解凍 59Tracker 4.0 の書庫ファイル(zip形式)を取得し、任意のディレクトリで解凍します。 2.config.cgiの変更 config.cgi の内容を使用するサーバー環境や用途に応じて変更します。詳細は 59Tracker 4.0 config.cgi 仕様を 参照してください。 3.ファイルのアップロード FTPソフトなどを使用して59Trackerのファイル(.htaccess、*.cgi及びLibディレクトリ、Pluginsディレクトリ、 JSディレクトリ、dataディレクトリ、systemディレクトリ等)をWebサーバーにアップロードします。転送モードは、 *.jpgファイルはバイナリーで、それ以外は全てアスキー、無変換で転送してください。 4.ディレクトリの作成 config.cgiの$data_dirの配下にsearch、keywordの各ディレクトリを作成し属性を755に変更します。また、 $system_dirの配下にsessionディレクトリを作成し属性を755に変更します。 5.ファイル属性の変更 index.cgi、xmlrpc.cgi、rcvtb.cgiを、CGIとして実行できるファイル属性(755)に変更します。 6.外部モジュールのアップロード 59Trackerを動作させるには外部モジュールとして、CGI、Jcode、MIME、SOAP-Lite、Encode等が必要です。 日本でサービス提供してしているレンタルサーバーであれば、CGI、Jcode、MIMEについてはインストールされて いないということはまずないですが、SOAP-Liteについてはインストールされていない場合が多いようです。 EncodeはPerl 5.8以上であれば通常は利用できます。 SOAP-Liteがインストールされていない場合は、http://search.cpan.org/~byrne/SOAP-Lite-0.60a/ から、 SOAP-Lite-0.60a.tar.gzををダウンロードし、任意のディレクトリで解凍します。解凍されたディレクトリ中の SOAP、 XMLRPCディレクトリをFTPソフトを使用してドキュメントルートととなるディレクトリにアップロード (転送モード:アスキー、無変換)します。 7.管理者パスワードの変更 59Trackerが動作するWebサーバーのURLをブラウザで開き、ユーザーID:adimn、パスワード:0000でログインします。 初期状態のパスワードのままでは誰でも管理者としてログインできてしまうので、ユーザー管理画面からadimn のパスワードを変更します。 8.最初のトピックの変更 トップページ(検索条件を指定せずに検索ボタンを押下したときに表示されるページ)に表示されている 「59Tracker(ゴクトラッカー)とは」を編集して、あなたのサイトを説明する内容の記事に変更します。 ---------- ■59Tracker 4.0 のconfig.cgi 仕様 59Tracker 4.0 の 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; 更新情報としてフィード配信するトピックの数を指定します。 $comment_num = 50; 最近のコメントのデータ保存数を指定します。 $trackback_num = 50; 最近のトラックバックのデータ保存数を指定します。 $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:追加する $good_point = 4; コメントの評価が良い場合の加算ポイント $normal_point = 1; コメントの評価が普通、トラックバックの場合の加算ポイント $bad_point = -2; コメントの評価が悪い場合の加算ポイント $static_html = 0; トピック詳細ページを静的HTMLファイルで出力するかどうかを指定します。 0:出力しない 1:出力する $free_signup = 1; 不特定ユーザーのユーザー登録を受け付けるかを指定します。0:受け付けない 1:受け付ける ---------- ■検索結果ページ(条件指定無しのとき更新情報、検索結果)のユーザーインタフェース 更新情報ページと検索結果ページの統合し、条件によって出力内容を切り替える。 検索条件指定無し:更新情報を表示 年月指定:年月に該当するトピックをトピックID順に出力 年月日指定:年月日に該当するトピックをトピックID順に出力 キーワード指定:キーワード(タイトル、本文、追記、ユーザーID、キーワード)に該当する トピックをIDの逆順に出力 ---------- ■その他 ・RSSフィードはトピック(rss.xml、記事、ブックマークを統合したもの)最近のコメントのみ(comment.xml)、 最近のトラックバック(trackback.xml)の3種類を生成する。 ・検索結果ページ、トピック詳細ページには更新情報、カレンダー、過去ログ、最近のトラックバック、 最近のコメントを表示する。 ---------- ■59Tracker 4.0 用ブックマークレット 以下のアンカーをブックマークレットとして登録することで、表示中のWebページを簡単にブックマークできます。 ブックマーク ----------