-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add neurosift external service for dandisets #2041
Add neurosift external service for dandisets #2041
Conversation
I don't mind to start with an ad-hoc solution first, but we might need to figure out how to make styling better since it doesn't fit nicely ATM: I think it might make sense it aligned with how it looks in Files browser where we have "Open with" Also, while trying on that CI-driven against staging, I tried to go to |
web/src/views/DandisetLandingView/ExternalDandisetServicesDialog.vue
Outdated
Show resolved
Hide resolved
web/src/views/DandisetLandingView/ExternalDandisetServicesDialog.vue
Outdated
Show resolved
Hide resolved
Co-authored-by: Yaroslav Halchenko <debian@onerussian.com>
I updated Neurosift so it gives a more specific error message now. And to solve this, query parameter staging=1 needs to be included in the URL when this is the staging site. I accepted your commits. Do you think the styling is okay now? |
@yarikoptic I have add handling for staging site, although haven't tested that. |
alert('Unexpected: No url field found in the metadata of the dandiset'); | ||
return; | ||
} | ||
const staging = dandisetUrl.startsWith('https://gui-staging.dandiarchive.org/'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a better way to decide on the "instance name" used to tell apart at the Vue client level not only from staging but also from LINC or temporary testing one? attn @kabilar @aaronkanzer @jjnesbitt . If so we better use that one and overall enable this only for stock DANDI main and staging but not for anything else.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think that we have yet abstracted the instance name. At present, it is hard-coded in the LINC fork.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#1810 does abstract the DANDI main and staging deployments.
web/src/views/DandisetLandingView/ExternalDandisetServicesDialog.vue
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, @magland. This is great. I left a few minor comments above on the phrasing of the text. I will leave the review of the javascript to the Kitware team.
…og.vue Co-authored-by: Kabilar Gunalan <kabilar.gunalan@gmail.com>
thanks, confirming it does ;)
works well. FWIW, attempt to find similar doesn't work for staging
yes, looks nice as to my non-artistic eye ;-)
FWIW, if you missed, in the status comment from CIs there is |
Wondering, is anything blocking this? Thx |
changelog entry removed. |
Hi @magland, perhaps the Neurosift link should open in a new tab, which would be similar to the behavior in the file browser. |
It looks like the option to open with Neurosift is also available for Dandisets that don't contain NWB files (e.g. 211293). On the Neurosift page for this Dandiset it then says that zero assets are loaded and links back to the DLP. Perhaps we can catch this case and disable the Neurosift link when there are no assets to be visualized with Neurosift? |
That sounds good to me... although I don't know how to add the target=_blank attribute to that link. Here's the relevant snippet
Does anyone know how to add that?
That also sounds good, but I'm not sure how to detect that in this file. My suspicion is that it would be a challenge. |
Hi @magland -- you should be able to bind a
|
Thanks @aaronkanzer that seems to have worked, and I made the change. |
FWIW, I would have (and probably in the past did) argue to avoid breeding new tabs -- it is IMHO up to the user to open in a new tab/window or just to continue in the current one. But we do have it to open in new tab for per-file browsing, so for consistency of UX it is indeed good to have it here in a new tab too. |
This looks pretty good so far. I am working on a few changes to the Javascript part to bring it into line with our style in other frontend components. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, just one minor code improvement
web/src/views/DandisetLandingView/ExternalDandisetServicesDialog.vue
Outdated
Show resolved
Hide resolved
Co-authored-by: Mike VanDenburgh <37340715+mvandenburgh@users.noreply.github.com>
🚀 PR was released in |
Addresses #2039
This doesn't yet include any of the general framework proposed by @yarikoptic in #2039. I do agree with what you are describing there, so we can view this as step 1 toward that. Whether it gets merged as is first or whether we wait until it is generalized that of course is up to you guys. I can work on it futher, but it will take me time to become more familiar with how data are passed around in the application.