-
Notifications
You must be signed in to change notification settings - Fork 492
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
Explore button for Binder #6807
Comments
In order to support an "Explore" button for Binder, we'd need to make the Dataverse "external tool" framework more flexible in the URLs it can construct. For example, the Explore button would need to be able to send users to URLs such as https://mybinder.org/v2/dataverse/10.7910/DVN/TJCLKP/ with parts of the DOI in the "path" of the URL. Here's that URL again in context: A work around is to add a "launch binder" button to the description of your dataset like this: |
Or you can try this External Tool definition: {
"displayName": "Binder",
"description": "Run on Binder",
"scope": "dataset",
"type": "explore",
"toolUrl": "https://girder.hub.yt/api/v1/ythub/dataverse",
"toolParameters": {
"queryParameters": [
{
"datasetPid": "{datasetPid}"
},
{
"siteUrl": "{siteUrl}"
},
{
"key": "{apiToken}"
}
]
}
} |
@Xarthisius works great! Thanks! If anyone out there wants to add "Binder" under "Explore" at the dataset level, this should do the trick. Just put the JSON in a file and follow http://guides.dataverse.org/en/4.20/admin/external-tools.html#adding-external-tools-to-dataverse The only limitation is that the DOI for the dataset needs to be real. |
Hi, Best regards Michel |
Hi Michel,
It's a custom thing, that I'm hosting. Source is here: data-exp-lab/girder_ythub@ec3f756
I need a little bit more explanation about what you mean by that? BinderHub already supports dataverse datasets as a source for Binders by default (since jupyterhub/binderhub#969), |
Hi , @Xarthisius :Thanks for the answer. To answer your question : I setup a jupyterhub cluster using kubernates with a persistent storage for each user. Best regards |
WholeTale does exactly that for Dataverse. It's not "jupyterhub" per se, but it offers the same functionality and more. @pdurbin do you have any instance of DV with WholeTale external tool integration enabled so that @mbamouni could see that in action? Here's link to a yt video: https://www.youtube.com/watch?v=AoSpQ3A7poY |
@Xarthisius :I try whole tale also but I would like a lightweight tool like jupyterhub to give multiple choice to the end user. For whole tale, I connect it to my dataverse but when I click on the explore button , I'm redirect weel to whole tale but I get Best regards |
Yes, Whole Tale is enabled on https://demo.dataverse.org . I just tried it and it seems to work fine (screenshot below). See also this announcement from @craig-willis about this integration: https://groups.google.com/g/dataverse-community/c/ZJg-_gS4n1g/m/qw2NNClCBgAJ |
@pdurbin after connecting to demo.dataverse, I try to create a tale in whole tale using the "Hierachy file" dataset and I got an error : Michel |
@mbamouni huh. I got the same error. Can you please create a new issue about this? Here's what I see: |
That's because we don't allow registration of data as Dataverse resources outside of official DV deployments [1] |
@Xarthisius hmm, maybe we should pick this up in #6446 but it used to work. |
@Xarthisius is it a good practise to setup my own whole tale instance? |
@mbamouni I don't know if that's a good practice, but it's certainly worth a try! :) If you want some pointers maybe visit our slack? The link is at the bottom of our homepage (https://wholetale.org) |
It used to at some point, but after some consideration it was limited only to production DV deployments. We don't want our user to publish research objects with reference to fake DOIs. I'm sure the same logic applies if you reverse the problem. You don't want testing instances of WholeTale publishing to Harvard's Dataverse, do you? |
Hello, Best regards, Michel |
I dodged a bullet here. I'm glad you're contacting me rather than our PIs directly. They wouldn't be happy to know we haven't been doing a thing for over one year! So let's keep it a secret... Joking aside. I don't know where you looked but we tagged 1.0rc1 10 days ago with a bunch of new features and AFAICT last commit to the project happened 19h ago. I'd suggest watching here: https://github.com/whole-tale/
I'm not sure how should I respond to that, because it sounds like you asking for emails and personal info of our users, which of course I can't give you cause that would be neither legal, nor ethical... If you want to look for inspiration go to https://dashboard.wholetale.org and see public Tales.
Yes it is possible. We have a proof of concept for that even, but we didn't see any significant gain in doing that migration and it has bit-rotten since then. |
@siacus and I have been talking a bit about containers so I spend a few minutes validating the idea that we can very easily (with a single curl command) load up the JSON @Xarthisius supplied above to put a Binder button on every dataset. There was seemingly a small issue redirecting the toolUrl (girder.hub.yt to mybinder.org) but @Xarthisius fixed it in record time (thanks!): I'd like the definition of done for this issue to be updating the guides to link to place outside our guides (per our policy) for the JSON above. Here I'm talking to @Xarthisius on where to host it: Meanwhile, I don't see any reason to wait on trying out the Binder button on Harvard Dataverse. I just gave @sbarbosadataverse a demo (would like to show @siacus too) and created this issue: Finally, @atrisovic just wrote up a related design doc for Binder stuff but I'll let her drop a link in here when she's ready (I haven't had a chance to read it closely yet). 😄 Oh, there's so little to do (minor doc change) that I'm giving this a size of 3. All we need is a URL to link to for the JSON file. |
Hi All, I love the idea to bring a "Binder button" to Dataverse and, as Phil @pdurbin mentioned, I am working on a technical design report to document it. For the datasets that have some code (R, python, other) or specific data formats (ie netcdf, parquet), it would be great to add some (cc @Xarthisius) |
I don't know if that's possible with Binder / BinderHub. I'm really not affiliated with them and thus cannot speak for the project. |
@siacus and I just discussed this issue. We'll be documenting Binder as the second dataset-level external tool. Whole Tale was the first: |
Discussing this with @Xarthisius and we don't think using the girder.hub.yt integration is the proper long term solution. It was hosted there originally as an expedient way to work around how external tools currently handles parameter replacement. In short, the provided API converts the Dataverse-style external tools URL:
into the format accepted by Binder:
For example:
If the external tools handler was able to do variable replacement in the
This looks to be almost possible today with Just note that girder.hub.yt is a potential point of failure and requires someone outside of Binder and Dataverse to maintain the service. |
I just made a pull request: @craig-willis I agree 100% with you. In that PR I also expressed the need for Dataverse's external tool framework to be able to put DOIs in the path of the URL. However, this was also mentioned above ( #6807 (comment) ) nearly three years ago! 😄 For now (in the PR) I'm linking to girder_ythub but yes, yes, yes, we need to fix up our external tool framework! |
@pdurbin is there an existing issue or should I create one? |
@craig-willis there is not. Please feel free!! Thank you!! ❤️ |
Also, when sending files from Dataverse to Binder, they should be retrieved in the original format (ie csv instead of tab), something along the lines:
|
@craig-willis thanks for creating this follow up issue: Much appreciated! 🎉 @atrisovic yes, agreed, but I think we need to make a PR on repo2docker for that 🤔 |
in the docs, add Binder as an external tool #6807
grooming:
|
So far the Explore button in DV takes us to Whole Tale:
It would be good to discuss adding Binder also. This is already possible on their side, as one can explore Dataverse datasets with a DOI. See here: https://mybinder.org and in picture:
The text was updated successfully, but these errors were encountered: