関連の深いプラグイン(ここに挙げた他にも、貴方のアイデア次第ではまだあるかもしれません. また新しいプラグインが登場しているかもしれません.)
質問箱、BugTrack、ToDoリスト、ゲストページ、Linkリストなどがありますが、 どのように使うかは貴方のアイデア次第です.
A. tracker プラグインをお使いください。これは、pukiwiki-1.4 以降で利用可能です。
1.3・1.4用 には 類似のプラグインとして、bugtrack プラグインが存在します。 (tracker プラグインは、これを汎用の目的に利用できるように拡張したプラグインです。)
項目の追加や、削除、表示内容の変更などといったカスタマイズについては、trackerプラグインの関連ページをご覧ください。
( 質問箱/176, 質問箱/212, 続・質問箱/43 , 続・質問箱/411, 質問箱3/120, 続・質問箱/173, 質問箱4/308 )
Q.続き
#tracker(Todo) としてページを編集すると
config file 'ObjectTodo' not found.と、なってしまいます
A. まずは tracker のプラグインヘルプをご覧ください。
テンプレートは基本的に設置するtracker毎に1組(4ページ)作成します。 以下のページを参考にして、Todo 用のテンプレートページを :config/plugin/tracker/ 以下に作成してください。
( 質問箱/282 )
Q.続き
投稿フォームに対して回答すると、その定型フォームを元に記入結果を反映した、新しいページを作成する... といったことを実現したいですが、何を使えば可能でしょうか?
A trackerプラグインを使ってみてはいかがでしょうか?
なお振り分けを実現する方法としては、以下の記事が参考になると思います.
- Q. 入力フォームを複数用意して、フォーム毎に異なる初期値を設定することは可能ですか?
- Q. Trackerの投稿ページ名を、定義した項目や予約項目の組み合わせて作成できませんか?
注意点: tracker, tracker_list は、対象とする投稿先のページが増えるとレスポンスが遅くなります.
( 続・質問箱/208 )
A. できません。
( 質問箱/386 )
A. 今はありません。但し、この機能を追加するためのカスタマイズ内容が dev:BugTrack2/205で議論されています.
A. ページ名を指定して作成しなければ、trackerはページ名として昇順に数値をページ名割り振ります。例えばページ一覧などで、新しいtrackerに割り振られた新しい番号のページをチェックしてはどうでしょう?
但しtrackerのデフォルトの動作では、投稿ページの削除によって欠番が生じた場合、その番号を優先して次の投稿ページの名前に割り振るため、運用方法にも考慮が必要です。
( 続・質問箱/524 )
A. デフォルトのtrackerではページング はできませんが、tracker_list には、ページ内に表示する一覧件数の上限を設定するパラメータがあります。また 自作プラグイン/tracker_plus.inc.phpを試してみるという方法もあります.
( 質問箱3/29 )
Q.続き
投稿時の属性(年齢別や都道府県別など)によって以下のようにページを階層化させたいのです。
- [listbox,チェックボックスでの選択項目]/[_date]
- [選択項目1]/[選択項目2]/連番
A. カスタマイズが必要です。特定の項目のみの組み合わせであれば、改造パッチが提供されています。 teanan:自作プラグイン/tracker.inc.php
( 質問箱3/349, 続・質問箱/208, 質問箱/409 )
A. pukiwiki.ini.phpの$line_breakを1に設定します。
- 関連ページ:dev:開発日記/2003-12-03
A. カスタマイズをしないとできません。
カスタマイズの一例としては、tracker.inc.php 347行目あたりで以下のように一行追加します。function get_tag() { $s_name = htmlspecialchars($this->name); $s_cols = htmlspecialchars($this->values[0]); $s_rows = htmlspecialchars($this->values[1]); $s_value = htmlspecialchars($this->default_value); + $s_value = preg_replace('/&br;/',"\n",$s_value); return "<textarea name=\"$s_name\" cols=\"$s_cols\" rows=\"$s_rows\">$s_value</textarea>"; }こうすると &br; が改行に変換されますが、ただしこの中にテーブル表記を 設定したり、そもそも &br; を書いたりできなくなってしまいます。
trakcer での config ページの読み込みには、config.php が利用されていますが、 今の config.php(2004-06-23時点) ではなんでも自由に埋め込むのは無理っぽいです。
( 続・質問箱/226 )
A :config/plugin/tracker/ 以下のページを変更します。tracker のプラグインヘルプをご覧ください。
( 質問箱/389 )
A 第2引数を指定すれば、好きなページに配置できます。
- 第2引数 : 投稿されたトラッキング項目を記録する基準ページの指定
#tracker(hoge,記録ページ)のように指定すると、trackerによって作成されるページ名は 記録ページ/1,記録ページ/2...のようになります。リストも同様に#tracker_list(hoge,記録ページ)と指定することで、記録ページ配下の項目をリストアップするようになります。
A 可能です。
configページ名の/tracker/の後に続く設定名と、フォーム/リストページを設置するページ名は同じである必要はありません。
list用の設定ページを追加し、#tracker_listの 第一引数にはリストの定義名、第二引数には #trackerの設置ページ名を設定を指定してください。例:
- #tracker 設定名:Sample1
- #tracker 設置先ページ : BugTrack
#tracker(Sample1)- #tracker_list 設置先ページ1 : BugTrack
#tracker_list(Sample1)- 新しいlistフォーマット設定:
:config/plugin/tracker/Sample1/list2- #tracker_list 設置先ページ2 : BugList
#tracker_list(Sample1/list2, BugTrack)
A 可能です。(でも複数のリストフォーマットを用意するようにはいきません。)
:config/plugin/tracker以下の設定ページ(の組み合わせ)を複数用意し、記録ページを同じにしてください。
( 続・質問箱/196 )
A tracker と listbox2 プラグインもしくはlistbox3 プラグインを 組み合わせれば実現可能です。
- listbox2プラグインを用いた設定の参考先:merlinさんのサイトtodotest
- tracker に特化した listboxプラグイン: 自作プラグイン/listbox3.inc.php
A #comment を用いている場合、コメントの本文の先頭に マイナス 「-」を入れてやればいいです。 ただし特定のコメントに付ける事は、commentプラグインでは出来ないので、「編集」で直接編集します。但し、この方法でのコメントの階層はデフォルトでは 3 階層までです。
A もうひとつ の方法は、pcomment プラグインを使う方法です。 :config/plugin/tracker/.../page の comment を pcomment に置き換えます。この時の pcomment の設定では、以下のように第一引数([コメント記録ページ])に何も指定しないでおきます。
#pcomment(,,reply)( 補足:reply 指定用のボタンの前にリストの - が表示を抑制する方法 )
CSSファイルに下記のものを追加すれば黒丸や白丸を消せます。
li.pcmt { list-style-type: none; }ついでに下記も追加しておくと、少し幸せになるかもしれません。
input.pcmt { text-indent: -2em; padding:0px 0px 0px 2em; margin-right:.5em; }
( 質問箱/288 )
A 可能です。file形式を利用します.
この時の注意点:ファイルアップロード時に、trackerは、attach.inc.php の機能を利用します. この時 attach.inc.phpの設定が管理人のパスワードを求める設定になっていると、ファイルが作成したページに添付できません. サイトの利用者が、悪意を持って、不適切なファイル(ウィルスに感染したファイルやコンテンツにそぐわないもの) を添付しないという前提がおける場合のみ、attach.inc.php の PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY の値をFALSEに変える必要があります.- define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE); + define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE);trackerの設定該当とその例を示します.
- 設定概要
- (前提) trackerの定義ファイル(ここではsample)に、ファイル用のフィールド名を[attachfile]とします。
- :config/plugin/tracker/sample の *fileds に追加.
|attachfile|添付ファイル|file|||- :config/plugin/tracker/sample/form の適切な部分に[attachfile]を追加.
- :config/plugin/tracker/sample/page の適切な部分に#ref([attachfile]) または、&ref(): File not found: "[attachfile]" at page "Q&A/プラグイン/trackerプラグイン";を追加. (該当行をコメント行にしても構いませんが必要です)
- :config/plugin/tracker/sample/list に [attachfile] を追加.
|..|..|..|~[attachfile]|h |..|..|..|&ref([attachfile]);|h- 設定サンプル
- :config/plugin/tracker/sample
* fields |項目名 |見出し |形式|オプション|デフォルト値|h |reporter |投稿者 |page|20 || |attachfile|添付ファイル|file| ||- :config/plugin/tracker/sample/form
|RIGHT: |LEFT: |c |~投稿者 |[reporter] | |~添付ファイル|[attachfile]| |>|CENTER:[_submit] |- :config/plugin/tracker/sample/page
* [_name] |RIGHT:|LEFT:|c |~投稿ページ|[_refer]| |~投稿者|[reporter]| |~添付ファイル|&ref([attachfile]);|- :config/plugin/tracker/sample/list
|~[_page]|~[reporter]|~[attachfile]|h |[_page] |[reporter] |&ref([attachfile]);|
A1. 可能です。 ja.lngの$_tracker_messages の内容を変更してください。
( 続・質問箱/335 )
A2. 定義ごとに名前を変更したい場合には、fields 設定に予約項目を追加してください。
項目名 見出し 形式 オプション デフォルト値 ... ... ... ... ... _page ページめい この例では、予約項目「_page」の表示名を「ページめい」に変更します。(空文字が出力されている場所は、設定が上書きされません)
A tracker の設定 (デフォルトは :config/plugin/tracker/defaut という名前のページ) の fields セクションに以下のように _name の値を定義する事で、(内部的な)デフォルト値から変更できます.
項目名 見出し 形式 オプション デフォルト値 ... ... ... ... ... _name text 80
- 参考: しろくろのへや:tracker.inc.phpのメモ
( 質問箱3/44 )
Q.続き
tracker_listで表示する項目が多く、また表がウィンドウ幅に合ってしまっているので、ある項目は縦書きのようになってしまいます。ブラウザのウィンドウ幅に依らずに、表の幅を固定するにはどうしたらよいですか?
A
default.ja.css の.style_table に table-layout: fixed;を指定した上で、list の レイアウト設定(デフォルトでは :config/plugin/tracker/default/list) で、書式指定行(行末にcを記述した書式を指定した行) を追加しセル幅も明示的に指定します.
|CENTER:50|LEFT:75|LEFT:40|LEFT:260|c |~[state]|CENTER:~[_page]|CENTER:~[version]|CENTER:~[summary]|h |[state]|[_page]|[version]|[summary]|
( 続・質問箱/317 )
Q.続き
tracke_listで[_update]の表示をより簡潔にしたいと思っています.
pukiwiki.ini.php での $date_format の指定は、コメントページなどの日付表示のフォーマットとして利用しており、tracker_list の _update のみ 特定の表示方法をさせたいと思っています.
A
コードのカスタマイズをすれば可能です. 以下に変更箇所と変更例を例示します.
(例)tracker_listの_updateのみ mm-dd と表示する場合.
class Tracker_field_date extends Tracker_fileld { function format_cell($timestamp) { - return format_date($timestamp); + return date("m-d", $timestamp + ZONETIME); }
( 質問箱3/108 )
A 可能です.
tracker_listの第3引数で、リストのソート順序を指定できます.
( 続・質問箱/200 )
A 可能です.
"_past" という予約項目を list の項目や、ソート条件に利用すれば可能です.
- 予約項目 "_past" についての説明は、しろくろのへや:tracker.inc.php を参照.
- 更新順にソートされた tracker_list の例: しろくろのへや:質問箱
( 続・質問箱/523 )
A 最近のプラグインマニュアルには説明があります. そちらをご覧ください.
( 続・質問箱/486 )
A 最近のプラグインマニュアルには説明があります. そちらをご覧ください.
( 続・質問箱/629 )
A ソートオプションを ASC/DESC の代わりに、SORT_ASC/SORT_DESC を利用すると、ユーザがソート順を変更するためのリンクがヘッダ部分に表示されるようになります.
また trackerのlist設定( :config/plugin/tracker/XXXX/list ) では、header 部分に、trackerの設定( :config/plugin/tracker/XXXX ) で定義した項目名を用いる必要があります. (以下の例のように表示内容(状態) を直書きするとうまくいきません)
(良い例) |CENTER:50|LEFT:75|LEFT:40|LEFT:260|c |~[state]|CENTER:~[_page]|CENTER:~[version]|CENTER:~[summary]|h |[state]|[_page]|[version]|[summary]|
(失敗例:状態と書いた部分がソートを指示するリンクにならない) |CENTER:50|LEFT:75|LEFT:40|LEFT:260|c |~状態|CENTER:~[_page]|CENTER:~[version]|CENTER:~[summary]|h |[state]|[_page]|[version]|[summary]|
A trackerおよびtracker_listの第二引数で「記録ページ」を指定しない場合、tracker や tracker_listを設置したページが「記録ページ」つまり 親ページになります.
( 続・質問箱/62 )
A できません.
( 続・質問箱/433 )
Q.続き :config/plugin/tracker/ の設定、form/listにも追加した項目を記述しました。フォームには反映されました(表示項目がふえました)が、そのフォーム上の(追加した項目の)テキストボックスに入力した値が、list に反映されません。反映させるにはどのようにしたらよいでしょう?
A 追加した項目に該当するフィールドは、trackerの各pageに反映されていますか? 新しいフォーマットに合致するよう、既存ページに項目を手で追加してください。
なお設定ページ間での、該当フィールド名の綴り間違えなどがないかどうかも確認してください。
( 続・質問箱/428 )
A デフォルトの tracker_list にフィルター機能はありません.
自作プラグイン/tracker_plus.inc.php 、あるいは、しろくろのへや:tracker.inc.phpで実現されているEnable Filter 機能を試してみてはいかがでしょうか?( しろくろのへや:質問箱/99 に公開先のURIが記載されているようです)
( 続・質問箱/202 )
A デフォルトの tracker_list にフィルター機能はありません. 自作プラグイン/tracker_plus.inc.php を試してみてください.
( 質問箱3/126 )
A 耐えられない可能性が高いです. サーバとなるマシンスペックに対し、どの程度まで実用に耐え得るのかわかりませんが、official の質問箱も、登録数が多くなり過ぎて、一覧表示に時間がかかり過ぎてしまうということで、続・質問箱という形で分割した経緯があります。
A dev:BugTrack2/121 に起票されていますが、まだ closeされていません. teanan さんによって tracker自体を認証必須に修正する改造パッチが提示されています.
plugin/tracker.inc.php(1.28): 104行目付近 ); } - if (!is_page($source)) + if (!is_page($source) || !edit_auth($post['_base'])) { return array(
( 質問箱3/211 )
A ページ内容が反映されない不具合の原因としてよくある問題のひとつは、設定ファイルの設定ミスです.
trackerの設定ファイル(:config/plugin/tracker/XXX)の fields セクションで定義した項目名と、その配下の form/list/page で用いている項目名の名称が噛み合っていない可能性があります.
もうひとつは、設定ファイルと作成したページのレイアウトが合っていないことです.
これは、trackerのフォームによってページを作成後に、trackerの設定...特に page ファイルの設定変更によって、既存ページとのレイアウトの不整合が起きた時に生じます.
( 続・質問箱/646 )
A1. trackerの設定ページ(:config/plugin/tracker/XXX ) の page の設定内容から生成する正規表現と、フォームから生成したページとのレイアウトのミスマッチによる不具合の可能性があります.
見出し(*,**,***) で区切られた範囲において、tracker_listに転記する項目とそれ以外とを、混在させない方がよいようです.不具合が起きた設定ファイルの例 (:config/plugin/tracker/XXX/page)
* [Summary] [#p7ce2136] -お客さま: [User] -S営業: [S_Eigyo] -R営業: [R_Eigyo] -優先順位: [Severity] -状態: [Status] -カテゴリー: [Category] -投稿日: [_date] #contents ** 概要 [#waba4dc8] [Messages] ---- #comment不具合を回避する方法
以下のようにすると発生しなくなります.( 初めの見出し(* [Summary]) から 次の見出し(** 概要)までの間から、#contentsを取り除いています.)
* [Summary] -項目1: [Koumoku1] -項目2: [Koumoku2] + ** 目次 (この行を追加) #contents ** 概要
A2. 内部で利用しているPHP関数:preg-matchに長い文字列を処理をさせた時の不具合である可能性もあります. ( しろくろのへや:tracker.inc.php/44 を参照 )
trackerプラグインで「/page」の内容が長すぎると#tracker_listの表示に失敗する件に対するパッチ が公開されていますので、パッチを適用してフォーマットを見直して運用すれば、回避可能です.
そのほかの方法としては、dev:開発日記/2007-11-05 に挙がっている最新のものを利用するという方法がありますが、CVS版 のため発生したトラブルの原因が、バグなのかそれ以外(設定ミス)なのか、を判断できる必要があります。
( 質問箱3/69, 質問箱3/339, 質問箱4/21, 質問箱4/319, dev:BugTrack2/240 )
A まず、プラグイン説明として PukiWiki/1.4/Manual/Plugin/S-U があるのでご覧ください.
さらに 作者であるぱんださんの しろくろのへや:tracker.inc.php が参考になるでしょう.
また、2006-03現在、メンテナンス中ということでアクセスできませんが、 merlinさんのサイトには listbox2プラグインを組み合わせたサンプルが掲載されていました.
( 質問箱3/229 )
Q&Aの対象リストとして一度はリストアップしましたが、 今更、Q&Aにしても仕方がないと考えているもの. 必要だと感じた方は書き起こしてください.