-
Notifications
You must be signed in to change notification settings - Fork 11
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
WEBDAV-related special remote error #739
Comments
The documentation is probably in KBI0028. To me this is about how Nextcloud exposes the shared folders through webdav:
There are two caveats regarding passwords which do not directly apply here, but could apply in general:
As a side note, I guess the user surprise is mostly due to the fact that the command suggested explicitly by DataLad ("enable with...") does not work. Also, there is no URL reconfiguration done by DataLad (like it does for RIA stores), all is left for the user. And neither happens because these are fairly unusual circumstances, in terms of setup. So apart from the fact that we can probably explain this situation (to be seen really), we can wonder whether this should be documented better or whether DataLad behavior needs to be changed. |
It seems that the share link must allow write access - when using only "Download / view" permissions, I also observed a failure on clone. For reasons we might want to explore, there is a PUT call happenning when testing WebDAV server (note: although this step clones a git repo, datalad-annex special remote uses git-annex for intermediate steps):
When the public link allows writing (I used "Download / View / Upload / Edit" to be sure), I am able to complete the reproducer. Setup as in the first code block in OP until
Note: in the above, I am defining a new remote with a public url, |
Thanks much for the analysis. I believe at least some confusion can be addressed with documentation changes. I'll update the KBI with some bits and pieces. |
ah shoot, I believe I still have a knot in my brain here. I wanted to test the different levels of write access that sciebo allows, but I again couldn't get past the cloning. I suspect there is something credential-related going wrong for me. Sorry, I thought I can add a write-up real quick - it seems I have to dig around a bit longer. It also reminded me of how badly datalad-handbook/book#760 is needed |
Ok, another attempt after lunch resolved my confusion. I messed up between the webdav credentials needed for the producer to push dataset updates, and the public link credentials used by the consumer. I checked which public option works; it is only the one with upload and edit: I can confirm that both consumer or producer can run the initremote call. |
I believe this originates in git-annex webdav protocol, specifically this function: https://git.joeyh.name/index.cgi/git-annex.git/tree/Remote/WebDAV.hs#n307 |
After today's office hour, here's my overview of the situation, trying to isolate friction points and see if there are action items on DataLad side. The use case involves a WebDAV sibling pair, created using Problem 1: enabling the storage sibling after clone. DataLad shows the user who clones via the public URL the standard message "access to 1 dataset sibling sciebo-storage not auto-enabled, enable with: datalad siblings ...". Running the printed command fails, because the the remote is configured with the
Problem 2: the need for write access. This wasn't part of the original description, but we quickly discovered that both cloning from webdav (which implicitly includes enabling a webdav remote as part of the datalad-annex protocol), and enabling the storage sibling explicitly, requires write access. This is because git-annex WebDAV special remote tests write access when it is enabled.
|
In a recent office hour, the following way of interacting with a webdav sibling (using a public link generated in the web interface) yielded special remote errors:
The observed error looked like this:
I have tried to reproduce this, but I observe the failure already during the
clone
call rather than thesiblings enable
call. As I have missed previous office hours where this came up already, I'm unsure about the background of this problem. I also didn't find any documentation on this approach using public links. If this method is supposed to work, I think we should also add documentation about it.The text was updated successfully, but these errors were encountered: