日報・週報・月報の追加: Notion 解説(6)

はじめに

前回、生活記録と To Do のページを改め、週間アジェンダに改変しました( 週間アジェンダの作成: Notion 解説(4) - hkob’s blog)。現状はこんな感じになっています。

f:id:hkob:20210309080955p:plain
改修前の Launchpad

記事のところから変更したのは以下の部分です。

  • 今日・明日・来週はドラッグで日付設定が可能なので、それがわかるようにタイトルの色を変えました。
  • 前日までの期日超過の未完了タスクをいちいち設計モードで修正するのが面倒だったので、8日分の下に表示しました。ここから「Done」をクリックしたり、今日や明日に移動したりできます。
  • Gallery view だと空の時にうまく移動ができないことがありました。そこで、この部分は見た目を犠牲にしてテーブルビューにしました。

そんな中、Yuka さんの Discord にある「notionの部屋」で「日報・週報・月報」を Relation で関連付けしているが、Relation の貼り付けを自動化できないかという質問がありました。そのアイディアを聞いて、Relation ではなく Formula でサンプルを作って回答してみました。→ 月報まとめ(サンプル)のテンプレート

これを作ってみて、生活記録でやっていた振り返りを同じ仕組みで取り入れられないかと思いました。せっかくなので、試してみようと思います。いつものように記録を取りながら進めていきます(執筆後注: やはり今回も設計しながら逆戻りなどがありました。読みにくくてすみません)。

雑務プロジェクトの流用

これまでタスクにするまでもない短い作業は、雑務プロジェクトの一つのタスクを用意していました。今回「月報まとめ(サンプル)」を作った時に、「今日の日報」をページの一番アクセスしやすいところに用意しました。これと同じ考え方で、雑務プロジェクトのタスクは毎日作成することとし、常に Launchpad の上部に設置することにしてみました。手順を箇条書きにしてみます。

  • 雑務プロジェクト名を「z雑務・日報」プロジェクトに名称変更しました
  • ページトップに「今日の雑務・振り返り」をページトップに追加しました。
    f:id:hkob:20210309085340p:plain
    今日の雑務&振り返りをページトップに設置
  • Filter はこんな感じに設定しています。
    f:id:hkob:20210309085607p:plain
    雑務・振り返りのフィルタ
  • 「雑務・振り返り」テンプレートに「今日の振り返り」部分を追加します。Notion の場合、テンプレートタイトルは空白になってしまうので、一番下にタイトルのテンプレートを記載しています(曜日の入力などで日本語変換したくないので、コピーしてから消すだけにしています)。
    f:id:hkob:20210309090401p:plain
    雑務・振り返りのテンプレート

ここでページに戻り、「+New」で作成したテンプレートを選択してみました。うまくできているようです。

f:id:hkob:20210309090848p:plain
作成された雑務・振り返りタスク

週報プロジェクトおよび週報追加機能の追加

月報まとめのサンプルでは、データベースに「Weekly report?」フラグを付けました。私の場合にはプロジェクトがリンクされているので、週報のプロジェクトを作って追加するだけでよいかと思います。同じように箇条書きで作業を記録します。

  • 週報プロジェクトを作成します。このプロジェクトは手動で選択しないため、名前も単に「週報」とします。先程の「z雑務・日報」も手動で入力しなくなったので、頭の「z」は抜いておきます。通常、プロジェクト名の先頭に英字を加えておくと、手動でプロジェクトを選択するときに、タイプするだけで候補が絞られて便利になることを期待しています。今回の二つのプロジェクトは自動的にプロジェクトが選択されるので、この処置が要らなくなります。
  • タスクに「今週?」プロパティを追加します。これは Yuka さんの YouTubeの受け売りです。その週の日曜日以降、土曜日以前なら true を返す関数になっています。
if(prop("日付") >= dateSubtract(dateSubtract(dateSubtract(now(), day(now()), "days"), hour(now()), "hours"), minute(now()), "minutes") and prop("日付") <= dateAdd(dateSubtract(dateSubtract(dateSubtract(now(), day(now()), "days"), hour(now()), "hours"), minute(now()), "minutes"), 7, "days"), true, false)
  • 同様にタスクに「月初日」プロパティを追加します。次に作る「週番号」を計算するために必要なものです。
dateSubtract(dateSubtract(dateSubtract(prop("日付"), date(prop("日付")) - 1, "days"), hour(prop("日付")), "hours"), minute(prop("日付")), "minutes")
  • 作成した「月初日」を使って計算する「週番号」プロパティを追加します。
ceil(dateBetween(dateSubtract(dateSubtract(prop("日付"), hour(prop("日付")), "hours"), minute(prop("日付")), "minutes"), dateSubtract(prop("月初日"), day(prop("月初日")), "days"), "days") / 7)
  • 今週の振り返りを先程の隣に設置します。
    f:id:hkob:20210309094902p:plain
    今週の振り返り
  • フィルタはこんな感じです。
    f:id:hkob:20210309094936p:plain
    「今週の振り返り」のフィルタ
  • 今週の週報はあくまで作成を楽にするだけで、実際の週報の入力は「月報まとめ(サンプル)」で作成したように月報で入力する形にするのがよさそうです。
    f:id:hkob:20210309105141p:plain
    週報のテンプレート
  • 週報を「+New」で作ってみるとこんな感じになりました。こちらは日付が自動設定されないので、テンプレートを選んだ時点で、手動で今週の日曜日に設定するようにします。
    f:id:hkob:20210309105853p:plain
    今週の振り返りを追加したところ

月報へのリンクの検討

問題の月報へのリンク処理を無駄な手作業を除いて実施したいです。とりあえず月報については、Yuka さんのテンプレートで配布されていた「月」を流用したいと思います。ここからの作業も箇条書きで記録していきます。

f:id:hkob:20210309110922p:plain
月テーブル

  • テーブル名を月報にしてしまいます。
  • タスクに「月報」へのリレーションを追加します。
  • テストのために事前に作った「雑務・振り返り3/9(火)」を消しておきます。
  • 雑務・振り返りのテンプレートの月報を、今月の月報を示す「2021-03」に固定してしまいます。4月になったら、このテンプレートを直す必要がありますが、月に1回だけなのでよしとしましょう。
    f:id:hkob:20210309111949p:plain
    月報のリレーション先を固定化
  • ついでにギャラリービューでみた時に、振り返りを目立たせたいため、タスク以外の業務を下に変更しました。
    f:id:hkob:20210309112107p:plain
    振り返りを上に変更
  • 月報を確認するとちゃんとリンクされていることが確認できます。
    f:id:hkob:20210309112426p:plain
    月報でリンクを確認
  • 週報も同じく月報リレーションを固定化しました。これで、日報・週報のみが月報に自動リンクされることになります。
    f:id:hkob:20210309112841p:plain
    日報・週報の自動リレーション設定

月報ページの作成

最後は月報ページのテンプレートを作成すれば終わりです。こちらは「月報まとめ(サンプル)」で作り込んだので、それを少し修正すればよさそうです。ひとまず1週目のブロックを Toggle list で作ってみました。必要ない時には隠せるようにするためです。

f:id:hkob:20210309114614p:plain
1週目のブロック

このページの細かい設定をまた箇条書きで記録しておきます。

  • Toggle list で「1週目」というテキストを書いておきます。左の▼をクリックすると隠れます。
  • Toggle list の中にタイトルを書いておきます。Toggle list にも書いてあるのですが、小さくて目立たないのでバックグラウンドカラーを設定しています。
  • 次に週報と日報まとめを設置しました。サンプルでは週報を下にしましたが、メインは週報なので、週報を上にしています。
  • 週報側のフィルタです。プロジェクトリンクを「週報」、月報リンクを「月報テンプレート」にしています。こうすると自分自身のページにリンクされているものがフィルタされます。最後に週番号を1として1週目だけを取り出します。
    f:id:hkob:20210309120113p:plain
    週報側のフィルタ
  • 日報側まとめ側のフィルタも同様です。プロジェクトを「雑務・日報」に変えているだけです。
    f:id:hkob:20210309120311p:plain
    日報側のフィルタ
  • 日報は最大7日分あるので、Sort で並び順を設定しておきます。
    f:id:hkob:20210309120408p:plain
    日報の並び順
  • 「Option」キーを押しながらドラッグして、5個分コピーします。稀に1日だけ6週ある月もあるのですがそれは無視します。
    f:id:hkob:20210309120719p:plain
    Option ドラッグで複製
  • 4箇所(Toggle list、タイトル、フィルタ2箇所)の数字を週数に合わせて変更します。
  • 最後に月の振り返りを記載する欄を作って完成です。
    f:id:hkob:20210309121125p:plain
    月の振り返りを追加

テンプレートができたので、実際にテンプレートを適用してみました。先ほど作成した日報と週報が並んで表示されています。

f:id:hkob:20210309121446p:plain
テンプレートの適用

ただ、週報は直接編集はできないので、コマンドクリックしてもう一枚のウィンドウを開いてそちらで編集する形になってしまいますね。本当はこの画面で下に日報を表示したいんですよね。一週間に一度だけフィルタの内容を手作業で変更する必要がありますが、二枚見比べるよりはよさそうですね。このあたりはやっぱり作ってみないとわからないところです。このことを踏まえて、これまでの部分を作り直してみましょう。

f:id:hkob:20210309123421p:plain
週報の編集

週報テンプレートの修正

月報のところで作った日報まとめをそのまま週報のテンプレートにコピーしてみます。また手順を箇条書きにしてみます。

  • 「月報テンプレート」を開き、「日報まとめ」のタイトルと「日報リンクテーブル」を複数選択してコピーします。
  • 日報まとめの Filter で月報の部分は月が固定になってしまいます。月替わりにはこのフィルタの変更も忘れないようにする必要があります。また、週番号は普段は存在しない「0」に設定しておきます。こうすることで、何も表示されない理由を考えて、フィルタ設定することを思い出すからです。
    f:id:hkob:20210309124933p:plain
    日報まとめの Filter
  • もう一度「3月8日週の振り返り」を表示します。
  • テンプレートを再適用したいので、ページの中身をまっさらにします。
  • ページが空になるとテンプレート選択に戻るので、「週報」を選択します。
    f:id:hkob:20210309132043p:plain
    テンプレート選択画面の再表示
  • テンプレートが再適用されます。週番号が0なので何も表示されていません。
    f:id:hkob:20210309124741p:plain
    テンプレート適用後
  • 日報が表示されないので、Filter の週番号を今週を示す「2」に変更します。するとその週の日報が一覧で表示されることになります。
    f:id:hkob:20210309125345p:plain
    週報での日報まとめ表示

月報テンプレートの修正

あまりごちゃごちゃしているのも面倒なので、月報も週報だけを見て書けるようにしてしまいました。

f:id:hkob:20210309130435p:plain
月報テンプレートの修正

月報もテンプレートから再作成してみました。こっちの方がスッキリしていいですね。

f:id:hkob:20210309130616p:plain
再作成した月報

おわりに

紆余曲折しましたが、とりあえずやりたいことは実現できた気がします。Discord の方にも報告しておこうかと思います。デザインなどはこれからまた修正していきます。

とりあえずここまで。


はてなブログに書いた Notion 記事一覧