gigascience / gigadb-website

Source code for running GigaDB
http://gigadb.org
GNU General Public License v3.0
9 stars 14 forks source link

Implement 2nd eye checks and log the results in the curation log #702

Open rija opened 3 years ago

rija commented 3 years ago

User story

As a curator performing 2nd eye check I want to the results of my check recored in my curation log So that we can detect quality and consistency issues more easily

Acceptance criteria

Given I have a dataset with status "Private (2nd eyes)" When I click the link in the email notification Then I am presented with the checklist of items to complete for that dataset

Given a 2nd curator has completed the checklist for a dataset When they click submit on the form Then the form is saved to GigaDB and the handling curator is notified

Additional Info

This is the first step toward implementing what's described in #701

Suggested schema for Curation Log

Curation Log model Export

UX

I suggest two screens were log entries can be entered as part of this story:

Non functional requirements

I suggest curation log entries of compliance type:

all below is for compliance type:

They are logs, they are meant for auditing, so they are write only. I also suspect that, in a future not too far, some government will want to have a look at this table's record and would frown upon it being modifiable.

For that reason, I have added the Action Type "6. Correction to previous entry" to support the case were there is a mistake made in an entry that need correcting in a new entry (that's how it's done in accounting journals, where new entries are added to compensate for the error instead of editing the erroneous entry).

Product Backlog Item Ready Checklist

Product Backlog Item Done Checklist

rija commented 2 years ago

This story looks like it's a good opportunity to move away from the legacy stack and use the new stack as described in the systems architecture diagram (Yii2 API endpoints)

only1chunts commented 10 months ago

One point of note - "Curation logs" are and should be different to audit logs, I agree an audit log should be un-editable and permanent, but a curation log entry should be both editable and deletable. The prupose of a curation log is maintain the notes, comments and thought of the curators to aid in consistent curation and passing over of datasets to different curators during the curation process, so perhaps these should be renamed to "Curation Notes" instead. There is a type of audit log already in place called "History" on the public datasets, this should automatically log any changes made to published datasets. It should NOT include any changes made to datasets whilst they are not published, i.e. the dataset "History" only starts when a dataset is published, the first entry for a dataset will always be the "dataset was set to public" entry.

tuli commented 10 months ago

One point of note - "Curation logs" are and should be different to audit logs, I agree an audit log should be un-editable and permanent, but a curation log entry should be both editable and deletable. The prupose of a curation log is maintain the notes, comments and thought of the curators to aid in consistent curation and passing over of datasets to different curators during the curation process, so perhaps these should be renamed to "Curation Notes" instead. There is a type of audit log already in place called "History" on the public datasets, this should automatically log any changes made to published datasets. It should NOT include any changes made to datasets whilst they are not published, i.e. the dataset "History" only starts when a dataset is published, the first entry for a dataset will always be the "dataset was set to public" entry.

Thank you for clarifying this important difference between curation and audit logs.