Skip to content

Conversation

@bendichter
Copy link
Member

@bendichter bendichter commented Dec 14, 2025

Description

This PR adds a dedicated "How to Cite" tab to each Dandiset landing page, making citation information more prominent and accessible to users. The design is inspired by SPARC's cite tab approach.

Changes

New File:

  • web/src/components/DLP/HowToCiteTab.vue - New component displaying citation information including:
    • Full citation with copy-to-clipboard functionality
    • Clickable DOI chip linking to doi.org
    • Materials and Methods suggested text
    • Data Availability Statement suggested text
    • DANDI Identifier with RRID
    • License information
    • Link to DOI Citation Formatter

Modified Files:

  • web/src/views/DandisetLandingView/DandisetMain.vue - Simplified tabs to just "Overview" and "How to Cite", moved tab navigation above content
  • web/src/views/DandisetLandingView/DandisetActions.vue - Removed redundant "Cite As" dialog from the actions menu

Screenshots

The new tab provides a clean, user-friendly interface with:

  • Subtle gray background (#f5f5f5) for copyable text blocks
  • Copy buttons for easy clipboard access
  • Clear section headers and helpful descriptions
  • Links to external resources (DOI, citing guide)

Testing

  • Tested with published dandisets containing DOIs
  • Verified copy-to-clipboard functionality
  • Confirmed DOI links open correctly in new tabs

@bendichter
Copy link
Member Author

Before:

image

After:

image image

@satra
Copy link
Member

satra commented Dec 14, 2025

thanks for initiating this @bendichter - we need to have something for a non-published dataset as well. including a broad admonition at the top saying citing draft dandisets are not recommended as the content may change and to contact the author to publish it.

@waxlamp - i note here that for this last bit to work fully we need to have zarr publishing in place. this is going to hold us back on some datasets. for many neurophysiology datasets, we can simply publish zarr just as we would have a non-zarr dataset. they don't have the same implications as the large microscopy ones. we just need to determine whether a draft version of a published dataset should have copy on write enabled or not and what the criteria for that should be.

@bendichter
Copy link
Member Author

@satra Done.

image

Also see #2667, which would pair nicely with this

@bendichter
Copy link
Member Author

If the Dandiset has a published version:

image

@kabilar kabilar requested review from satra and yarikoptic December 15, 2025 19:27
Comment on lines 229 to 236
<a
href="https://citation.doi.org/"
target="_blank"
rel="noopener"
>
DOI Citation Formatter
<v-icon size="small">mdi-open-in-new</v-icon>
</a>
Copy link
Member

Choose a reason for hiding this comment

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

unfortunately this one seems to not allow to prepopulate the DOI, thus kinda rendering it much less useful. May be we could switch to use here

Suggested change
<a
href="https://citation.doi.org/"
target="_blank"
rel="noopener"
>
DOI Citation Formatter
<v-icon size="small">mdi-open-in-new</v-icon>
</a>
<a
href="https://citeas.org/cite/${doi}"
target="_blank"
rel="noopener"
>
citeas.org formatter/exporter (e.g., to BiBTeX)
<v-icon size="small">mdi-open-in-new</v-icon>
</a>

?

Copy link
Member Author

@bendichter bendichter Dec 16, 2025

Choose a reason for hiding this comment

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

Yes, I am fine with that, however citeas.org is not working for me right now. It is throwing a bunch of JS errors:

Failed to load resource: net::ERR_CONNECTION_REFUSEDUnderstand this error
ajax.googleapis.com/ajax/libs/angular_material/1.1.0-rc4/angular-material.min.css:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-animate.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-route.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-aria.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-messages.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-resource.js:8 Uncaught TypeError: Cannot read properties of undefined (reading '$$minErr')Understand this error
angular-sanitize.js:19 Uncaught TypeError: Cannot read properties of undefined (reading '$$minErr')Understand this error
angular-animate.js:9 Uncaught TypeError: Cannot read properties of undefined (reading 'noop')Understand this error
angular-material.min.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
angular-cookies.js:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVEDUnderstand this error
zenodo.160400:109 Uncaught ReferenceError: angular is not defined
at zenodo.160400:109:9Understand this error
ti.js:1 Uncaught ReferenceError: angular is not defined
at ti.js:1:1Understand this error
ui-bootstrap-tpls-2.5.0.js:7 Uncaught ReferenceError: angular is not defined

Copy link
Member Author

@bendichter bendichter Dec 16, 2025

Choose a reason for hiding this comment

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

ourresearch/citeas-webapp#26

I agree we should have a better solution here but I don't think it should hold up the PR

@yarikoptic
Copy link
Member

I think this would at large also close

@satra
Copy link
Member

satra commented Dec 16, 2025

can we adjust this so that we merge into this a cff generator from the dandiset metadata, which can then be rendered into different formats for citation?

@bendichter
Copy link
Member Author

@satra how's this?

image

@satra
Copy link
Member

satra commented Dec 16, 2025

love it @bendichter - perhaps an add to reference manager ? kind of like this part in biorxiv.

image

@bendichter
Copy link
Member Author

In my experience citation managers support bibtex import, which is one of the options here

@yarikoptic
Copy link
Member

can we adjust this so that we merge into this a cff generator from the dandiset metadata, which can then be rendered into different formats for citation?

I think this should be a separate issue and IMHO should be automatically produced as top level CITATION.cff, which is compatible with BIDS already, which would then automagically appear in any DataLad dandiset etc.

return String(value);
}
return String(value);
}
Copy link
Member

Choose a reason for hiding this comment

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

FWIW -- this is already a notable amount of code worthy dedicated unit testing etc to avoid user facing errors etc...

Copy link
Member Author

Choose a reason for hiding this comment

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

do we want to make that a requirement of this PR? Do we have a testing framework I can integrate with?

Copy link
Member

Choose a reason for hiding this comment

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

well, that all will be largely up to @dandi/archive-maintainers , I would have preferred at least some unittests to ensure on robust conversion performance since it would be driven by user entered data and that is a "zoo"... there are some end-to-end tests for frontend under e2e/

@bendichter
Copy link
Member Author

@satra

image image

@satra
Copy link
Member

satra commented Dec 17, 2025

@bendichter - since i can't play with it myself, are you saying the drop down does bibtex and cff/yaml in addition to apa/ieee etc.,.?

@bendichter
Copy link
Member Author

@satra yes, that's right. I included screenshots of this here: #2671 (comment)

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.

"How to Cite" page for each Dandiset

4 participants