Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typeahead widget on Link Dataset popup is slow and doesn't display all options as expected #6772

Closed
TaniaSchlatter opened this issue Mar 26, 2020 · 16 comments
Assignees
Labels
D: Linking Data in DV Issues Status: Needs Input Applied to issues in need of input from someone currently unavailable Type: Bug a defect User Role: Depositor Creates datasets, uploads data, etc. UX/UI Input Needed Apply to issues involving UX or UI implications that need additional input

Comments

@TaniaSchlatter
Copy link
Member

The type ahead feature on the Linking popup is slow to respond to user input. Also, if a user types quickly, not all results that include what has been typed in are shown. This is problematic because it looks like not all results are returned.

All items that include "Tania Schlatter Dataverse":
Screen Shot 2020-03-26 at 2 18 31 PM

What is shown when I type "Tania Schlatter Dataverse". "Tania Schlatter Dataverse" is not shown:
Screen Shot 2020-03-26 at 2 18 42 PM

The typeahead for super users is more responsive and accurate:
Screen Shot 2020-03-26 at 2 20 32 PM

Screen Shot 2020-03-26 at 2 20 38 PM

@TaniaSchlatter
Copy link
Member Author

Possibly related to #6754

@TaniaSchlatter
Copy link
Member Author

TaniaSchlatter commented Apr 1, 2020

In the design meeting we discussed addressing this in two ways:

  1. by opening a new issue to address the special behavior related to the letters in "dataverse"

  2. by removing the typeahead, and providing more robust functionality for finding the dataverses you can add to in a popup.

For #2, the idea is that Harvard or other open installation users, who can deposit to Root, see the option to change the default Dataverse and add a template in a new block, below. "Edit" will open a popup (see mockup below).

Create_dataset_revised2

We need further discussion to figure out what happens for installations who's users can not add to the Root dataverse. We discussed that the Add Data button should not appear in the header for installations who's users who can not add to Root (related to #6708).

There are 4 user states that relate to the Add Data button in the header. We need to figure out how those states relate to and might affect this proposed approach.

  1. User can not add to Root = no "Add Data" button in header.
    – user sees the "Dataverse Details" block, but only the "Dataset Template" field

  2. User can add dataverses but not datasets to Root = "Add Data" button in header with only "Add Dataverse" option.
    – user does not see Root options

  3. User can add Datasets but not dataverses to Root = "Add Data" button in header with only "Add Datasets" option.
    – does the mockup work for this scenario, but the user can not edit the dataverse?

  4. User can add Dataverses and Datasets to Root (Harvard) = "Add Data" button in header with both options – what we have now
    – user sees proposed mockup as shown.

@scolapasta
Copy link
Contributor

FWIW, #2 is fine for any installation - you just wouldn't see the root amongst und your options.

@scolapasta
Copy link
Contributor

One minor drawback to this - if you can only deposit to one dataverse (say you are new on Harvard dataverse, so can only deposit to the root), then you would go to the popup and see no more than the one result. i.e. nothing to change to. (and we can't do something like only show the edit if you can multiple, because then we're back to the having to check every dataverse issue)

@djbrooke
Copy link
Contributor

djbrooke commented Apr 15, 2020

  • Revisit "Dataverse details" terminology – get feedback on it and proposed solution overall
  • Show Dataverses that can be linked into without a search if the person only has one Dataverse, adjust language to reflect this ( the changing of the UI component doesn't do much if the way we generate the link is not adjusted)

@TaniaSchlatter
Copy link
Member Author

@scolapasta I think we can live with the drawback, especially if we can show results without running the search.

@TaniaSchlatter
Copy link
Member Author

TaniaSchlatter commented Apr 15, 2020

Rough mockups for the proposed popup that shows when the user clicks "Edit" (adding a dataset use case) or when linking (selecting a dataverse to link a dataset to use case).

Basic functionality needed is shown: title and messaging that depends on the use case, search, results, ability to select a result, and save/cancel.

Not shown: proposed dataset template selection that would apply in some situations for Adding a dataset, showing dataverses based on permissions without running a search, and selecting a dataverse when adding a new dataverse.

Link use case:
Screen Shot 2020-04-15 at 2 54 28 PM

Add use case w/o template selection:
Screen Shot 2020-04-15 at 1 09 07 PM

Proposed: revised mockup based on the following logic:

Elements on the popup, and conditional / default states

  1. Conditional info: dataverse you are adding to
    Default behavior: depends on access from header or on page

  2. Conditional info: dataverses you are "admin"
    Default behavior: consistent, based on role

  3. Conditional info: Search results
    Default behavior: None. What the user searches for, AND has permission to add to.

  • Not shown: error states, feedback when an item from the search results is selected, new component in relationship with other components like selecting a template...

Screen Shot 2020-05-20 at 1 50 33 PM

@scolapasta
Copy link
Contributor

While this component is going away with the proposed solution, I just want to add that @kcondon ran into another issue while testing PF8 (not related specifically to PF8):

"Host Dataverse type ahead/lookup logic not working after lookup failure/correction on create dataset page. Does not try again. Update: This is now also broken on develop branch, was working recently."

@kcondon
Copy link
Contributor

kcondon commented Apr 16, 2020

To follow up on the above comment, the issue appears to be with individual dv's rather than root, where "Dataverse" is added to the name. If you removed "Dataverse" on the edit dataset page, the lookup begins working again. This quirk does not happen with root dv.

@djbrooke
Copy link
Contributor

djbrooke commented May 26, 2020

In scope for this issue:

  • Dataverse selection for Host Dataverse on dataset create (selection of an option in this type ahead has impact on other items on the page: templates available)
  • Dataverse selection for Host Dataverse on dataverse create (selection of an option in this type ahead has impact on other items on the page: templates available)
  • Dataverse selection for Linking Dataverses
  • Dataverse selection for Linking Datasets

Other instances with type ahead:

  • Dataset Moving on Dashboard (note no permission needed because of superuser status)
  • Harvesting Client Dataverse selection (note no permission needed because of superuser status)
  • User/Group selection for assigning roles to a dataverse, dataset, or file (file currently uses different code but looks the same to the user)
  • User/Group selection for adding to a group
  • Selecting the data file entity after a Provenance JSON file uploaded for a file (screenshot below)
  • OAuth related for multiple email addresses (Firstlogin.xhtml)

Screen Shot 2020-05-26 at 1 43 58 PM

email_dropdown

@TaniaSchlatter
Copy link
Member Author

TaniaSchlatter commented Jun 3, 2020

@TaniaSchlatter
Copy link
Member Author

TaniaSchlatter commented Jul 29, 2020

We reviewed work in progress, and agreed to pause this effort. Proposed solutions add complexity. We are interested in looking into different approaches, for example, what if users create a dataverse or dataset first, and then associate it with a dataverse?

Discussed:

  • Users: users who are adding a dataverse or a dataset who do not know in advance what dataverse they want to add to, or if they want to add to a dataverse other than root, are more likely to be "unaffiliated," meaning, not associated with an existing user group, such as a course, lab, or journal.

  • Information: Q: what do unaffiliated users need to know to make an informed decision about where to create a dataset/dataverse? A: what dataverses they can create in, and maybe characteristics of those dataverses, such as associated metadata templates.

  • Goal: what do we want to facilitate? For Harvard Dataverse, do we want unaffiliated users to create datasets/dataverses in the root, or do we want to help them add to an exisitng dataverse within root?

  • System: if we think of creating/using/adding as actions that happen in a system, the elements of the system are dataverses and datasets, and the actions are "nesting" (creating a dataverse or dataset within a dataverse) and "linking" (associating a dataverse or dataset with a dataverse).

  • Experience: we believe, and test participants believe, that there is value in creating containers of data. Making it easy to create containers and organize data will provide value. Users need to be able to make informed decisions about their groups, and/or, easily be able to change them themselves to have a good user experience.

@TaniaSchlatter TaniaSchlatter changed the title Type ahead widget is slow and doesn't display all options as expected Link dataset type ahead widget is slow and doesn't display all options as expected Jun 23, 2021
@TaniaSchlatter TaniaSchlatter changed the title Link dataset type ahead widget is slow and doesn't display all options as expected Link dataset typeahead widget is slow and doesn't display all options as expected Jun 23, 2021
@TaniaSchlatter TaniaSchlatter changed the title Link dataset typeahead widget is slow and doesn't display all options as expected Typeahead widget on Link Dataset popup is slow and doesn't display all options as expected Jun 23, 2021
@TaniaSchlatter
Copy link
Member Author

Ideally we want to use a typeahead/dropdown for users to select a dataset and dataverse, rather than a different method. This issue should be helped by resolving this one: Optimize permission lookups for a user #6467.

@sbarbosadataverse
Copy link

depends on completion of this issue: #6467

@sbarbosadataverse sbarbosadataverse added the Status: Needs Input Applied to issues in need of input from someone currently unavailable label Apr 3, 2024
@scolapasta
Copy link
Contributor

Link Dataverse and Link Datasert (both which show you DV collections) have different UI/UX. We should determine one that we end up using for both (once the backend permisisons work is compete):

See #9092

@cmbz
Copy link

cmbz commented Aug 20, 2024

To focus on the most important features and bugs, we are closing issues created before 2020 (version 5.0) that are not new feature requests with the label 'Type: Feature'.

If you created this issue and you feel the team should revisit this decision, please reopen the issue and leave a comment.

@cmbz cmbz closed this as completed Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D: Linking Data in DV Issues Status: Needs Input Applied to issues in need of input from someone currently unavailable Type: Bug a defect User Role: Depositor Creates datasets, uploads data, etc. UX/UI Input Needed Apply to issues involving UX or UI implications that need additional input
Projects
Status: No status
Development

No branches or pull requests

9 participants