はじめに
Notion Tips の第168回目は先日のスプリント自動設定と同様に、プロジェクトのリレーションを動的に設定するオートメーションを解説します。
現在の状況
実はタイトルの接頭子で自動的にプロジェクトを設定する : Notion Tips (151) - hkob’s blog ですでに実現はできています。この時には、 L-
を書いたら Lecture
、 M-
を書いたら Meeting
、 P-
を書いたら Programming
となるオートメーションを書いていました。この時は、以下の 3 つのオートメーションを記述していました。なぜならば、この時にはリレーションは決められた静的なものしか設定できなかったためです。
map データベースにプロジェクトのリレーションを追加
先日のスプリント自動設定で map データベース内の all ページにスプリントへのリレーションを設定していました。今回はこのデータベースにプロジェクトへのリレーションも追加します。今回は先ほどの 3 つのプロジェクトを連携しています。
ここに書かれている「P」「L」「M」はこの後で参照するキーワードです。このように keyword プロパティを追加しました。
オートメーションの作成
今回は、接頭子として :L, :M, :P に変更しました。これは Task name が「:」で始まるという共通のルールにするためです。最初に接頭子に合わせて Project を設定した後で、タイトルの接頭子を消すようにしています。
Project の「自分の値」 は以下のようになります。
数式としては以下のようになります。2文字目のキーワードに従って、map データベースから対応するプロジェクトを取得しています。
lets( title, prop("トリガーページ").prop("Task name"), keyword, title.substring(1, 2), prop("トリガーページ").prop("map") .first() .prop("Projects") .filter(current.prop("keyword") == keyword) .first() )
Task name の方の「自分の値」は以下のようになります。
数式は以下のようになりました。最初の2文字を消しているだけです。
prop("トリガーページ").prop("Task name").substring(2)
おわりに
これですでに設定してあった 3 つのオートメーションを削除し、こちらに一本化しました。今後登録したいプロジェクトが増えたら、キーワードをつけて、all に登録すればいいだけです。大量のタスクを流し込む時に、タイトルにこれを設定しておけば、オートメーションが自動的にプロジェクトを設定してくれます。便利ですね。