Pleasanter で入力を正しくガイドする
2022 個人アドベントカレンダー の記事です。
テーマ
ユーザへのガイダンスとしては
を正しく使うことについて
良くない例
入力のガイダンスをするのに
- 説明項目の既定値に入力
- 読取専用で表示
というようなことをしてほしくない[1]
画像が貼れない問題
先の例では、レコード自身で画像を設定してから、読み取り専用にしているので、画像が表示できています。
しかしながら、内容や説明項目(マークダウン形式を許容する項目)の既定値は画像を Upload する UI がないので、画像を貼れません。
ガイドには画像を貼る UI があります。
画像のアクセス権限問題
一旦、どこかのレコードで画像を貼ってその GUID を取得すれば下記のような既定値を置くことで、既定値として画像を含めることができます。
![image](/binaries/420c2475449d441d8349209e1dd965b6/show)
ただ、この画像に対して、ユーザが閲覧権限を持てるようにしないといけないですし、誰にでも見える画像用のマスターを作るとセキュリティ的に良くない状況になりかねません。
ガイドならテーブルを見れる人への公開になります。
画像が削除されたら
アクセス権限の亜種として、レコードが削除されると画像も削除されてしまう問題があります。
この問題への対応としては削除時に画像を削除 のチェックを無効化する方法が可能です。
ただ、ガイドを使えば発生しなかった問題に対応するために、別のデータレコードに影響をするような設定変更をすべきか、は十分検討したほうがよいと思います。
無駄なデータを作ること
コンテンツとして説明をおくと、それはデータベース容量を消費します。
もちろん、画像を置いたとしても、内容的には GUID の英字ですし、文字としてのガイダンスも、1 レコードあたりではそこまでの量になるとは考えにくいです。
ただ、レコード数に比例して増えるので、レコードが多くなった場合に影響がある可能性は想定すべきでしょう。
特に、SQL Server Express で使っているなど容量にセンシティブにならざるを得ない環境も十分想定できます。
ガイドや拡張 HTML はサイト設定のデータなのでレコード数に比例してデータが保持されることはありません。
書き換えられないこと
コンテンツとしてガイドを持ったときの、最大の問題は、ガイドを変更したくなったときの改変が難しくなることです。
データに保持されているため、全てのデータを改変しないといけなくなります。
ガイドや拡張 HTML なら、それ自身の変更は全ての UI 表示に統一的に適用されます。
まとめ
- まず、状況による制御や項目のアクセス制御を使って、特定のユーザに特定の段階で必要最小限のデータだけが見えるように工夫したほうがいいです
- ここが Excel のように何でも入るけど常に全ての項目が見えてしまっている UI と比べたときの Pleasanter の利点だと考えます
- テーブルや項目に説明を施して、ユーザの操作に導線を作ること自体は利用しやすさを高めるために重要ですが、そのための機能を正しく使いましょう
- ガイド以外にも、スタイル(データにあわせて、ワイドやマークダウンを正しく利用する)、必須の制御や数値の最大最小、入力検証など、エディタの項目の基本的な機能を使いましょう[2]
Pleasanter は機能が豊富なだけに、基本的な機能で正しく使えていないことがあったのでガイドについて考えてみました。
-
ついでに言うと、英字 N 文字以内で入力って言っているのに、必須も正規表現の入力検証もつけてない、みたいの残念なことはしてほしくないけど、今回は対象外 ↩︎
-
今回の話とはややそれますが、レコードのコピーには説明がないものの、レコードをコピーしたときタイトルにつく「 - コピー」は別の文字にも、なんなら無指定にもできます。運用でコピーという文字を消すガイドや場合によってはスクリプトで消す、みたいなことはしないようにしましょう。 ↩︎
Discussion