Oneline-ticket
ELSSVとの差分
〜をスペースとして扱う(2/1〜2/2のような和風日付表現を扱うため)
メールやチャットでの送付を想定している
文字列型を正規表現でマッチし、いくつかの型に振り分ける
String, Date, Time, DateRange, Tagの5種類
グループ表現がある
カンバンのため(他のビューでは無視する?)
ルール基本
チケット名 開始日 終了日 属性 で多くのものを表現する記法
開始日 チケット名でも動くようにする
Group
#TODO など、行全体がタグにマッチした場合
チケット名の頭についているスペースの数(実装未定。予約表現)
Ticket
String, Date, DateRange, Attribute, Tagのデータ型をスペース区切りで表現
Date: YYYY-MM-DDまたは日本国内で使われている日付記法
Time: HH:mm形式
DateRange: \d+d
Tag: #.*
絞込の可能性があるものは全てTagで表現する
String: 一要素目、または上記表現にマッチしなかった場合
Attribute: 絵文字+.*
👤 : 担当者
⏰ : アラーム
☑️:チェックボックス
Milestoneはどうするか…
Storypointはどうするか…
モデル
code: model.txt
name: string
start_at: date
end_at: date
alarm_at: date
user: string
tags: string[]
注意点:カンバンの場合は記入順が必要なので、groupはフラットに出来ず、階層型の配列に格納される必要がある
Viewの問題
全てのViewで全記法が表示されねばならないが、期間が未記入のタスクなど、表示の方法に工夫が必要
カレンダーであれば、横に期間アサインされていない場所を用意
ガントチャートの場合は、何階層目まで表示するかの設定が必要かも
以下雑多な考え
タスクを表す包括的な「ワンライナー記法」
機能を限定するため「Nice to have」は徹底排除
ただし、ゴールに関わる機能にはこだわる(ただ付けただけにはせず、強力な機能にする)
考えたことを書き下したら、そのまま反映されるイメージになること
覚えずとも書ける
まず項目を書き下す
スペース区切りで日付を付ける
他に属性が必要ならGUIから付ける(絵文字)
複数の書き方を許容する?
Task1 2018-01-01 3d
Task1 1/1〜1/3
日付が一つだけ指定されている場合は、終了日の表現であるはず
任意の順序を許容する?
データ種別を表すHEADERが必要なはず
👤, ⏰, ♦, 1️⃣など絵文字記法
User, Alarm, Milestone, Storypointなど
U, AL, MS, SPなど略記法
それだけでは意味不明なので、絵文字に強制コンバートする
Header以降が省略された場合はデフォルト値が選択される
タグ
担当者、Milestoneなど、絞込の可能性のあるものは全て
正規表現で引っ掛けられる記法
2018-01-01
1/1〜1/2
1d
それ以外は備考となる
下記を同一データの別ビューとみなす
カレンダーの用事
ゴール:当日・前日通知
DONEはしない
繰り返しの表現
場所と時刻
書き方
Event1 2018-01-01
Event1 2018-02-02 ⏰
Event1 2018-03-01 21:10 渋谷ハチ公
カンバン
ゴール:DONEにする
グルーピングの表現(タグ?)
担当者
書き方
Task1 SP1 👤yamada #Open
Issueのチケット
ゴール:Closedにする
担当者を付けてフィルタする
終了日をつける
ストーリーポイントをつける
Issue1 2018-01-01 SP1 👤yamada #Closed
ガントチャートの1タスク
終了日をつける
期間を算出する(営業日は考慮?)
Task1 2018-01-01 2018-02-01 30%
TODOリスト
☐と☑️のAttributeで表現
code: oneliner.txt
親タスク 2018-01-01 2018-02-02
子タスク 2018-01-02 2018-01-03
マイルストーン️ ⏰ 2018-01-28
タスクのゴール
通知(予定)
繰り返しタスク
DONEが必要なタスク
グルーピング
カンバンでは一列を表現し、Issueやガントチャートでは親子タスクを表現する
Issueでのチェックボックスグループと分けたい気持ちもある
スペースによるグルーピング
改行によるグルーピング
h1によるグルーピング
両方出来るようにするか?
グループとレイヤを別と考えるか?
パースのルール
頭についているスペースの数が「タスクの階層」
スペースでパースする
一つ目は必ずタスク名
タスク名末尾に絵文字を追記することでタイプを表すことが出来る
⏰: 通知あり
♦️️: マイルストーン
2:開始日
3:期限日(ない場合は一日指定されたのと同じ)
4:備考
通知ルール
通知は「1週間前」「前日」「当日」の三回
通知日を変えたいのであれば、新たに通知用タスクを作れば良い(〜の準備 など)
それか、アプリグローバルの設定とする
参考
gitlabのissueテーブル