タイトルにつけた接頭子でプロジェクトを切り替えて設定する方法: Notion Tips (168)

はじめに

Notion Tips の第168回目は先日のスプリント自動設定と同様に、プロジェクトのリレーションを動的に設定するオートメーションを解説します。

現在の状況

実はタイトルの接頭子で自動的にプロジェクトを設定する : Notion Tips (151) - hkob’s blog ですでに実現はできています。この時には、 L- を書いたら LectureM- を書いたら MeetingP- を書いたら Programming となるオートメーションを書いていました。この時は、以下の 3 つのオートメーションを記述していました。なぜならば、この時にはリレーションは決められた静的なものしか設定できなかったためです。

以前作成したオートメーションたち

map データベースにプロジェクトのリレーションを追加

先日のスプリント自動設定で map データベース内の all ページにスプリントへのリレーションを設定していました。今回はこのデータベースにプロジェクトへのリレーションも追加します。今回は先ほどの 3 つのプロジェクトを連携しています。

map ベータベースに projects を追加

ここに書かれている「P」「L」「M」はこの後で参照するキーワードです。このように keyword プロパティを追加しました。

追加した keyword プロパティ

オートメーションの作成

今回は、接頭子として :L, :M, :P に変更しました。これは Task name が「:」で始まるという共通のルールにするためです。最初に接頭子に合わせて Project を設定した後で、タイトルの接頭子を消すようにしています。

作成したオートメーション

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 の方の「自分の値」は以下のようになります。

Task name の数式

数式は以下のようになりました。最初の2文字を消しているだけです。

prop("トリガーページ").prop("Task name").substring(2)

おわりに

これですでに設定してあった 3 つのオートメーションを削除し、こちらに一本化しました。今後登録したいプロジェクトが増えたら、キーワードをつけて、all に登録すればいいだけです。大量のタスクを流し込む時に、タイトルにこれを設定しておけば、オートメーションが自動的にプロジェクトを設定してくれます。便利ですね。

hkob.notion.site