Skip to content

Revision and revocation design & SILO modeling #434

@chaoran-chen

Description

@chaoran-chen

This ticket is about which features we would like to have for revised and revoked sequences from the data user's perspective as well as how to model it in SILO. I'm putting both together because they are largely coupled, especially since the way we model it in SILO directly determines the user experience for API users.

(Background: The implementation of revision/revocation in the backend is described here: https://github.com/pathoplexus/pathoplexus/blob/3abbd9f7168feaad110c0fb99a59290788eede7f/backend/docs/runtime_view.md#revision)

Here's my proposal:

Features:

  1. On the details page of a sequence, if there is a newer version of the sequence, the user should see a note saying that there is a newer version and linking to the newest version.
  2. On the details page of a sequence, if there is a newer version of the sequence and the newest version is a "revocation entry", the user should see a note saying that the sequence was revoked and linking to the newest version.
  3. On the details page of a sequence, if it is a "revocation entry", the page should show the revocation date.
  4. Not sure: What do we show on the details page of a sequence, if there is a newer version of the sequence that is a "revocation entry" but the newest version is not a "revocation entry"? I.e., if the sequence was revoked and then unrevoked? Proposal: This is a very rare case and for simplicity, we don't add special handling and let it be covered by (1): i.e., we just link to the newest version but don't mention revocation.
  5. The search only queries the latest versions and non-revoked data.
  6. Through the API/bulk download, people can get all revisions and revocation entries. People should be able to see when a sequence was revised and revoked (and unrevoked).

In SILO, we have the following special columns:

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendrelated to the loculus backend componentwebsiteTasks related to the web application

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions