6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

タスク管理アプリをPlannerでアクセス制御

Posted at

緒言

1年前、下記の記事を書きました。

社内で展開したところ好評を博しいろいろなグループに横展開へ。ただ、それぞれのグループにアプリやフローをコピーするのも面倒、ということでPlannerのPlanIDで簡易アクセス制御をして1つのアプリを共用するようにしました。

実装内容

Plannerの準備

使うのはLoopに紐づいたPlannerがおススメ。理由はM365グループに紐づいてなくて作成も簡単だし、GroupID等の管理が必要なくて簡単だから。Loop「タスクリスト」を作成するとPlannerと連動してくれます。

image.png

PlanができてしまえばもうLoopは関係ないので煮るなり焼くなり。
そしてPlannerを開いてShareから簡単にアクセスして欲しいメンバーを追加可能。ここで設定したメンバーでタスク管理アプリのアクセス制御するようにしていきます。
image.png

このようにして作成したPlanのURLは下記のようになっているが、グループIDはM365グループIDではなくテナントIDになっているので無視。

https://planner.cloud.microsoft/webui/plan/<プランID>/view/grid?tid=<グループID>

プランID部分をコピーしておく。

データソース(SPリスト)の設定

PlanIDごとにアクセス制御させたいのでPlanID情報を格納する列を追加しておく。
image.png

タスク管理アプリ(Power Apps)の設定

下記のような変数を設定してPlanにアクセス可能かどうか判定。

Set(
    _AccessCheck,
    If(
        IsBlank(
            IfError(
                Planner.GetPlanDetails(<プランID>),
                Blank()
            )
        ),
        "NG",
        "OK"
    )
);

複数プランを登録させている場合は<プランID>部分を可変にしてプラン選択を切り替えるたびに判定させるようし、下図のようにマスク表示切替に使っても良し。制御方法はいろいろ。
image.png

結言

市販のタスク管理アプリもいろいろ試して評価しましたが、いまだに内製アプリに落ち着いてます。まだまだタスク管理を探し求める旅は終わりません。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?