Skip to content

Conversation

@guittari
Copy link
Contributor

@guittari guittari commented Mar 18, 2025

I went ahead and restructured our Class I diagram, and followed these general steps to help form the layout:

  1. First step: Project owner either 1) Registers Dandisets and marks public (Project owner—> Register DANDIset (Public)) or 2) Registers Dandisets and toggles it be embargo period/private (Project owner—> Register DANDIset (Private))

    1. In order to register the data public or private requires the project must:
      1. Add a title
        1. (Register DANDIset (Public) & Register DANDIset (Private) <— Add title)
      2. Add a description
        1. (Register DANDIset (Public) & Register DANDIset (Private) <— Add description)
      3. Add a license
        1. (Register DANDIset (Public) & Register DANDIset (Private) <— Add license)
  2. Second step: Project owner then prepares data for upload (for both public and private registered data). This can be done by:

    1. Converting to NWB file
      1. (Register DANDIset (Public) & register DANDIset (Private) —> Convert to NWB —> NWB converted Dandiset (Public) & NWB converted Dandiset (Private))
    2. Converting BIDS file
      1. (Register DANDIset (Public) & register DANDIset (Private) —> Convert to BIDS —> BIDS converted Dandiset (Public) & BIDS converted Dandiset (Private))
  3. Third step: Project owner validates data (this is done via command line) for upload (even if the upload is set to be public or private— it is to ensure compatibility)

    1. (NWB converted Dandiset (Public) & NWB converted Dandiset (Private) —> Validate data)
    2. (BIDS converted Dandiset (Public) & BIDS converted Dandiset (Private) —> Validate data)
  4. Fourth step: Project owner uploads/views data

    1. Project owner can upload their data. These are the options between converted data and uploads, where public data can be published and viewable by all, even if the user does not have an account and the public dataset can even be a draft. When published, this creates a DOI, that can be used to track metadata. If the data is not published, the data can not have a DOI because a DOI (though a place holder is generated upon creation, a DOI is created when the public data is manually published via the Dandiset page— I put the DOI related information in these notes, but believe it does not necessarily belong in the Class I diagram). The private data can be published once they remove the embargo period/private switch they toggled upon registering the data. Once the data is published (where I believe someone like an EMBER admin has permissions to publish data, hence that box/arrow), the data is now open access, where someone with or without an account can view it.
      1. The general flow, also reflected in the Mermaid chart will follow:
        1. (NWB converted Dandiset (Public) —> Validate data —> Upload —> Public view of project (Draft) —> Published (No longer draft) —> DOI creation)
        2. (NWB converted Dandiset (Private) —> Validate data —> Upload —> Private view —> End embargo period —> Public view of project (Draft) —> Published (No longer draft) —> DOI creation)
        3. (BIDS converted Dandiset (Public) —> Validate data —> Upload —> Public view of project (draft) —> published (no longer draft) —> DOI creation)
        4. (BIDS converted Dandiset (Private) —> Validate data —> Upload —> Private view —> End embargo period —> Public view of project (Draft) —> Published (No longer draft) —> DOI creation)

Please let me know if I can help clarify anything!

@guittari guittari linked an issue Mar 18, 2025 that may be closed by this pull request
@guittari guittari requested a review from NEStock March 18, 2025 21:10
projectowner["Project Owner"] --> addTitle["Add Title"] & addDescription["Add Description"] & addLicense["Add License"]
addRegistrationPublic["Register Dandiset (Public)"] & addRegistrationPrivate["Register Dandiset (Embargoed/Private)"]
addRegistrationPrivate & addRegistrationPublic--> prepareData["Prepare Data"]
addTitle["Add Title"] & addDescription["Add Description"] & addLicense["Add License"] --> addRegistrationPublic & addRegistrationPrivate
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: it might be more clean visually to combine these into 1 trapazoid like
"Add Initial metadata (Title, Description, License)"

Question: is there a way to do an "OR" in mermaid? If so, that would be nice visually, but if not no worries

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Class I seems to not allow for "Open from the start" workflow

4 participants