#author("2020-05-15T08:51:48+09:00","","")
*tasks.inc.php [#ed7f0f1e]

#tasks
#tasks(all_list)
#tasks(search)
#tasks(開始日,終了日,表示したいタスクのページ名)
-----
**tasks.inc.php [#n9cc4ba6]
|RIGHT:100|LEFT:360|c
|~サマリ|task(todo)管理用プラグイン|
|~リビジョン|1.8|
|~対応バージョン|1.4.2|
|~投稿者|[[nobu_s]]|
|~投稿日|&new{2004-05-10 (MON) 14:18:45};|

初めての投稿ですので不具合等ありましたらコメント欄にでもお願いします。

**ダウンロードとバージョンアップ履歴 [#b6e02901]
|~バージョン|~変更点|h
//|1.9|リストの最適化の動作を選択できるように変更(予定)|
|&ref(./tasks.inc.php1.8,1.8);|タスクの変更時のバグ・IEでの動作不具合修正|
|1.7|設定項目の変更・リストの最適化の動作時のバグ修正|
|1.6|icsファイル書き出し時の重要度にリミット付加|
|1.5.1|icsファイル書き出しバグ修正|
|1.5|進捗度と重要度の個別指定の実装|
|1.4|初期ファイル名の変更|
|1.3|クラス名の変更|
|1.2|:config/tasks/contentsの削除機能追加|
|1.1|XHTML 1.1 not valid対策&コメントの追加|
|1.0|初期リリース|
-バージョン№をクリックしてダウンロードしてください。
-プラグインフォルダにインストールする前にtasks.inc.phpに名前を変更してください。
-1.4から初期ファイル名を変更しました。1.3以前を使用していた方は
|:config/tasks|~->|:config/plugin/tasks|
|:config/tasks/contents|~->|:config/plugin/tasks/contents|
に変更願います。
**内容 [#pdfcc1ef]
~複数のtask(ToDo)の管理を行います。
~Jpgprah(以下のJpgrapの設定参照)の設定を行えばガントチャート表示もできます。
また、iCalやMozillaCalendar用にiCalendar形式での出力にも対応しています。
~iCalendar形式での出力はとりあえずの機能(progress,priorityは反映されません)しかありませんが、一応動作確認は行っています。

**スクリーンショット [#zae42d62]
#ref(./tasks.jpg)
**使用ファイル名 [#a397e452]
-:config/plugin/tasks~
~重要度と進捗度の初期設定を行う(設定参照)。
~:config/plugin/tasks/property/ページ名が無い場合はこのページのデータが使用されます。
-:config/plugin/tasks/contents~
~タスク項目のデフォルトの詳細を保管。 
~データに不整合があった場合はこのファイルを確認してください。
-:config/plugin/tasks/property/ページ名~
~ページ別の重要度と進捗度の初期設定を行う(設定参照)。
~このページがある場合はページ名対象ページの重要度と進捗度が優先されますが、このページに無い数値があるタスクはデフォルト値を使用します。

**使用方法 [#k49b1584]
***書式 [#l3c269be]
インライン書式
 #tasks
 #tasks(all_list)
 #tasks(search)
 #tasks(開始日,終了日,表示したいタスクのページ名)
iCalendarでの出力
 http://www.example.com/pukiwiki/pukiwiki.php?plugin=tasks&export=ical&dummy=ics
iCalendar出力の確認
 http://www.example.com/pukiwiki/pukiwiki.php?plugin=tasks&export=ical

***概要 [#q7e535b2]
-#tasks
~引数無しで指定した場合は、タスク一覧等を表示する
--タスク追加
~このページにタスクを追加します(入力方法参照)。
--テーブル
~HTMLのテーブル形式でタスク一覧を表示します。Jpgraphが使用できる環境が前提(備考参照)。
~タスク名をクリックするとページ名/タスク名の新規ページを作成できます。
~詳細をクリックするとタスクの詳細を変更できます(入力方法参照)。
--ガントチャート
~Jpgraphにてガントチャート形式でタスク一覧を表示します。Jpgraphが使用できる環境が前提(備考参照)。
~タスク名をクリックするとページ名/タスク名の新規ページを作成できます。
~グラフをクリックするとタスクの詳細を変更できます(入力方法参照)。
--設定ページ編集
~ページ別の重要度・進捗度を設定します。:/config/plugin/tasks/property/ページ名が無い場合は:/config/plugin/tasksのコピーを作成します。
--ページ名の変更
~ページ名を変更します。PukiWikiでページ名を変更するとタスクとの関連がなくなりますので注意してください。すでにあるページ名には変更できません。
--リストの最適化
~タスクを記録している:config/plugin/tasks/contentsをページ・タスク順に並べ替えます。
-#tasks(all_list)
~引数に'all_list'を指定した場合は、tasksで入力したタスク全ての一覧を表示する。
--ページ名左の'+'をクリックすると対象ページのタスクを表示します。
--ページ名をクリックすると対象ページに移動します。
--タスク名をクリックするとタスクの詳細を変更できます(入力方法参照)。
-#tasks(search)
~引数に'search'を指定した場合は、tasksで入力したタスク全ての一覧ら検索して表示する。
--ページ
~ページ名に指定した文字が含まれている項目を一覧表示します。大文字・小文字を区別しません。
--タスク
~タスクに指定した文字が含まれている項目を一覧表示します。大文字・小文字を区別しません。
--日時
~指定した日付が開始日~終了日間にある項目を一覧表示します。日付の区切りは'/'を使用してください。
--重要度
~重要度が指定した項目を一覧表示します。:config/plugin/tasksや:/config/plugin/tasks/property/ページ名で指定した数字・表示内容どちらで指定しても構いません。
--進捗度
~進捗度が指定した項目を一覧表示します。:config/plugin/tasksや:/config/plugin/tasks/property/ページ名で指定した数字・表示内容どちらで指定しても構いません。
-#tasks(開始日,終了日,表示したいタスク一覧のページ名)
~複数ページのtasksを一覧表示したいときに使用します。
~第1引数に開始日(2004/5/10のように'/'区切りで指定)と第2引数に終了日(2004/6/10のように'/'区切りで指定)を指定し、第3引数に表示したいタスク一覧のページ名を指定すると指定範囲でのタスク一覧を表示(第3引数移行にタスク一覧のページ名を','区切りで複数指定すると複数のタスク一覧を表示)。

***入力方法 [#kea88c68]
-件名
~タスク名称を入力してください。
-開始日時:
~開始日時を入力してください(年は西暦4桁の数字、月は1~12までの数字、日は1~31までの数字)。全角数字は半角数字に変換されます。また、実在しない年月日は直前の実在する年月日に変更されます。
-終了日時
~終了日時を入力してください(年は西暦4桁の数字、月は1~12までの数字、日は1~31までの数字)。全角数字は半角数字に変換されます。また、実在しない年月日は直前の実在する年月日に変更されます。
-重要度
~重要度を選択してください。表示項目は:config/plugin/tasksや:/config/plugin/tasks/property/ページ名で変更できます(設定参照)。
-進捗度
~進捗度を選択してください。表示項目は:config/plugin/tasksや:/config/plugin/tasks/property/ページ名で変更できます(設定参照)。
-TODO項目
~iCalendar形式で出力する際にVTODO形式で出力する場合はチェックしてください。デフォルトはチェック無しのVEVENTになります。

***設定 [#i63eea0c]
-:config/plugin/tasks と :/config/plugin/tasks/property/ページ名
--priority
~重要度の設定を行います。
---重要度
~1~100までの半角数字を入力してください。
---表示内容
~重要度の数字に対応する文字を入力してください。タスク入力画面等での表示名になります。
---デフォルト
~タスク入力時にデフォルトで選択したい項目に'true'を入力してください。
---件名の色
~HTMLでのリスト表示時のタスク名とJpgraphでのグラフの進捗バーの色を指定します。
--progress
~進捗度の設定を行います。
---進捗度度
~1~100までの半角数字を入力してください。100の項目はicsでの書き出しを行いません。
---表示内容
~進捗度の数字に対応する文字を入力してください。タスク入力画面等での表示名になります。
---デフォルト
~タスク入力時にデフォルトで選択したい項目に'true'を入力してください。

-ガントチャート表示
~JPGRAPHがインストールされていて、かつ日本語が表示できればtasks.inc.phpの
 DEFINE("USE_JPGRAPH","false");
       ↓
 DEFINE("USE_JPGRAPH","true");
にすることにより、タスク一覧のリスト表示をJpgraphによるガントチャート表示に変えることができる。また、
 DEFINE("DEFAULT_JPGRAPH","true");
       ↓
 DEFINE("DEFAULT_JPGRAPH","false");
にすることにより、通常はリスト表示だが、必要に応じてガントチャート表示にすることができる。
~ガントチャート表示を使用する場合は
 DEFINE("JPGRAPH_PATH", "/foo/bar/");
の/foo/barを、利用先の環境のJpgraphのインストール先フォルダーに書き換えてください(最後は"/"で閉じてください)。

-ics形式での出力
~使用しているHTTPサーバーがWebDAVを使用できる環境であれば、tasks.inc.phpの
 DEFINE("ICS_PATH","/foo/bar/");
 DEFINE("ICS_URL","http://www.example.com/foo/bar/");
を利用先の環境に書き換えることにより、iCalendar形式のスケジューラーにて閲覧できる。また、
 DEFINE("CALENDAR_NAME","tasks");
の'tasks'を変更することによりカレンダー名を変更することができます。このカレンダー名で指定した名前に".ics"がついたカレンダーが作成されます。
~icsでの書き出しを抑制するには
 DEFINE("ICS_PROGRESS_MAX","90");
の'90'を変更してください。:config/plugin/tasksや:config/plugin/tasks/property/ページ名で指定した数字がICS_PROGRESS_MAXより大きい場合は出力しません。
--ICS_PATH
~サーバー内でのicsファイルの保存先を指定してください。
--ICS_URL
~外部から閲覧できるicsファイルの読込み先を指定してください。

***Jpgraphの設定 [#oecbc537]
-動作確認済み環境
~Debian Sarge
~PHP 4.3.4
~PukiWiki 1.4.2
~Jpgraph 1.14
-入手先
~http://www.aditus.nu/jpgraph/
-日本語表示用改造点
~jpgrahp/src/jpgraph.phpを変更~
--246行目付近(追加)
 //Japanese font
 DEFINE("FF_JPN_START",32);
 DEFINE("FF_JPN_END",90);
 DEFINE("FF_KOCHI",32);
 DEFINE("TF_KOCHI","kochi-gothic-subst.ttf"); <- フォント名は環境に合わせて変更
 DEFINE("FF_JPN_DEFAULT",FF_KOCHI);
 DEFINE("TF_JPN_DEFAULT",TF_KOCHI);
--6185行目付近(追加変更)
 $txt = $this->langconv->Convert($txt,$this->fo...
 //ここから追加
 //For Japanese Font
 if(preg_match("/".mb_detect_encoding($txt)."/","SJIS,EUC-JP,JIS,UTF-8")){
    $txt = mb_convert_encoding($txt,"UTF-8","auto");
    $this->font_family = FF_JPN_DEFAULT;
    $this->font_file = TTF_DIR . TF_JPN_DEFAULT;
 }
 //ここまで追加
 if( !is_numeric($dir) )

**tasks.inc.phpの月名を日本語表示改造例 [#n3cad1c5]
--200行目付近
 if($week_check == 1){
 $graph->ShowHeaders(GANTT_HWEEK | GANTT_HMONTH);
 //ここから追加
        $graph->scale->SetDateLocale("ja_JP");
        $graph->scale-> day->SetFont(FF_GOTHIC,FS_NORMAL,10);
        $graph->scale-> month->SetFont(FF_GOTHIC,FS_NORMAL,10);
 //ここまで追加
 $graph->scale-> month-> SetStyle( MONTHSTYLE_SHORTNAMEYEAR2); 
 $graph->scale-> week->SetStyle(WEEKSTYLE_FIRSTDAY);
 
 //途中省略
 
 }elseif($week_check == 0){
 $graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);
 //ここから追加
        $graph->scale->SetDateLocale("ja_JP");
        $graph->scale-> day->SetFont(FF_GOTHIC,FS_NORMAL,10);
        $graph->scale-> month->SetFont(FF_GOTHIC,FS_NORMAL,10);
 //ここまで追加
 $graph->scale-> month-> SetStyle( MONTHSTYLE_SHORTNAMEYEAR2); 
 $graph->scale-> week->SetStyle(WEEKSTYLE_FIRSTDAY); 
 
 //途中省略
 
 }elseif($week_check == 2){
 $graph->ShowHeaders(GANTT_HYEAR);
 //ここから追加
        $graph->scale->SetDateLocale("ja_JP");
        $graph->scale-> day->SetFont(FF_GOTHIC,FS_NORMAL,10);
        $graph->scale-> month->SetFont(FF_GOTHIC,FS_NORMAL,10);
 //ここまで追加
 $graph->scale-> month-> SetStyle( MONTHSTYLE_SHORTNAMEYEAR2); 
 $graph->SetDateRange(

ja_JPをEN_USに変更すると英語表示になります。それゆえDefineで最初に定義しておくと良いと思います。

 //地域
 //   DEFINE("LOCAL_MODE","EN_US");//北米
    DEFINE("LOCAL_MODE","ja_JP");//日本

 $graph->scale->SetDateLocale("ja_JP");
 ↓先ほどの変更箇所をこうするともっと良いかも
 $graph->scale->SetDateLocale(LOCAL_MODE);

*アンケート [#g04de605]
-このプラグインを使用していますか?一人1回のみ投票して下さい。
|BGCOLOR(#FFCCCC):''選択肢''|BGCOLOR(#FFCCCC):''投票''|
||RIGHT:|c
|BGCOLOR(#EEF5FF):使用している|BGCOLOR(#EEF5FF):67|
-このプラグインに満足しておりますか?
|BGCOLOR(#FFCCCC):''選択肢''|BGCOLOR(#FFCCCC):''投票''|
||RIGHT:|c
|BGCOLOR(#EEF5FF):はい|BGCOLOR(#EEF5FF):11|
|BGCOLOR(#DDE5FF):いいえ|BGCOLOR(#DDE5FF):6|
-「いいえ」に投票した方に質問です。~
どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

**コメント [#a979ae61]
#comment(above)
//

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS