スポンサードリンク

2006年09月23日

GTD Style Wiki Tips: タスク名の重複を回避する

O'REILLY風
こちらのエントリーにある問題について考えてみました。簡単に言うと以下の2点です。
(1)「○○氏に電話する」というようなありがちなタスク名の場合、既存タスクと名前がかぶることが多く、その都度ユニークなタスク名を考えて入力しなおすのが面倒
(2)todoマクロを使って一括登録する場合、タスク名がかぶっていると登録されない

TiddlyWikiでは、記事タイトルはデータベースでいうところの主キーにあたるためユニークでなければなりません。したがってこの前提をくつがえすような改造はかなり大掛かりになる上に、今後TiddlyWikiのバージョンアップに対応できない可能性が高くなってしまいます。

そこで現実的な対応方法として、以下の方針で考えてみました。
(1)への対応
 ・既存タスクと同名の場合、末尾に連番を付加してユニークな名前にする
(2)への対応
 ・「プロジェクト」タグがついている記事でtodoマクロを使った場合
  各タスクの先頭にプロジェクト名を付加する
 ・先頭にプロジェクト名をつけても既存タスクとかぶる場合、末尾に連番を付加する

本機能を次のバージョンアップ内容に含めるかどうかは未定です。(1)は本来のTiddlyWikiの挙動とことなってしまうのであまり入れたくないですが、(2)の前半は入れてもいいかも。

導入方法:
 GTDStyleWikiで以下の内容の新規記事を作成し、保存、リロード
  タイトル:任意(ただしGtdTodoMacroよりもソート順で後になること)
  タグ:systemConfig
  本文:以下の内容をペースト
//{{{
Story.prototype.saveTiddler = function(title,minorUpdate)
{
var tiddler = document.getElementById(this.idPrefix + title);
if(tiddler != null)
{
var fields = {};
this.gatherSaveFields(tiddler,fields);
var newTitle = fields.title ? fields.title : title;
if(store.tiddlerExists(newTitle) && newTitle != title)
{
// 2006.09.22 ------------
var n = 1;
var tmpTitle = newTitle;
while (store.tiddlerExists(tmpTitle)) {
tmpTitle = newTitle + "_" + n;
n++;
}
newTitle = tmpTitle;
// -----------------------
}
tiddler.id = this.idPrefix + newTitle;
tiddler.setAttribute("tiddler",newTitle);
tiddler.setAttribute("dirty","false");
if(config.options.chkForceMinorUpdate)
minorUpdate = !minorUpdate;
var newDate = new Date();
store.saveTiddler(title,newTitle,fields.text,
config.options.txtUserName,
minorUpdate ? undefined : newDate,
fields.tags);
if(config.options.chkAutoSave)
saveChanges();
return newTitle;
}
return null;
}


config.macros.todo.onClick = function()
{
var m = config.macros.todo;

if (!confirm(m.alert))
return false;

var title = this.getAttribute("tiddler");
if (title == "") {
return false;
}

// 2006.09.22 --------------
var isProject = store.getTiddler(title).
isTagged("プロジェクト") ? true : false;
// -------------------------

var text = store.getTiddlerText(title);
while (text.match(/<<[^>]*>>/) != null)
text = text.replace(/<<[^>]*>>/, "");
while (text.match(/\/%[^%]*%\//) != null)
text = text.replace(/\/%[^%]*%\//, "");
while (text.match(/%[%\$] ?/) != null)
text = text.replace(/%[%\$] ?/, "");
while (text.match(/\[\[|\]\]/) != null)
text = text.replace(/\[\[|\]\]/, "");

list = text.split("\n");
var cnt = 0;
for (var i = 0; i < list.length; i++) {
var s = list[i];
var indent = "";
if (s.match(/^((\s| )+)/))
indent = RegExp.$1;
s = s.replace(/^(\s| )+/,"");
s = s.replace(/(\s| )+$/,"");
if (s == "")
continue;

// 2006.09.22 --------------
if (isProject)
s = title + ": " + s;
var n = 1;
var tmpTitle = s;
while (store.tiddlerExists(tmpTitle)) {
tmpTitle = s + "_" + n;
n++;
}
s = tmpTitle;
// -------------------------

list[i] = indent + "%% [[" + s + "]]";
cnt += m.createTiddler(s);
}

var tiddler = store.createTiddler(title);
tiddler.set(title, list.join("\n"));

refreshDisplay();
story.refreshTiddler(title, DEFAULT_VIEW_TEMPLATE, true);

alert(m.message.replace(/%0/, String(cnt)));
return false;
}
//}}}

posted by style at 01:16 | Comment(25) | TrackBack(2) | GTDStyleWiki

2006年09月16日

AshikaStyleWiki - はてなの進行管理手法「あしか」支援ツール

20060916.gif

AshikaStyleWikiは、はてなの進行管理手法「あしか」を支援するツールです。

ダウンロード

先日GTDStyleWikiをメンテナンスしているときに、このソフトウェアの構造はGTDに限らず排他的なステータスを持つタスク管理手法であれば何にでも適用できる、ということに気が付きました。そんなわけで「あしか」用のカスタマイズです。カスタマイズといっても変更したのはカテゴリーとスタイルシート程度です。表示させていないGTDStyleWikiの機能や記事も実際にはほとんど残してあり、またタグ名もGTDのままです。

あしかは、タスクを「すぐやる」、「そのうちやる」、「ペンディング」、「終わった」のわずか4つのステータスで管理する手法で、正式にはコピー用紙の裏紙とカップヌードルのダンボール箱を使用して行います。
 http://d.hatena.ne.jp/keyword/%A4%A2%A4%B7%A4%AB
 http://d.hatena.ne.jp/jkondo/20050331

はてな自身でも、はてなグループにてあしか機能を提供しているため、このツールに需要があるかどうかわかりませんが、技術的興味からつい作ってしまいました。ローカルファイルで個人レベルのあしかをやってみる場合には良いかもしれません。
posted by style at 09:17 | Comment(3) | TrackBack(0) | GTDStyleWiki

2006年08月30日

GTD Style Wiki Tips: カレンダーの開始曜日を設定する

20060830_1.gif

バージョンアップで追加したのにもかかわらず、ろくに説明していなかったためにほとんど隠し機能みたいになっている開始曜日設定機能について。

GtdCalendarMacroという記事を開くと設定用テキストボックスがあります。ここに0〜6の数字を入力してリロードすることで、カレンダーの開始曜日を変更することができます。

20060830_2.gif

メインメニューのカレンダーだけでなく、ポップアップカレンダーの開始曜日も変更されます。

20060830_3.gif

またAdvancedOptionsなど任意の記事に以下のように記述することで設定用テキストボックスを設置することができます。

  開始曜日(0:日, 1:月, ...) <<option txtGtdCalendarStartDay>>

ここで入力した開始曜日はCookieに保存されます。複数のPCで使用するような場合はPCごとに設定してください。
posted by style at 07:15 | Comment(13) | TrackBack(2) | GTDStyleWiki

2006年08月28日

自分が制約の多いGTDツールを作った理由

constraint.jpg
GTD Style Wikiは他のGTDツールに比べて制約が多い方だと思います。Remember The Milk等が「GTDにも使えるタスク管理ツール」であるのに対して、GTD Style Wikiは「GTDにしか使えないツール」というような意味で。

GTDStyleWikiを作るときに意識したのは、使うことによってGTDが自然に身に付くようなツールにしたい、ということでした。今でこそITmedia Biz.IDのようなサイトがありますが、最初にGTDを知った1年前はいくつかのブログと書籍「仕事を成し遂げる技術」だけが頼りだったので、「こういうときはどうすればいいの?」という疑問がたくさん出てきました。

そこで、そういった初心者がつまずきやすいところをツールでサポートできないかということを考えました。たとえばGTDでは「NextActionに入れたものは決してINBOXに戻してはいけない」というルールがありますが、これを頭でおぼえるより前に、ツール側の制約としてNextActionからINBOXへのステータス変更をできないようにしてしまおうというような発想です。同様に「同じ項目をカレンダーとNextActionの両方に入れない」というルールも、ツールの制約として実装することにしました。

最近になってGTD用のツールがたくさんリリースされて選択肢も広がっていますが、GTDをきちんとマスターした人向けのツールが多いように思います。もう少しGTD初心者向けのチュートリアル的な要素を持ったツールがもっと出てきてほしいなあと思ったりします。(GTDStyleWikiもTiddlyWikiの部分が慣れるまでちょっと敷居が高いと感じています)
posted by style at 07:33 | Comment(0) | TrackBack(1) | GTDStyleWiki

2006年08月06日

GTD Style Wiki Tips: バブルマップ的な重み付タスクリスト表示

これもVer1.1.0からの新機能。ToDoをリスト表示するとき、バブルマップやタグクラウドのように大きさで重要度を表現できるようにしてみました。

20060806_1.gif

ToDo項目に「+1」、「-2」等のタグ名(-3〜+3)をつけると、その数値に応じてフォントが拡大/縮小されます。優先度というよりも、自分の心を占める割合(完了時にすっきりする度合)で大きさを決めると、嫌なToDoも気分的に着手しやすくなると思います。

20060806_2.gif

フォントサイズと改行幅は、「GtdListMacro」という記事に以下のような記述で定義してあります。

config.macros.gtdItemList = {
sizetable: {
"+3": ["2.5em","1.1em"],
"+2": ["2.0em","1.3em"],
"+1": ["1.5em","1.3em"],
"-1": ["0.8em","1.0em"],
"-2": ["0.7em","1.0em"],
"-3": ["0.6em","1.0em"]
}
};
posted by style at 00:25 | Comment(0) | TrackBack(0) | GTDStyleWiki

2006年08月04日

GTD Style Wiki Tips: ToDoの一括登録

Ver1.1.0の新機能としてToDoの一括登録ができるようになりました。収集プロセスで多くのToDoを登録する場合や、プロジェクトの細分化をするときに便利だと思うので、以下に手順を説明します。

はじめにToDoリストを入力する記事を作成します。この記事自体はToDoではないのでメインメニューの「新規作成」を選択します。

20060804_1.gif

次にリストを入力します。このとき1行目に<<todo>>マクロを書き、2行目以降に項目を書いていきます。タイトルは任意、タグは不要です。

20060804_2.gif

「決定」ボタンを押して内容を確定すると、以下のようにマクロが「ToDo生成」ボタンになります。

20060804_3.gif

「ToDo生成」ボタンを押すと、各行をタイトルとするToDoアイテムが生成されてINBOXに入ります。

20060804_6.gif

元記事の方は「ToDo生成」ボタンが消滅し、各行はチェックボックス付のリンクになります。

20060804_5.gif

元記事のチェックボックスとリンク生成はプロジェクト用に用意した機能です。今回はプロジェクトではなく、関連性のないToDoを一括登録するだけなので元記事は不要になります。登録が完了したら削除して構いません。

20060804_7.gif
posted by style at 03:20 | Comment(27) | TrackBack(2) | GTDStyleWiki

2006年08月03日

GTD Style Wikiバージョンアップ(1.1.0)

7月末にバグが出たのでGTD Style Wikiをバージョンアップ(Ver 1.1.0)しました。変更点は以下の通りです。

・月末にカレンダーの次月/前月ボタンの挙動がおかしくなるバグを修正
・カレンダーの開始曜日を変更可能にした。
・サイドメニューがメインフレームに重ならないようスタイルシートを調整
・ToDo一括登録マクロ追加
・リスト項目の強調表示機能追加

アップグレード手順を以下に示します。Ver1.0.1までの本体に書いてある方法と異なりますが、この方がたぶん楽だと思います。

1. 念のため、現在使っているGTD Style Wiki(以下、旧バージョン)のバックアップコピーをとっておく

2. 新バージョンと旧バージョンを同じ作業フォルダに置く
 (Firefoxの場合は作業フォルダに日本語パス名を含まないよう注意)

3. 新バージョンをブラウザで開く

4. 保存ボタンを押してファイルを一旦保存する
 (これにより使用ブラウザに見合ったエンコード形式に変換されます)

20060803_1.gif

5. 旧バージョンをブラウザで開く

6. メンテナンスメニューの「アップグレード」を選択

20060803_2.gif

7.フォームのFileに新バージョンファイル名(パスなし)、Tagに半角でGTDと入力。
 Executeボタンをクリック

20060803_3.gif

6.以下のダイアログが表示されたらバージョンアップ成功。保存してリロード。

20060803_4.gif

※インポートする記事と同名の記事が既にある場合、上書きされてしまうので十分注意してください。StyleSheet等を自分でカスタマイズしていて上書きしたくない場合は、インポート前に新バージョンの記事からGTDタグを外しておいてください

※IEやOperaの場合、インポート時にIO処理のCPU負荷が非常に高くなります。件数にもよりますが処理完了まで数十秒〜数分間待ってみてください。
posted by style at 05:55 | Comment(3) | TrackBack(1) | GTDStyleWiki

2006年07月20日

GTD Style Wiki Tips: 完了ステータスを追加する

以下のコメントをいただいたので解説。

>■作業完了したものは、ごみ箱に棄てるとありますが、作業完了データーを残すにはどうしたらいいのでしょうか?

多くのタスク管理ツールでは、実行が終わったタスクは「完了状態」のようなステータスになりますが、GTD Style Wikiでは完了状態のステータスは存在せず、ごみ箱に捨てるのと同じ扱いです。理由としては、GTDの本には実行後のタスクを入れるリストについて言及がない、TiddlyWikiの構造上記事を消さずに増やし続けると重くなる、という考えからです。

それでもやっぱり完了タスクを残しておきたい、という場合は以下のようにしてみてください。

(1) 新規記事を作成する。
 タイトル:完了
 本文:<<gtdListWithDate>>
 タグ:GTD GTDsys List Close

20060720.gif

(2) 保存&リロード

これで、その他リストメニューやステータスプルダウンメニューに「完了」という項目が追加されます。「完了」リストに入ったものは「資料」や「ごみ箱」同様クローズしたタスクの扱いとなります。
posted by style at 08:17 | Comment(3) | TrackBack(0) | GTDStyleWiki

2006年07月14日

GTD Style Wikiの操作

GTD Style Wikiについて、リリースしっぱなしというのもなんなので、スクリーンショットを交えて操作方法を説明します。

1.収集
何かやるべきことを思いついたら、新着リストメニューの「新規ToDo」を選択します。
fig_selnew.gif

新規記事の入力フォームが開くので、タイトルにToDo名を入れます。本文は空欄で構いません。
fig_input.gif


2.処理
新着リストメニューの「INBOX」を選択してリストを開きます。
リストの項目を選択してToDoを開きます。
fig_inbox.gif

この場合、2分以上かかり、自分が適任の単一アクションなので、ステータス変更プルダウンメニューから「未決」を選択します。
同様にINBOXの他の項目も処理していきます。
fig_pending.gif


3.整理
新着リストメニューの「未決」を選択してリストを開きます。
リストの項目を選択してToDoを開きます。
fig_selpending.gif

この場合、家で実行するToDoなので、ステータス変更プルダウンメニューから「自宅で」を選択します。
fig_athome.gif

あるいは「今週日曜日にやろう」というように日程を決めてしまっても構いません。その場合、カレンダープルダウンメニューから実行日を選択します。
fig_sunday.gif


4.レビュー
カレンダーや次の行動リストを見直します。今回追加したToDoは次の行動リストメニューの「自宅で」を選択してリストを開くと載っています。
fig_selathome.gif


5.実行
自宅にいて空き時間ができたら、次の行動リストメニューの「自宅で」を選択します。時間やモチベーション等を勘案してできそうなら実行します。
実行後は、ステータス変更プルダウンメニューから「ごみ箱」を選択して終了です。
fig_athomelist.gif

fig_trash.gif

また、3で日付を指定した場合は、当日のTicklerFileに表示されます。「TicklerFile」か「カレンダー」をDefaultTiddlersに登録して、毎朝チェックするようにするのがお勧めです。
fig_ticklerfile.gif
posted by style at 02:14 | Comment(10) | TrackBack(1) | GTDStyleWiki

2006年07月02日

GTD Style Wiki

GTDをソフトウェアで実現するためのツールを作りました。GTD Style Wiki

gtdstyle.gif

GTDの原典「仕事を成し遂げる技術」を読んだときに、このToDo管理システムはソフトウェアのツールを使ってやるべきだと感じましたが、ネット上をいろいろ探してみても満足のいくツールが見つからず、結局自分で作ることにしました。また、GTDの本を読んでもワークフロー的に細かいところが分かりづらく、プログラミングすることでロジックを明確にしたかったという意図もあります。

 ・TiddlyWikiのプラグインとしてGTD用ToDo管理機能を実装
 ・カテゴリーをカスタマイズ可能な「次の行動」リスト
 ・カレンダー、TicklerFileの2種類のスケジュール管理ビュー
 ・ステータスタグによる柔軟なステータス管理
 ・ポップアップメニューによる選択式ステータス設定
 ・日本語完全対応
 ・IE、Firefox、Opera対応(WindowsXP上で動作確認済)

TiddlyWikiベースのGTD実装としては以下のようなものがすでにあります。これらとの機能比較なども今後やっていこうと思います。
 ・GTD TiddlyWiki Plus
 ・MonkeyGTD
 ・d3
posted by style at 05:29 | Comment(29) | TrackBack(9) | GTDStyleWiki

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。