web-dev-qa-db-ja.com

多対多の関係で「新規追加」と「既存追加」をサポートするインターフェース

Roleは多数のPermissionsを持つことができ、1つの権限は多数に属することができます役割。ユーザーが特定のロールと関連する権限を同時に管理できるようにするインターフェイスを設計しています。

mockup

download bmml sourceBalsamiq Mockups で作成されたワイヤーフレーム

ユーザーがロールに既存の権限を追加できるようにする必要がありますが、まったく新しい権限を作成してロールに関連付けることもできます。

この状況は、新しい権限を作成するときにいくつかの追加情報を入力する必要があるという事実に混乱しています。既存の権限を使用する場合、その情報はすでに存在しています(ただし、編集したい場合があります)。

ここでは、2つの設計上の優先順位が競合しています。

明快さ

私の「許可」ウィジェットで表現したい最大6つの異なるアクションがあります。

  • 新しい権限を作成して役割にアタッチする
  • 既存の権限をロールに添付
  • 役割から権限を切り離す
  • 権限を削除します(すべてのロールから切り離します)
  • 編集権限(変更は他の役割に影響します)
  • 権限をコピーし、ロールに添付して編集します

これらのアクションの一部は他の役割に影響を与える可能性があり、それにより意図しない結果が生じます。これは、特にアクセス制御の管理などの機密性の高い一連の操作について話している場合、大きな問題になる可能性があります。

これらを個別のアクションとして表すことも困難です。ゴミ箱アイコンは「この権限をこのロールから切り離す」という意味ですか、それとも「この権限を完全に削除する」という意味ですか?

便利さ

一般的に、ほとんどの権限は、役割が作成されるときに役割に割り当てられます。管理者が役割を作成するときに必要な新しい権限を直接作成する方が、個別の「権限」インターフェースを経由する必要がなく、はるかに簡単です。

このトレードオフを処理する良い方法は何でしょうか?

3
alexw

ゴミ箱アイコンは「この権限をこのロールから切り離す」という意味ですか、それとも「この権限を完全に削除する」という意味ですか?

はい、そうです、ゴミ箱は常にユーザーがそれを削除アクションと考える傾向があります。したがって、デタッチと削除を区別するには、異なるアイコンのみを使用する必要があります。このようなものを試してください。

enter image description here

シンプルな編集可能なグリッドを使用して、権限を管理します。

  1. 検索ボックスを使用して、グリッドとデータベースの両方で既存の権限を検索します。権限がグリッドに存在する場合は、それを表示し、データベースに存在する場合は、ユーザーにグリッドに権限を追加するオプションを与えます。
  2. ユーザーが各アクションの意味を理解できるようにして、そこで各アクションにツールチップを提供します。
  3. 最後に、権限の削除アクションを赤で強調表示します。これは、その権限が完全に削除されることを意味し、ユーザーがクリックすると確認ダイアログボックスを表示することもできます。

お役に立てれば。

5
prazor9