Skip to content

Implement assignment controls in ItemView. #33

Open
campb303 opened this issue Aug 12, 2020 · 4 comments
Open

Implement assignment controls in ItemView. #33

campb303 opened this issue Aug 12, 2020 · 4 comments
Labels
feature-request Request for functionality that has not already been implemented handoff Issues that will not be fixed by the first webqueue2 team (after 7/16/21)

Comments

@campb303
Copy link
Collaborator

Background

The current webqueue implements assignment controls by a text field that is empty when an item has not been assigned to someone and autofilled with a string when the item has been assigned.
webqueue Assignment
That string in the text field can have one of three forms:

State Cause Example
Empty Item has yet to be assigned or item assignment was removed ""
Single Assignment Item has been assigned to one person campb303
Multi Assignment Item has been assigned to more than one person campb303\sundeep also campb303, sundeep

The assignment is used in three ways:

  • grouping items in the table view using the Group By control
  • filtering items using the Filter control
  • showing who an item is assigned to while viewing it

The assignment usually contains the career account alias of the ECN staff member(s) assigned to the item but can also be used to assign the item to a group such as 0-FYI, 0-WINDOWS or ALL. Combinations of career account aliases and groups is not common.

Benefits

  • Highly flexible, allowing for the free form entry of assignees and simple filtering using substring matching.
    Example: Filtering for campb303, will match campb303, campb303/sundeep, and campb303, sundeep.
  • Using aliases allows for consistent identifiers across platforms.
    Example: sundeep's handle is the same for his user account, career account and Slack handle.
  • Easy to create, read, update and delete by just editing the text field.

Drawbacks

  • Open to error as it has no checks allowing wrongful keypresses to break filtering.
    Example: Filtering for campv303, will not match campb303, campb303/sundeep, or campb303, sundeep.
  • Group assignment is entirely arbitrary and requires being remembered to be useful.
  • Inconsistent formatting makes it difficult to parse programatically.
  • Not accessible for screen readers. Special characters like slashes aren't read aloud pleasantly.

Solution

  • Introduce a controlled interface for assignments.
  • Use autocompletion to make entry faster while also allowing name based lookup.
  • Maintain arbitrary entry ability while also allowing newly entered options to be autocompleted after their first entry.
  • Present using MUI Chips in the same way that Gmail allows contact entry.

Example: Contact Entry in Gmail
Contact Entry in Gmail

@campb303 campb303 added feature-request Request for functionality that has not already been implemented frontend labels Aug 12, 2020
@campb303 campb303 added this to the v1 milestone Sep 14, 2020
@campb303 campb303 modified the milestones: v1, v2 Sep 22, 2020
@campb303
Copy link
Collaborator Author

campb303 commented Feb 5, 2021

Programmatic interface with syntax needs proposed with design.

@campb303 campb303 added the api label Feb 5, 2021
@campb303
Copy link
Collaborator Author

campb303 commented Feb 5, 2021

Talked with Sundeep about this. Ok to propose a standardized delimiter if it doesn't hack up workflows.

@campb303
Copy link
Collaborator Author

Waiting on #33

@campb303 campb303 removed api labels Mar 17, 2021
@campb303 campb303 removed this from the v3-write-access milestone Mar 29, 2021
@campb303
Copy link
Collaborator Author

campb303 commented Jul 6, 2021

This will not be completed by the current team. This is waiting on write support for metadata in the API.

@campb303 campb303 added the handoff Issues that will not be fixed by the first webqueue2 team (after 7/16/21) label Jul 6, 2021
Sign in to join this conversation on GitHub.
Labels
feature-request Request for functionality that has not already been implemented handoff Issues that will not be fixed by the first webqueue2 team (after 7/16/21)
Projects
None yet
Development

No branches or pull requests

1 participant