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

allow linking of multiple samples to a dataset in admin pages #2120

Closed
16 tasks
only1chunts opened this issue Dec 4, 2024 · 2 comments
Closed
16 tasks

allow linking of multiple samples to a dataset in admin pages #2120

only1chunts opened this issue Dec 4, 2024 · 2 comments

Comments

@only1chunts
Copy link
Member

only1chunts commented Dec 4, 2024

User story

As a curator
I want to be able to link multiple samples by name or ID or dataset ID to another dataset
So that I can quickly and efficiently add existing samples to a dataset

Acceptance criteria

Given there are a number of samples already in the SAMPLE table (and associated with a dataset)
When I want to reuse those samples in another dataset (e.g. an umbrella dataset)
Then I am able to use the create "Dataset:Sample" admin page to link multiple sample entries to the umbrella dataset.

Given there are a number of samples already in the SAMPLE table associated with multiple datasets
And I want to reuse those samples in another dataset (eg an umbrella dataset)
When I use the create "Dataset:Sample" admin page
Then I can enter multiple Sample ID/names to link all the samples from various datasets to the umbrella dataset.

Given there are a number of samples already in the SAMPLE table associated with a dataset
And I want to reuse those samples in another dataset (eg an umbrella dataset)
When I use the create "Dataset:Sample" admin page
Then I can enter the Dataset DOI to link all the samples from that dataset to the umbrella dataset.

Additional Info

If its not possible to do both of the above, I think the most useful option would be to be able to link multiple different samples to a dataset by sample ID/name (i.e. the human readable ID not the database ID number as it is at present!).

For an example see dataset 102538, which includes links to samples from datasets 102542 - 102546

Tasks:

  • Design and implement modern UI for selecting samples to be associated to a dataset
  • Provide Samples api endpoint to the frontend UI for selecting samples to be associated to a dataset

Product Backlog Item Ready Checklist

  • Business value is clearly articulated
  • Item is understood enough by the IT team so it can make an informed decision as to whether it can complete this item
  • Dependencies are identified and no external dependencies would block this item from being completed
  • At the time of the scheduled sprint, the IT team has the appropriate composition to complete this item
  • This item is estimated and small enough to comfortably be completed in one sprint
  • Acceptance criteria are clear and testable
  • Performance criteria, if any, are defined and testable
  • The Scrum team understands how to demonstrate this item at the sprint review

Product Backlog Item Done Checklist

  • Item(s) in increment pass all Acceptance Criteria
  • Code is refactored to best practices and coding standards
  • Documentation is updated as needed
  • Data security has not been compromised (with particular reference to the personal information we hold in GigaDB)
  • No deviation from the team technology stack and software architecture has been introduced
  • The product is in a releasable state (i.e. the increment has not broken anything)
@luistoptal
Copy link
Collaborator

@only1chunts I get that we want a way to batch select multiple samples at once to attach to a dataset rather than one by one

so for example in this form:
image

1/ We might want to replace the field "sample" by a multiselect dropdown or something similar, where the user would click on a searchable list of dropdown items and these items would be marked as selected. Essentially the same we have now but:

  • display sample names instead of ids
  • able to select multiple ones similar to this pattern:
    image

2/ If I understand correctly, we would like an alternative way to do this by selecting another dataset from a "copy sample relations from dataset" dropdown, and attaching those to the selected dataset. That could be a normal select (one item)

What would be good in my opinion is to combine both approaches and to show a section with the current list of samples that will be linked once the editor clicks save

The above is just from a UX perspective

From a data perspective we need to consider:

  • a priori, I do not see any complications with the 'create' form, just some restructuring of frontend and backend
  • for 'edit', the id in the URL is the sample id, so for adminDatasetSample/update/id/154 that means we're editing connections for one specific sample. That doesn't match with editing relations of N samples with 1 dataset, in short I don't think we can do this for the edit form as we would need a different url, most likely including the dataset id but not the sample id

I will bring it up in the next office hours

@only1chunts
Copy link
Member Author

@luistoptal thanks for the explanations. I think we can ignore the edit form and leave that as a simple 1-1 display as it is at the moment, I cant think of a reason why anyone will need to bulk edit the relationships, the most I can envisage is wanting to delete several relationships, but thats easy off the Dataset:Sample admin page with a single click per relationship.

As for the create form, the multi-selection (option 1) seems the quickest and easiest option to implement and will go a long way to aleviating the issue on the few occassions we need to do it, so I'm happy to go with that, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

3 participants