@kyanny's blog

My thoughts, my life. Views/opinions are my own.

業務日誌ツールを Obsidian に乗り換える

org-mode を使った業務日誌システムをやめて Obsidian への乗り換えを試みている。一週間くらい使ってみて、適応できそうな目処はついた。

journal.org 分割後も org-capture がとても遅い問題は完全には解決せず、「当月を含む二ヶ月分のデータだけ残して他は別ファイルにアーカイブする」という運用でカバーしていたものの、そもそも Emacs 自体を結局使いこなせていないということを認識し(elisp をまともに読み書きできないので)、もっと安定したツールの上にシステムを構築したほうが悩みが減ってトータルの生産性は上がるのでは、との考えに至った。

自分のワークフローに org-mode がうまくはまったのは何故か、と考えて、結局以下のような構造を満たせたのが大きいと結論づけた。

YYYY-MM-DD
  なんでも書くノート
  TODO 案件番号 123 について書くノート
  DONE 案件番号 456 について書くノート
  ...
YYYY-MM-DD
  なんでも書くノート
  TODO 案件番号 456 について書くノート
  TODO 案件番号 789 について書くノート
  DONE 案件番号 456 について書くノート
  ...
  • 日毎に分かれている
  • 「なんでも書けるノート」が日毎にある
  • 案件番号ごとにノートがある
  • 案件番号ノートは見出しレベルの TODO/DONE ステータスでタスク管理できる
  • 同じ案件番号ノートが複数作れる
  • 前日の TODO を簡単に翌日に移動できる

org-mode で見出しに focus する (org-narrow-to-subtree) のを「独立したノート」に見立てている。つまり、一定のディレクトリ構造を維持して独立したノート(ファイル)を作ることでも代用できる。アウトライナーにしかない機能に強く依存しているワークフローではない、ということ。

軽く試行錯誤して、Obisidian で上記のようなレイアウトを作り、いくつか運用でカバーして構築したシステムは以下のようになった。

2023-12-05/
  2023-12-05.md
  ZD_123.md
  ZD_456.md
  ...
2023-12-06/
  2023-12-06.md
  ZD_123.md
  ZD_789.md
  ...

YYYY-MM-DD.md の中身

2023-12-06

#dailynotes

# TODO

- [x] [ZD_123 案件 123 の件名](2023-12-05/ZD_123.md]
- [ ] [ZD_123 案件 123 の件名](2023-12-06/ZD_123.md]
- [ ] [ZD_456 案件 456 の件名](2023-12-06/ZD_456.md]

# Note

今日はあれやる。

これもやる。

これはやった。
  • Obisidian の Daily notes の Date format を YYYY-MM-DD/YYYY-MM-DD とすることで、毎日その日のフォルダと、フォルダ内にその日のノートが自動作成されるようにする
  • ZD_XXX というのは案件番号で、日毎のフォルダ内に案件番号ごとにノートを作る。これは daily notes に YYYY-MM-DD/ZD_XXX.md というリンクを作って、そのリンクを辿ることでファイルが作られる
  • リンクをクリップボードにコピーできる Chrome 拡張のカスタマイズ機能を使って、案件番号ごとの問い合わせページの内容からこのようなリンクを一発でコピーできるようにしておく
  • TODO 管理は各案件番号ごとのノートに #TODO タグもつけているが、タグ検索では管理しづらいので、daily notes のタスクリスト(- [ ])に案件番号ごとのノートリンクを貼り付けて、タスクリストのステータスで管理する

同じ案件番号 123 について 2023-12-05/ZD_123.md2023-12-06/ZD_123.md という複数のファイル(ノート)を持てるのがミソで、なぜこれが大事かというと、長期化する案件だとメモする内容が増えるので案件番号ごとに一つしかノートがないと長大になり扱いづらくなる。

自分のノートの使い方は備忘録や返信の下書き、整形前のログの一時的な置き場といった感じなので、雑多なテキストをどんどん書き込んだり貼り付けていってとてもカオスになる。なので、理想的には返信一回ごとに新しいノートを用意したい。

最初は Obsidian vault の直下に ZD_XXX.md を作っていたが、これだと上記の isolation を満たせないことに気づいたので、日毎のフォルダを境界にする案で妥協した。同じ日に一案件の対応を何度もすると同じノートを使い回すことになり、org-mode 時代から劣化しているが、そこは許容した。

ある日の daily notes のタスクリストに追加したが未完了な案件については、タスクリストの項目を最新の daily notes にカット & ペーストするだけで TODO の移動(繰り越し)ができる。org-mode のときも手動でやっていたことなので(org-refile と比べてエレガントさに欠けるが)、ここは問題ない。移動しても元々ファイルへのリンクは親フォルダ名付きで貼ってあるので、リンク切れや混乱は起きない。

移動しそびれた TODO 項目の存在を忘れる対策に、何かプラグインを入れると?未完了のタスクを一覧できるようなので、そういうもので補完する予定。

総じて、なるべく Obsidian 標準の機能の範囲で、最小限のカスタマイズで使い、運用というか使い方をツールの特性に合わせる方向でやっていく方針。プラグインの追加なども、ファーストチョイスとしては考えない。プラグインの自作などもってのほか。

Obsidian なら長年うまくいっていない「ブログに書けない業務に関するストック情報」の置き場としても使えそうなので、これまで GitHub のリポジトリや Wiki など各所にバラバラに書いてきて散らかっている情報についても様子を見ながら集約していきたい。