ページアクセス権限を利用したチームタスク管理データベースの構築 : hkob の雑記録 (359)

はじめに

hkob の雑記録の第359回目は、ページアクセス権限を利用したチームタスク管理データベースの構築方法を解説します。本記事は2025年ユカスタマスの25日目(2023年ユカスタマスの756日目)の記事になります。

きっかけはしかたさんのポスト

今朝、しかたさんの以下のポストを読みました。本文長いのですが、チームで Notion を使う上での重要な点が色々と書かれていて参考になりました。

この中で、以下の部分に引っかかりました。うちの職場もさまざまな組織が並行して動いていて、しかも毎年校務分掌は入れ替わります。それぞれの組織がバラバラにタスク管理していたら、移動するたびに、その組織のやり方に体を合わせるしかありません。チーム導入はこれからなのですが、導入する前にせめて重要なタスク管理については、全体統合しておきたいと考えました。

原則2:聞かなくていい状態を作る

「誰が何をやっているか」を聞かなくても、見れば分かる状態。

具体例:

  • ステータスで進捗を可視化
  • 「今週のタスク」「承認待ち」をビューで一覧化
  • リマインダーで自動催促

ポイント:Slackで聞く前に、Notionを見れば分かる。

そんなわけで、しかたさんとのやり取りの中で私からも、こんな返信をさせていただきました。

ページ単位の閲覧制限で議事録データベースを作成した件はこちらに記載しています。

この際、新しい議事録を作成するにあたり、既存の議事録のチェックボックスを設定することで、データベースオートメーションにより、新しい議事録を作成する方法を解説しました。

議事録の場合には、既存のものが表示されているので、チェックボックスをクリックすることは可能です。ただ、タスク管理の場合には通常完了したタスクは非表示にすることが多いです。そうすると既存のものを編集して、新しいものを作るのは面倒です。そこで、何もないところから新規タスクを作成する手段が必要だと考えました。今回は、この新規タスクを作成する仕組みを解説します。

タスクデータベース(all_tasks, map の作成)

最初にプライベートワークスペースにタスクデータベースを作成します。公開していないので、管理者以外には見えません。この中の all_tasks データソースはとりあえず必要そうなプロパティを入れています。このあたりは後で変更すると思います。

all_tasks データソース

担当者については、ページレベルアクセスで担当者に設定された人に編集権限をつけています。

ページレベルアクセス

map データソースについても、いつものように神様データベースにしています。all_tasks から1ページのリレーションを張っていますが、逆方向には張っていません。

map データソース

また、会議参加者一覧は議事録と同じ仕組みでリレーションを張っています。会議参加者一覧で会議(組織)を選択すると、会議に設定されているユーザをタスクの担当者に追加します。定例の会議や組織への共有タスクを作成するときに便利だと思います。

会議に設定されているユーザをタスクの担当者に追加

公開ページに Linked view を作成

次に公開ページに Linked view を作成します。これは議事録の時と同じです。これにより、編集権限があるページのみがこの view に表示されるようになります。

公開ページに Linked view を作成

タスク登録専用DB の作成

次にタスク登録を行う専用の DB を作成します。こちらは誰でも閲覧できるように公開ページに作成しています。説明書きを消されたくないので、数式で説明を記載しています。このページのタイトルにタスク名、テキストにタスク説明を記載した上で、チェックボックスにチェックを入れてもらう形です。データベースといいながら、このページ1ページだけが存在しています。

タスク登録専用DB の作成

このチェックボックスへのチェックをトリガにしたオートメーションが設定されています。このオートメーションは automation ユーザにより実行されるので、プライベートに存在する all_tasks にもページが追加できます。また、タスクの担当者には登録用ページを最後に更新した人の情報が入れられるため、その人はこのタスクを編集できるようになります。

チェックボックスへのチェックをトリガにしたオートメーション

タスク登録専用DBの view を Locked page に作成

このタスク登録専用DBのページを乱雑に作られてしまうと問題があるので、タスク登録の Callout を Locked page に設置します。データベースはギャラリービューに設定しました。ページをロックしているため、「新規」ボタンが表示されず、このページのみが表示されています。Lock されているため、プロパティの編集をされることなく、ギャラリービュー自体のどこをクリックしても、上に示したようにサイドピークでページが開かれます。さらに、この Callout は同期ブロックで包まれています。

Locked page

同期ブロックをタスク一覧ページに設置

最終的に Locked page の同期ブロックをタスク一覧ページの下部に設置して完了です。

同期ブロックを展開

動作確認

実際に動作確認した映像を X にポストしました。無事に動作していることが確認できました。

おわりに

これで職場全体でタスク管理が一元化されることになります。一般の教員の場合には該当コースと所属する校務分掌のタスクなどが一つの場所で閲覧できて便利ではないかと思います。一方、管理職だとあちこちの会議に顔をだするので、かなりのタスクが一覧で見えてしまうと思います。それでもあちこちの Teams のページを探しに行くよりは楽になるのではないかと期待しています。

hkob.notion.site