Notionのページ更新履歴をページ自身でテーブルとして管理してみた

他ページから参照しやすい更新履歴はどうすればよいかと考えた結果に試したことを書いてみました。
2022.05.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Notionの更新履歴はテーブル機能ではありません。そのため更新履歴を他のページのプロパティから参照して最新の記録をステータスとして扱ってみようと思ったものの、リレーションとしては貼れないわけです。また、プランによっては保存日数などで制約が発生します。

記録を残せるタイミングを意図的にできつつ、他のページから参照できるような更新履歴がどうにか作れないかと試行錯誤の末、独自に更新履歴テーブルを持たせることにしました。

更新ステータスを表示するページの作成

ページにプロパティを持たせるにはページ自体がテーブルに収まっている必要があります。

テーブルを新規作成してリレーション用に更新履歴フィールドを、ステータス表示のためにロールアップ用として更新ステータスフィールドを追加します。

ページ内に更新履歴テーブルを追加する

特に特別なことはしません。今回は以下の項目を持ったテーブルを追加します。

フィールド名 タイプ
更新内容 テキスト
更新ステータス セレクト
作成日付 作成日時
最終更新日付 最終更新日時

締め切り日がある場合は締め切り日等つけるのもありです。

更新履歴テーブルとページのプロパティを紐付ける

ページの更新履歴フィールドをリレーションにて更新履歴テーブルと紐付けします。

次にステータスフィールドをロールアップ用にて更新履歴テーブルの更新ステータスと紐付けします。

更新履歴からステータスを選択した結果、以下のような構成になりました。

あとがき

この方法でのメリットは更新をNotion内他テーブルから参照できる形で記録として残せるところです。勿論手間が掛かる点は難点ですが、直接操作せずにGitHub Actions等を用いることで自動化や簡略化も可能になりそうです。