tracker,tracker_listの考察と解説

Last-modified: 2021-12-31 (金) 08:07:59

目次

trackerプラグインは定型の項目をもったページを作るための入力フォームを表示し、入力されたデータを雛型に埋め込んで新規ページを作るプラグインです。
tracker_listプラグインはtrackerプラグインで作られた複数のページから、入力されたデータを拾い出してリスト表示するプラグインです。
FAQ,BBS,書評,TODOリストなど使い道はアイディア次第です。(プラグインマニュアル受け売り)
高機能なのだけど、プラグインマニュアルやdefaultの定義ページだけではわからないことをwebで拾ったり実際動かして分かったことを解説していきます。
なお、この解説はWIKIWIKI.jpでの動作を元にしていますので、他のwikiやバージョン違い、内部設定の違いによっては動作が異なる可能性があります。
また、間違ったことを書いている場合もあります。その際はご容赦ください。
2019/5/2 加筆・修正
2020/4/11 加筆

https://wikiwiki.jp/sample/PukiWiki/1.4/Manual/Plugin/S-U#rf5296e2

trackerを使うには下にあるような最低4種類のページを:config/plugin/tracker/以下に作成します。
この解説では各ページを以下のように呼ぶことにします。

  • :config/plugin/tracker/Sample・・・フィールド定義ページ
  • :config/plugin/tracker/Sample/form・・・入力フォーム定義ページ
  • :config/plugin/tracker/Sample/list・・・リスト表示定義ページ
  • :config/plugin/tracker/Sample/page・・・新規ページ定義ページ

この例での"Sample"の部分は定義名としてプラグインを使用するときに指定します。
定義名は自由に変えて構いません。日本語の定義名でも問題ありません。
入力フォーム定義ページやリスト表示定義ページは複数作って使い分けることも可能です。
以下にそれぞれのページの説明をします。

trackerのフィールド定義のページです。
フィールドとは入力フォームの入力欄のことです。
このページにフィールドの名前と形式を申告し、選択肢に何があるかとか、デフォルト値などを記述します。

左の+をクリックするとこの例でのフィールド定義ページを表示します

左の-をクリックすると閉じます


項目名見出し形式オプションデフォルト値
textテキストtext20textのデフォルト値
pageページpage20pageのデフォルト値
titleタイトルtitle20titleのデフォルト値
formatテキスト(書式整形)format20formatのデフォルト値
textareaテキストエリアtextarea20,10textareaのデフォルト値
mselectマルチセレクトselect3,multiple項目1,項目3
selectセレクトselectFrontPage
radioラジオボタンradio項目2
checkboxチェックボックスcheckbox項目1,項目3
hidden隠しhidden項目1
file添付ファイルfile
_date投稿日時
条件セルの書式文字書式
IS NOT NULL%s%s・・・%s・・・%s・・・
IS NULL入力なし
条件セルの書式文字書式
IS NOT NULL「%s」%sへのリンク?
IS NULL入力なし
見出しセルの書式
Helpヘルプを表示
FrontPageトップページへ?
SandBox%sへは行かせない
見出しセルの書式
項目1%sが選ばれた
項目2%sを選んだ
項目3%sですか?
見出しセルの書式
項目1radio(%s)
項目2radio(%s)
項目3radio(%s)
見出しセルの書式
項目1%s
項目2%s
項目3%s
見出しセルの書式
項目1%s
項目2%s
項目3%s

fieldsという名前の見出しを作り、その下に表形式で定義します

項目名見出し形式オプションデフォルト値

の下に使用するフィールドの定義を書いていきます。

  • ヘッダの意味
項目名
フィールドの名前です。予約されている名前以外を使って自由に指定できます。
全角文字だと書き込めてもリスト表示できないみたいなので半角英数推奨です。
見出し
tracker_listプラグインでリスト表示するときのヘッダ行に使われる見出しです。
形式
フィールドの形式を指定します。後述のtext,title,textarea,page,format,select,radio,checkbox,hidden,fileのいずれかを指定します。
オプション
入力欄の横幅や高さまたは機能などを指定します。
デフォルト値
入力フォームが表示された時の初期値を設定します。
  • 形式の説明
text
1行のテキストボックスに入力するフィールドです。
Wiki書式付きの文字列が入力されていると新規ページやリスト表示の時にも反映されます。
例)リンクにする、文字の大きさや文字の色を変える、改行する
オプション:入力欄の横幅を指定します。
title
textと同じく、1行のテキストボックスのフィールドですが、リストに表示される際はWiki書式が除去された表示になります。
ただし、URLはリスト表示でもリンクになってしまいます。
オプション:入力欄の横幅を指定します。
textarea
複数行のテキストエリアに入力するフィールドです。
Enterキーを押すと改行され、複数行の文章入力が簡単に行えます。
ただし、Enterキーで改行した文章はリスト表示では改行されません。リスト表示でも改行させたい場合は&br;の書式で入力します。
オプション:入力欄の横幅、入力欄の高さ、リストに表示する際の上限文字数(?)の順に指定します。
※上限文字数は全角/半角の区別なくその文字数まで表示されますが、長い文字列の場合に末尾に"..."がつくかどうかは全角文字を半角2文字分とカウントしているようです。(さらに詳しくは後述)*1
page
textと同じく、1行のテキストボックスのフィールドですが、新規ページやリスト表示の時ではリンクになります
関連するページをリンクとして表示するようなときに使います。
オプション:入力欄の横幅を指定します。
format
textと同じく、1行のテキストボックスのフィールドですが、入力された文字列を整形することができます。
また、入力の有無で埋め込む内容を変えることができます。
どう変えるかはフィールドと同じ名前の見出しを作って指定します。(後述)
format形式ではデフォルト値が反映されません。
オプション:入力欄の横幅を指定します。
select
固定された複数の選択肢から選ぶことのできるフィールドです。
選択肢の内容はフィールドと同じ名前の見出しを作って指定します。(後述)
オプションを指定しないとドロップダウンリストになり、オプションで行数を指定するとリストボックスになります。
行数の後に",multiple"を指定すると、Ctrlキーを押しながら選択することで複数の選択肢を選ぶことができます。
オプション:リストボックスの行数、multiple設定の順に指定します。
radio
選択肢の中から1つを選択するフィールドです。ドロップダウンリストでも同じことはできますが選択項目が一目でわかります。
選択肢の内容はフィールドと同じ名前の見出しを作って指定します。(後述)
オプション:なし
checkbox
選択肢の中から複数選択する場合のフィールドです。multipleのリストボックスでも同じことができます。
選択肢の内容はフィールドと同じ名前の見出しを作って指定します。(後述)
オプション:なし
hidden
入力フォームでは隠されたフィールドです。入力時には値が決まっているフィールドで入力フォームに設置する必要がない場合に指定できます。
運用中に一時的に入力させないようにするとか、項目が増えた場合の予備として場所だけ確保しておくといった場合にも使えそうです。
選択式のフィールドと同じようにフィールドと同じ名前の見出しを作ることで、内容によってリストの書式を変化させることができます。
オプション:なし
file
attach pluginを用いて新規ページにファイルを添付します。ファイルを選択後、追加ボタンを押すと実際にアップロードされます。
オプション:なし

選択形式のフィールドと同じ名前の見出しを作成し、その下に表形式で定義します。

見出しセルの書式

の下に選択肢の数だけ1行ごとに書いていきます。
見出しは選択肢の内容で、セルの書式はtracker_listでリスト表示したときの書式を指定します。
セルの書式を指定すると選んだ選択肢によってセルの色を変えたり、表示する文字を変えたりできます。
%sの部分が選択した内容に置き換わりますが、選択肢の内容と%sは必ず同じになるので必ずしも使う必要はなく、

|~見出し|~セルの書式|h
|選択肢1|BGCOLOR(#ffcccc):%s|

|~見出し|~セルの書式|h
|選択肢1|BGCOLOR(#ffcccc):選択肢1|

と書いても問題ありません。

%sを書式中に2回以上書くとうまく動きません。
chkeckboxやmultipleのリストボックスで複数の選択肢を入力した場合はこの書式は適用されません。
なお、このセルの書式はあくまでリスト表示の時に使われるもので、新規ページには選択肢の内容だけが反映されます。

 

2019/5/2追記
Sampleの定義ページでは上記のようなセル書式だけの表を使っていますが、

見出しセルの書式文字書式

として新規ページに書き込む書式を定義することもできます。
だたし、文字書式を定義して埋め込まれたフィールド値をtracker_listで読み込むと、%sは文字書式で変化した値となり、定義ページの元々の選択肢と異なるためセルの書式は使用されなくなります。
個別ページを表形式にしているときに個別ページでも選択肢によってセルの色を変えたいという場合には、以下のように定義すると個別ページとリスト表示両方で色を変えることができます。

|~見出し|~セルの書式|~文字書式|h
|選択肢1||BGCOLOR(#ffcccc):%s|

※読みだした%sが選択肢と異なる場合は%sがそのまま表示されます。この例の場合、%s自体にBGCOLORが付加されているため、リスト表示のセルも色が変わります。

 

2020/4/11追記
選択肢の定義はリストのソート時の順番にも利用されます。
選択形式のフィールドのソートは選択肢の文字列によってソートされるわけではなく、選択肢の定義の順番でソートされます。
フィールドの値が選択肢にないページはソートが行われず、昇順の場合はリストの先頭、降順の場合はリストの最後にまとめられます。(値によってはこの通りにならないようです)
chkeckboxやmultipleのリストボックスで複数の選択肢を入力した場合や、文字書式によって埋め込む値を変えた場合、後でフィールドの値を選択肢以外の値に書き換えた場合などはソートがうまく働かなくなる可能性があります。

format形式のフィールドと同じ名前の見出しを作成し、その下に表形式で定義します。

条件セルの書式文字書式

の下に文字が入力された場合の書式"IS NOT NULL"の行と、入力されなかった場合の書式"IS NULL"の行を書きます。
セルの書式はリスト表示する時の書式、文字書式は新規ページに埋め込む時の書式です。
文字書式の%sの場所が入力された文字に置き換わり新規ページに埋め込まれます。文字書式には%sを複数使うことができます。
セルの書式の%sの場所には入力された時の文字ではなく、新規ページに埋め込まれた文字(文字書式で置き換わった後の文字)が置き換わります。セルの書式で%sを複数使うとうまく動きません。
入力されなかった場合の文字書式を指定してしまうと、新規ページにそれが埋め込まれてしまい、リスト表示する際には%sがNULLにならないため、入力された場合のセル書式で表示されてしまうことに注意が必要です。

入力フォームの形を定義するページです。
表形式の入力フォームしか見たことはありませんでしたが、表にしなくてもいいようで、割と自由なデザインに出来るようです。
[フィールド名]の場所に入力欄が表示されます。
定義したけど入力フォームに設置しなかったフィールドは、形式がhiddenであればデフォルト値が記入されますが、そうでない場合はデフォルト値があっても空白になります。

左の+をクリックするとこの例での入力フォーム定義ページを表示します

左の-をクリックすると閉じます

:config/plugin/tracker/Sample/form

選択項目解説
text[text]1行のテキスト入力欄
文字列にWikiの書式が入っていると追加したページやリスト表示するときも
適用されるのでリンクにしたり文字の色を変えたり改行したりできる
Enterキーを押すと「追加」ボタンを押したことになる
page[page]text + 一覧時にmake_pagelink()を通します。関連ページにリンクを張ることができる
title[title]text + 一覧時にmake_heading()を通します。textと違い、リストに表示するときはWikiの書式を除去する
format[format]指定したフォーマット文字列で整形した文字列を記録します。入力してあるかどうかで記録される文字列を変化させることができる
textarea[textarea]広いテキスト入力欄
Enterキーを押すと改行して文章入力ができるが、リスト表示では改行されない
リストでも改行させるには&br;を使う
select
(multiple)
[mselect]リストボックスで選択する
multipleだとctrlキーを押しながら選択すれば複数選択することが可能
select[select]ドロップダウンリストで選択する
radio[radio]複数の選択肢から一つだけ選ぶ場合に使う
checkbox[checkbox]複数選択可能な場合に使う
上の選択方法と違い、どれも選択しないことが可能
file[file]attach pluginを用いて新規ページにファイルを添付します。ファイルを選択後、追加ボタンを押すと実際にアップロードされる
hidden[hidden]←ここにhidden隠しフィールドを挿入します。項目が追加された場合の予備としての項目?場所だけ確保しておくみたいな
予約項目
_name[_name]記事を記録するページ名を入力するフィールドを表示します。省略可。
_submit[_submit][追加]ボタンを表示します。

特別なフィールドとして以下の2つがあります。

[_name]
新規ページの名前を指定する欄が表示されます。省略可能です。
フォームに設置しなかったり、入力しなかった場合や同じ名前のページが既にある場合は新規ページは連番で作成されます。
[_submit]
追加ボタンが表示されます。

新規に作成するページの雛型を定義するページです。
入力フォームで入力された値を元に[フィールド名]の場所に入力された値が埋め込まれます。同じフィールドを何箇所かに埋め込むことも可能です。

左の+をクリックするとこの例での新規ページ定義ページを表示します

左の-をクリックすると閉じます

:config/plugin/tracker/Sample/page

_page = [_page]
このページのフルネーム。ブラケットつき。
_base = [_base]
このページの名前の階層名(上位階層までの名前)
_refer = [_refer]
trackerプラグインが設置されているページ名。
_real = [_real]
このページに実際につけられたページ名。
_name = [_name]
投稿時に指定されたページ名。
_date = [_date]
投稿日時。
  1. _nameがページ名として無効か、すでに存在するページ名が指定された場合は、_real には自動的に連番が振られます。
  2. _page, _refer, _realをページに記録しなかった場合、tracker_listの当該フィールドの内容には実際のページ名から生成した情報が使用されます。
  • text = [text]
  • page = [page]
  • title = [title]
  • format = [format]
  • mselect = [mselect]
  • select = [select]
  • radio = [radio]
  • checkbox = [checkbox]
  • hidden = [hidden]
  • file = [file]

[textarea]

以下のフィールドはtrackerプラグインによって自動的に値が設定され、これを新規ページに埋め込むこともできます。
[_page]と[_real]以外をリスト表示に使いたい場合は新規ページに記録しておく必要があります。

[_date]
投稿日時。
[_page]
実際に生成したページ名。ブラケットが付く(リンクになる)。'[[ベースページ/[_real]]]'と同じ。
[_refer]
#trackerを置いたページ。ブラケットが付く(リンクになる)。
複数のページにtrackerプラグインを置いて同じベースページを指定した場合に、どのページから入力されたのかが分かる。
[_base]
ベースページ名。ブラケットが付く(リンクになる)。新規ページの親ページ。新規ページはこの親ページの下位に作られる。
[_name]
入力フォームの [_name]の欄に入力された値。
[_real]
実際に生成したページ名から、'[_base]/'を除いた名前。
'[_base]/ [_name]'がページ名として有効かつ、同じ名前のページが既に存在しない場合は[_real]=[_name]となる。
入力フォームに[_name]フィールドを設置しなかったり、設置しても入力しなかったり無効なページ名の場合、そして、既に同じページが存在している場合は[_real]に自動で連番が振られる。

入力フォームで記録されたページ(以下個別ページと呼びます)のフィールド値をまとめてリスト表示する際のデザインを定義するページです。
表形式で記述することが一般的ですが、必ずしも表形式にする必要はありません。(このwikiの個別ページ一覧では箇条書きのように出力しています)
wikiの整形ルールの表組みと同じく、行末にhを付けるとヘッダ行、fを付けるとフッタ行、cを付けると書式指定行になります。
ヘッダ行やフッタ行では、[フィールド名]と記述するとフィールド定義ページで定義した見出しが表示されます。
ヘッダ・フッタ行で[フィールド名]ではなく見出しを直書きしてもかまいませんが、その場合その項目はリンクにならず、閲覧者が任意にソート順を変えることができなくなります。
そのほかの行で[フィールド名]と記述すると個別ページのフィールド値を表示します。
フィールド値を表示する行を複数行記述した場合は1ページがその行数分毎にリスト表示されます。
[フィールド名1,フィールド名2]のように記述すると、フィールド名2の書式でフィールド名1の内容を表示することができます。例えば、フィールド名2が状況を表す場合に、その内容によってその行全てのセルの色を変えるといったことができます。*2

左の+をクリックするとこの例でのリスト表示定義ページを表示します

左の-をクリックすると閉じます

:config/plugin/tracker/Sample/list

[_page][_base][_name][_update][_date]
[text][page][title][format][hidden]
[textarea][mselect][select][radio][checkbox]
[_page][_base][_name][_update][_date]
[text][page][title][format][hidden]
[textarea][mselect][select][radio][checkbox]

以下のフィールドはtracker_listプラグインによって自動的に値が設定され、これを使うこともできます。

[_page]
個別ページのページ名。リンクになります。個別ページに記録しなかった場合は実際のページから自動で作成されます。
デフォルト見出し:「ページ名」
[_refer]
#trackerを置いたページ。リンクになります。個別ページに記録しなかった場合はベースページ名になり、リンクにもなりません。
デフォルト見出し:「参照」
[_base]
ベースページ名。 リンクになります。個別ページに記録しなかった場合はうまく動作しません。
デフォルト見出し:「基底」
[_name]
入力フォームで[_name]のフィールドに入力したもの。個別ページに記録しなかった場合はうまく動作しません。
デフォルト見出し:「ページ名」
[_real]
個別ページ名から、ベースページ名 + '/'を除いた名前。
デフォルト見出し:「ページ名」
[_date]
投稿日時。個別ページに記録しなかった場合はうまく動作しません。
デフォルト見出し:「日付」
[_update]
ページの最終更新日時。
デフォルト見出し:「更新日時」
[_past]
最終更新日時からの経過。
デフォルト見出し:「経過」

デフォルト見出しを任意に変更したい場合は、フィールド定義ページで

項目名見出し形式オプションデフォルト値
予約フィールド名任意の見出し

のように記述します。

  • フィールド定義ページの選択形式のセル書式に"%"を文字として書きたい場合は、"%%"としないと表示が乱れます。
  • textarea形式の上限文字数についてのもう少し詳しい説明
    ※WIKIWIKI.jp*では"..."が付くか付かないかの件で2020年2月に全角文字も1文字としてカウントするように修正してもらいました。標準的なwikiでは下記のような症状が出る場合があります。
    • 文字列が全て半角の場合
      上限文字数+3文字まではそのまま表示されます。
      上限文字数+3文字以上だと上限文字数までの文字と"..."が表示されます。
    • 全角文字を含む場合
      全角の文字数×2+半角の文字数が上限文字数+3以下であればそのまま表示されます。
      それ以上の文字数の場合は文末に"..."が付きます。
      全角半角の区別なく上限文字数まで表示されます。
    • 改行について
      キーボードのEnterキーで改行されている文章はリスト表示では改行が無視され改行されないため上限文字数にカウントされない。
      &br;でリスト表示でも改行されるように記述した場合は4文字としてカウントされる。
  • [フィールド名1][フィールド名2]のように続けて新規ページに埋め込んでしまうと区切りが判別できないため[フィールド名1]にすべての文字が取り込まれ、[フィールド名2]は空文字になってしまいます。これを逆手にとって別々に入力したフィールドを1つのフィールドに統合することもできます。
  • 新規ページ定義ページでコメントアウトしてある行もそのまま複製されるので、無駄なコメント行は残さない方がいい。
  • tracker_listプラグインはコメント行からもフィールド値を取得してくるので、個別ページで表示する必要はないが記録しておきたいフィールドはコメント行にしておくといい。
  • 運用中に新規ページ定義ページのレイアウトを変更すると既に入力された全ての個別ページのフィールド値を取得できなくなる場合がある。
    この場合、既に入力された個別ページも定義ページと同じレイアウトに編集し直す必要がある。
  • 既に入力された個別ページでもレイアウトを変えるなどするとフィールド値を取得できなくなることがある。
    新規ページ定義ページに書いてある文字は1文字違うだけでもダメ。
  • 個別ページにcommentプラグインを設置した場合、コメントが増えてページが長くなるとフィールド値を取得できなくなることがある。
    tracker_plus_listプラグインを導入して、プラグイン設定のTRACKER_PLUS_LIST_APPLY_LIMIT_PARSERANGEをTRUEにしているwikiでは、リスト表示にtracker_plus_listプラグインを使い、commentプラグインの前に"//////////"を入れておくことで回避可能。
  • selectなどの選択肢は運用中に増やしても手間は少ないが、フィールドを増やすのは新規ページ定義ページと既に入力された個別ページ全ての変更をを伴うので容易ではない。
    あらかじめ予備のフィールドを用意しておけば、入力フォーム定義ページとリスト表示定義ページの変更だけで済ますこともできる。(ただし、この方法では個別ページの表示は変更できない)
  • 新規ページに同じフィールドを複数個所に埋め込むこともできますが、後から編集して同じフィールドなのに違う値が書き込まれてしまった場合、ページの下にある方の値が使用されます。

プラグインで指定するための定義名を決めます。
これから作る定義ページ一式は
:config/plugin/tracker/定義名
以下に作成することになります。
標準的なWikiでは:config/plugin/tracker/default以下にデフォルトの定義ページがあるのでこれらを複製して使うといいでしょう。

作成するページは
:config/plugin/tracker/定義名
になります。
まず、何を入力させるかを考え、そのフィールド名と形式を決めます。
フィールドを後から追加するのは大変なのでここでしっかり考えておいた方がいいです。
選択するタイプのフィールドの場合はどんな選択肢があるかを決めます。
また、その選択肢がリスト表示の時にどんな書式で表示されるのかを決めます。(後で考えてもいいけど)

作成するページは
:config/plugin/tracker/定義名/form
になります。
入力フォームは割と自由にデザインできますが、表形式にするのがオーソドックスかもしれません。
運用中にデザインを変えても大丈夫なので、必要なフィールドを記述しておけば最初は適当でも大丈夫です。
hiddenのフィールドは表示されないので、設置してもしなくてもいいです。
フィールドの説明やどのように入力してほしいかを書いておくといいでしょう。
[_submit]で「追加」のボタンを設置するのを忘れないでください。

作成するページは
:config/plugin/tracker/定義名/page
になります。
新規ページのデザインを考えます。ページのデザインは好きな見た目にできます。
このページのデザインを運用中に変えようとすると、既に入力されているページも同じデザインに変えなければリスト表示で値を取得できなくなってしまうためしっかり考えた方がいいです。

[フィールド名]のように記述して定義したフィールドを埋め込む場所を指定します。

*[フィールド名]の詳細ページ

のようにフィールドが埋め込まれた行を見出しにしたり、

&size(20){[フィールド名]};

のように文字の大きさや色を変えることもできます。
ただし、進行状況のように後から編集する可能性があるフィールドはなるべくシンプルにした方がいいかもしれません。

textareaを埋め込む場合、入力された内容によっては改行が入るため、行の途中や表組みの中にフィールドを埋め込むのはやめた方がいいでしょう。

オーソドックスなデザインでは

  • 項目名:[フィールド名]

のように箇条書きのページを作ることがありますが、選択式のフィールドをlistbox3解説で解説しているlistbox3プラグインを使って状態を書き換えることを考えている場合は、行の途中にフィールドを埋め込むことはできません。
listbox3プラグインはブロック型なので、

項目名listbox3プラグイン

のように表組みの中に入れるか、

  • 項目名:
    listbox3プラグイン

のように改行して使う必要があります。

リスト表示で投稿日時を表示したい場合、予約フィールドの[_date]を埋め込んでおきます。

trackerが設置してあるページへ戻るためのリンクを置きたい場合は、

[_refer]へ戻る
[[投稿ページ>[_refer]]]へ戻る

のように記述します。

ベースページでリスト表示している場合、個別ページからリストに戻るためのリンクを置きたい場合は、

[_base]へ戻る
[[リスト表示>[_base]]]へ戻る (1)

又は、

[[リスト表示>../]]へ戻る (2)

のように記述します。(2)の場合、後でベースページの名前を変えてもリンクが切れないのでおすすめです。

掲示板などのようにそのページの中でコメントを記入してもらいたい場合はページの下の方にcommenntプラグインを設置しておきます。
ただ、コメントが多く投稿され、ページが長くなるとtracker_listプラグインで値を取得できなくなる場合があるので、コメントが膨大になりそうな場合はpcommentプラグインを設置します。

新規ページ定義ページにコメント行を記述しておくと、新規ページにも同じコメント行が複製されます。個別ページを後から編集することがある場合は、編集の仕方などをコメント行として書いておくといいかもしれません。
ただし、あまりたくさん書くとリスト表示に時間がかかったり、commentプラグインでコメントが増えた時に値を取得できなくなる場合があるので、必要最小限にした方がいいです。
(現在のWIKIWIKI.jpではかなりこの制限が緩和されていますが、標準的なWikiではあまり推奨しません。実際、このPlayStationセール情報WikiでもWIKIWIKI.jpのサーバー移転直後にリスト表示ができなくなることがありました。)

作成するページは
:config/plugin/tracker/定義名/list
になります。
リスト表示の見た目を考えます。表組みや箇条書きなど割と自由にできます。
運用中に変更しても大丈夫なので、最初は適当でもいいです。
まず、ヘッダ行です。ヘッダ行は行末にhを記述します。セルの先頭文字を~にすると太文字でセンタリングされます。
ヘッダ行で[フィールド名]と記述するとフィールド定義ページで定義した項目名が表示されますが、ソートする必要が無い項目はあえて[フィールド名]を使わないということもできます。

ヘッダ・フッタ行以外で[フィールド名]を記述するとそこに個別ページの値が入ります。

|[user]さん|

のように値だけでなく前後に文字を追加することもできますが、セルの書式を変化させる選択式のフィールドは個別ページの値の前にセル書式が追加されているため、前に文字を追加すると思ったような表示にならない場合があります。
(選択形式のリスト表示の[フィールド名] = フィールド定義ページのselectのセル書式 + 個別ページの値)
こんな場合は、リスト表示定義ページではなく、フィールド定義ページのセル書式に文字を追加することで回避できます。

リスト表示に全ての情報を表示させてしまうこともできますが、項目が多くて横幅が長くなってしまうような場合は、リスト表示する情報は最小限にして全体は個別ページで見せることになると思います。
リストから個別ページへリンクを張りたい場合は、[_page]の予約フィールドを使います。そのままでも使えますが、

|[[[フィールド名]>[_page]]]|

のようにすると、[フィールド名]の値を表示しつつリンクにすることができます。ただし、空白が入力されてしまう可能性があるフィールドは使わないようにしないといけません。

trackerの設定ページを作成したら、次は閲覧者が入力を行うページを作成します。
掲示板のようなものであれば入力とリスト表示を同じページに作成しますが、ここのWikiのように入力ページとリスト表示のページを別々にすることもできます。

入力フォームを設置するには

#tracker(定義名,ベースページ名)

のように記述します。入力フォームを設置するページをベースページにする場合は",ベースページ名"は省略できます。
また、上記の場合デフォルトで:config/plugin/tracker/定義名/formの入力フォームを使用しますが、

#tracker(定義名/別の入力フォーム定義ページ名,ベースページ名)

とすれば別の入力フォームを切り替えて使うこともできます。

入力フォームを設置したページにリスト表示も設置するのが一般的かと思いますが、リスト表示はどのページでも、また、何か所にも設置することが可能です。

リスト表示を設置するには

#tracker_list(定義名,ベースページ名,ソート項目1:ソート順;ソート項目2:ソート順;・・・,表示件数)

のように記述します。
リスト表示を設置したページがベースページの場合は"ベースページ名"は省略できます。
また、その後の項目も省略可能です。
つまり、リスト表示を設置するページがベースページの場合、とりあえず

#tracker_list(定義名)

と記述するだけでも表示されます。
また、デフォルトでは:config/plugin/tracker/定義名/listのリスト表示を使いますが、

#tracker_list(定義名/別のリスト表示定義ページ名)

とすれば別のリスト表示を使い分けることもできます。
例えば、質問箱みたいな使い方では、トップページでは進捗リストだけを表示し、詳しいリストや新しい投稿は別のページで行うといった使い方ができます。

ソートの指定はフィールド名の後にコロン(:)を記述し、ソート順を昇順ならASCかSORT_ASC、降順ならDESCかSORT_DESCを記述します。
プラグインマニュアルの説明ではSORT_ASCとSORT_DESCは閲覧者が変更できるとしていますが、ASCとDESCも変更でき、動作に違いが無いようです。
固定にしたい場合はリスト表示定義ページでヘッダ行の項目名を直書きしてしまえば実現できます。
ソート項目が複数ある場合は間をセミコロン(;)で区切って指定します。

表示件数を指定することで件数を制限することができますが、tracker_listプラグインはページング機能が無いため、表示件数以降を見ることはできません。そのため通常は省略して全件表示することになると思います。
(tracker_plus_listプラグインではページング機能があるため表示件数以降を見ることができます。)

入力フォームとリスト表示を設置したら思った通り動作するか確認します。
入力した内容が新規ページにちゃんと埋め込まれているか、また、埋め込まれた時の見た目が悪くないか。
リスト表示にちゃんと表示されるか。背景色を変えるフィールドの場合は見にくくないかなど。
さらに、入力する文字数を増やしたり、commentプラグインを設置しているページの場合はコメントをたくさん入力してみてリスト表示が出来なくなる限界を調べておくといいでしょう。
標準的なWikiの場合、意外と限界がすぐ来てしまう場合があります。
その場合は新規ページ定義ページを見直して簡潔なページに作り変えたり、commentプラグインではなくpcommentプラグインに変更する必要があります。

動作確認をして問題なく運用を開始しても、もっとこうした方がいいなと思うことは多々あります。
ここでは仕様変更で注意しなければならないことを説明します。

  • 入力フォームやリスト表示の変更について
    これらは運用中に変更しても大きな問題はありません。
  • 選択形式のフィールドについて
    選択形式のフィールドで選択肢を増やすこと自体は簡単で、フィールド定義ページの選択肢の定義の行を増やすだけで済みます。
    しかし、選択肢の内容を変えると値の表示はされますが、書式が適用されなくなります。
    書式を正しく適用させるには、それぞれの個別ページに埋め込まれている内容も書き換える必要があります。
  • フィールドの追加や新規ページのレイアウト変更について
    新規ページ定義ページはtracker_listで個別ページからフィールド値を探すときにどこにフィールドがあるのかを判別するためにも使われるため、これが変更されると全てのフィールド値がリスト表示されなくなってしまいます。(末尾の1文字が変わっただけでも表示されなくなってしまうことがあります。)
    フィールド値が埋め込まれている場所以外は新規ページ定義ページと個別ページは全く同じになるようにしなければなりません。
    このため、フィールドの追加や新規ページのレイアウト変更をする場合は、新規ページ定義ページだけでなく、全ての個別ページのレイアウトも変更する必要があります。
  • 予備のフィールドを作っておく
    上記のようにフィールドの追加は大変な変更を伴いますが、あらかじめ予備のフィールド(が埋め込まれる場所)を作っておくことで、いくらか作業を減らすことはできます。
    例えば、
    -予備欄1:
    -予備欄2:
    というように新規ページ定義ページに記述して、運用開始します。
    フィールド定義ページにはまだフィールドを定義していなくても大丈夫です。
    追加したくなったら、フィールド定義ページに
    |ext1|追加項目の名前|text|50|デフォルト|
    などと追加し、新規ページ定義ページには
    -予備欄1:[ext1]
    を追加します。
    入力フォームやリスト表示は適宜変更します。
    こうすると、既に入力されている個別ページのフィールド値は空白になりますが、リスト表示で値が表示されなくなることはありません。
    このままでは個別ページを表示したときに予備欄1という表示のままになってしまいますが、文字列置き換えを使って"-予備欄1:"を新しい項目の名前に置き換えてしまえば個別ページの変更を一気にできます。
    (文字列置き換えはWIKIWIKI.jpだけの機能かもしれません。また、管理者パスワードが必要です。)
    ※あまり予備欄を多く作っても見づらくなったり、tracker_listの文字数制限に引っ掛かりやすくなるのでほどほどにしましょう。

とりあえず、一通りの解説は終わりました。
このページでは標準的なWikiでの使用も考えて、主にtrackerプラグインとtracker_listプラグインでの解説を行いました。
trackerプラグインは本当に多機能で、運用しているうちにもっとこうした方がよかったということや、こんなことにも使えるかもなんてことが結構出てきます。
問題はやはり運用中の仕様変更でしょうか。ページが増えた後の仕様変更はほんとうに大変なので、運用開始間もないうちにいかに改善できるかが重要だったりします。
このwikiでも仕様変更を何度かやってますが、もう予備欄がなくなってしまって新しい変更は難しい状況だったりします。

さて、tracker_plus解説ではもっと便利なtracker_plusプラグインとtracker_plus_listプラグインの解説を(まだ中途半端ですが)しています。このwikiは最初は元祖trackerプラグインでも動作するよう作り始めましたが、今となってはtracker_plusプラグインなしでは成り立たない状況になっています。WIKIWIKI.jp*でtrackerを使うのであれば、tracker_plusプラグインの導入をお勧めします。

※フィールド定義ページなどを変えながら入力しているので全てのページが同じ定義ページで作られたものではありません。

ページ名基底ページ名更新日時投稿日時
テキストページタイトルテキスト(書式整形)隠し
テキストエリアマルチセレクトセレクトラジオボタンチェックボックス
tracker解説/1tracker解説2018-04-30 (月) 21:53:482017-07-03 (月) 21:57:25
Sample TestヘルプSample TestFrontPageへのリンク項目1
トップページへradio(項目3)項目1, 項目3
tracker解説/10tracker解説2018-07-25 (水) 22:19:202018-07-25 (水) 22:19:20
入力なし項目1
tracker解説/11tracker解説2018-09-28 (金) 16:55:012018-09-28 (金) 16:55:00
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)
tracker解説/12tracker解説2019-08-15 (木) 11:47:492019-08-15 (木) 11:47:49
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/13tracker解説2020-09-15 (火) 14:24:442020-09-15 (火) 14:24:43
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/14tracker解説2020-12-25 (金) 02:08:022020-12-25 (金) 02:08:02
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/15tracker解説2020-12-25 (金) 02:37:292020-12-25 (金) 02:37:29
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/16tracker解説2021-05-14 (金) 15:57:302021-05-14 (金) 15:57:30
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/17tracker解説2021-05-14 (金) 15:57:302021-05-14 (金) 15:57:30
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3トップページへradio(項目2)項目1, 項目3
tracker解説/18tracker解説2021-12-31 (金) 08:07:592021-12-31 (金) 08:07:59
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3SandBoxへは行かせないradio(項目2)項目1, 項目3
tracker解説/2tracker解説2018-04-30 (月) 21:53:482017-07-03 (月) 22:01:40
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1が選ばれたヘルプを表示radio(項目2)項目1, 項目3
tracker解説/3tracker解説2018-04-30 (月) 21:53:482017-07-03 (月) 22:18:12
textのデフォルト値pageのデフォルト値?titleのデフォルト値「入力なし」項目1
項目2を選んだヘルプを表示radio(項目2)項目1, 項目3
tracker解説/4tracker解説2018-04-30 (月) 21:53:482017-07-03 (月) 22:19:26
textのデフォルト値pageのデフォルト値?titleのデフォルト値「入力なし」項目1
項目3ですか?トップページへradio(項目2)項目1, 項目3
tracker解説/5tracker解説2018-04-30 (月) 21:53:482017-07-03 (月) 22:20:56
textのデフォルト値pageのデフォルト値?titleのデフォルト値「入力なし」項目1
項目1, 項目3SandBoxへは行かせないradio(項目2)項目1, 項目3
tracker解説/6tracker解説2018-04-30 (月) 21:53:482017-07-04 (火) 00:11:34
textのデフォルト値pageのデフォルト値?titleのデフォルト値やっほーーー・・・やっほーーー・・・やっほーーー・・・項目1
項目1, 項目3ヘルプを表示radio(項目2)項目1, 項目3
tracker解説/7tracker解説2018-04-30 (月) 21:53:482017-07-04 (火) 00:35:38
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3SandBoxへは行かせないradio(項目2)項目1, 項目3
tracker解説/8tracker解説12018-04-30 (月) 21:53:482017-07-04 (火) 00:56:12
textのデフォルト値pageのデフォルト値?titleのデフォルト値入力なし項目1
項目1, 項目3ヘルプを表示radio(項目2)項目1, 項目3
tracker解説/9tracker解説2018-04-30 (月) 21:53:482017-07-13 (木) 16:40:59
入力なし項目1
選択項目解説
text1行のテキスト入力欄
文字列にWikiの書式が入っていると追加したページやリスト表示するときも
適用されるのでリンクにしたり文字の色を変えたり改行したりできる
Enterキーを押すと「追加」ボタンを押したことになる
pagetext + 一覧時にmake_pagelink()を通します。関連ページにリンクを張ることができる
titletext + 一覧時にmake_heading()を通します。textと違い、リストに表示するときはWikiの書式を除去する
format指定したフォーマット文字列で整形した文字列を記録します。入力してあるかどうかで記録される文字列を変化させることができる
textarea広いテキスト入力欄
Enterキーを押すと改行して文章入力ができるが、リスト表示では改行されない
リストでも改行させるには&br;を使う
select
(multiple)
リストボックスで選択する
multipleだとctrlキーを押しながら選択すれば複数選択することが可能
selectドロップダウンリストで選択する
radio 複数の選択肢から一つだけ選ぶ場合に使う
checkbox 複数選択可能な場合に使う
上の選択方法と違い、どれも選択しないことが可能
fileattach pluginを用いて新規ページにファイルを添付します。ファイルを選択後、追加ボタンを押すと実際にアップロードされる
hidden←ここにhidden隠しフィールドを挿入します。項目が追加された場合の予備としての項目?場所だけ確保しておくみたいな
予約項目
_name記事を記録するページ名を入力するフィールドを表示します。省略可。
_submit [追加]ボタンを表示します。

*1 WIKIWIKI.jp*では2020年2月に修正されました
*2 tracker_plus_listプラグインではフィールド名2の値がキャッシュに取り込まれていないと誤作動します