Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Target release

2.3

Epic

GDM-814 - Getting issue details... STATUS

Document status

DRAFT

Document owner

Deb Weigand

Designer

Elizabeth Jones

Tech lead

Angel Manica Raquel

Developer

Angel Manica Raquel

QA

Deb Weigand

Objective

Samples Module

User Interface Specifications:

For samples, there will be three additional tabs in the right (content) panel:

  1. The additional tabs will be:

    1. Germplasm

    2. Dnasample

    3. Dnarun

  2. For germplasm, the filtering controls:

    1. germplasm_id (range, ex: 100-210)

    2. germplasm.name list (text area: line-separated list)

  3. For dnasample, the filtering controls:

    1. project.name/project_id

    2. filtering controls from #2 above

    3. dnasample_id (range, ex: 100-210)

    4. dnasample.name list (text area: line-separated list)

    5. uuid

  4. For dnarun, the filtering controls:

    1. filtering controls from #3 above, which includes controls from #2

    2. dnarun_id (range, ex: 100-210)

    3. dnarun.name list (text area: line-separated list)

    4. experiment.name/experiment_id

    5. dataset.name/dataset_id

  5. A submit button to query the database

  6. A clear button to clear the current filters and result set

  7. A table listing the data resulting from the filters

    • This table will provide pagination for optimal performance

    • This table will provide a capability to select rows individually

    • And a select all button to select all rows

  8. A delete button to delete the rows selected

  9. For the result table: All the columns wherein an ID is displayed should have a column next to it displaying the names. Columns should be sortable.

Functional Specifications:

Upon selecting a set of markers from the result table and clicking the delete button, the system will:

  1. Prompt the user to confirm what will be deleted (basic yes-no prompt window with a list of all the germplasm/dnasamples/dnaruns that will be deleted)

  2. PREREQUISITE CHECK:

    1. We only allow dnarun deletion IFF the dnaruns are not associated with any datasets
      If there are dnaruns associated with datasets:

      1. Provide a window/prompt/page that displays the list of dataset references for the dnaruns, and do not allow deletion if there are references. Basically, you have to delete the datasets first.

        1. A message that essentially displays: "dnarun 1 is being used in dataset A, B, and C. dnarun 2 is being used in dataset D and E. Please delete those datasets first."

        2. Presentation of this message and list of datasets should be consistent with that of the Marker Module

    2. We only allow dnasample deletion IFF the dnasamples are not associated with any dnaruns.
      If there are dnaruns associated with those dnasamples:

      1. Provide a window/prompt/page that displays the list of dnarun references for the dnasamples, and do not allow deletion if there are references. Basically, you have to delete the dnaruns first.

        1. A message that essentially displays: "dnasample 1 is associated with dnarun A, B, and C. dnasample 2 is being used on dnarun D and E. Please delete those dnaruns first."

        2. Presentation of this message and list of datasets should be consistent with that of the Marker Module

    3. We only allow germplasm deletion IFF the germplasms are not associated with any dnasamples.
      If there are dnasamples associated with those germplasms:

      1. Provide a window/prompt/page that displays the list of dnasample references for the germplasms, and do not allow deletion if there are references. Basically, you have to delete the dnasamples first.

        1. A message that essentially displays: "germplasm 1 is associated with dnasample A, B, and C. germplasm 2 is being used on dnasample D and E. Please delete those dnasamples first."

        2. Presentation of this message and list of datasets should be consistent with that of the Marker Module

  3. If the user clicks yes, the system will delete the entities provided they meet all pre-requisite checks.

  4. If the user clicks no, the operation will simply abort.

Everytime a deletion is being made, show:

Prompt Messages:

A warning message box will be shown that clearly indicates that the operation is final and the data will be deleted, providing a quick statistics on how many rows there are (ex. Are you sure you want to delete 102321 markers?). The user is then provided with the ability to cancel or go through with the operation.

Result Report Page:

Upon completion of deletion, a summary page of what was deleted will be displayed. This will contain:

  • Total number of rows deleted

  • Filtering criteria

  • Deletion duration

Add a Footer: This should show one or two sentences that warns the user to do regular backups or at least one backup before using this tool to allow for recoverability in case of user mistakes.

Logging:

Log a detailed list of what gets deleted per operation. The developer has the flexibility to use whatever library (or stay with basic stdout) s/he wants. The only requirement is that the following gets logged:

  1. For every deletion, log the actual SQL (or the JOOQ equivalent) that ran.

  2. The username of the user who ran the deletion operation

  3. Timestamp of deletion

  4. Result of deletion

    1. Total number of rows deleted

    2. Filtering criteria

    3. Deletion duration

Requirements

Requirement

User Story

Importance

Jira Issue

Notes

1

HIGH

2

 

 

 

 

 

User interaction and design

Open Questions

Question

Answer

Date Answered

Out of Scope

  • No labels