プリザンターの隠しパラメータ?

こんにちは。IISの田口です。

提案でプリザンターの画面を見せたときにあるお客さんから「トップ画面の『新規作成』や『管理-グループの管理』って非表示に出来ないの?」と質問がありました。
そこでこの要望に対応するために調査した結果を紹介します。

やりたいこと

  1. 右上の「管理」-「グループの管理」を非表示にしたい。
  2. トップ画面で右上の「新規作成」を非表示にしたい。

通常の設定では対応できない

1.ユーザ登録時に「テナント管理者」をチェックOFFで登録すると、「管理」メニューで「組織の管理」「ユーザの管理」が非表示となります。が、「グループの管理」についてはユーザ登録画面では設定が出来ませんでした。
f:id:imageinformationsystem:20180403180914p:plain f:id:imageinformationsystem:20180403181104p:plain

2.「サイトのアクセス制御」で対象ユーザに対して読取専用の設定にするとそのサイト(フォルダ)では新規作成が非表示になりますが、トップ画面では表示したままです。またトップ画面には「サイトのアクセス制御」がありません。
f:id:imageinformationsystem:20180403181203p:plain f:id:imageinformationsystem:20180403181215p:plain

ソースを読んでみる

トップ画面の「新規登録」と「グループの管理」について制御していないかとソースを確認したところ、それっぽいのを見つけました。 /Implem.Pleasanter/Libraries/Settings/UserSettings.cs
です。
UserSettingsクラスにDisableTopSiteCreation、DisableGroupAdminという2つのプロパティがありました。

ん?UserSettingsってどこかで見たような気が・・・・・

思い出しました!Usersテーブルです! f:id:imageinformationsystem:20180403181336p:plain よく見ると{}が登録済みです。
※NULLのユーザはAdministratorとAnonymousユーザです。

出来ました!

中括弧ってことは、JSON形式でいいんじゃね?と思い、以下の内容を登録してみました。
※実際は改行せずに登録しました。

{
    "DisableTopSiteCreation": true,
    "DisableGroupAdmin": true
}

f:id:imageinformationsystem:20180403181410p:plain

ログインした結果、「新規作成」、「管理(グループの管理)」両方とも非表示になり、実現出来ました。
※このユーザはテナント管理者ではなかったため、グループの管理を非表示にすることで「管理」自体が非表示となりました。 f:id:imageinformationsystem:20180403181438p:plain

最後に

この記事内容はあくまでも個人で調査した結果であり、正式な手順・方法でないことをご了承願います。
タイトルに「隠しパラメータ」と書きましたが、隠しでなく、単に登録方法を見落としているかもしれませんし、公式ヘルプに記載済みの情報かもしれません。
また、本記事公開時には既にバージョンアップして画面から設定可能となっているかもしれません。