UI locks webdav (open protocol) to specific vendor brands
webdav is a protocol implemented in a variety of libraries. SabreDav is a popular PHP implementation used by NextCloud and ownCloud.
Contrary to Nautilus, GOA does not advert vendor-neutral "webdav" protocol.
Nevertheless, tech-savvy users could still realistically hope to find their way by setting-up a Nextcloud account (although it's basically like branding a vendor-neutral protocol). ... but to my surprise, the has been made arbitrarily locked to next/owncloud only.
A couple of URL suffixes have been hardcoded and are automatically appended to webdav endpoint URL making actually impossible to use an implementation that would not follow the Nextcloud-specific URL pattern.
The irony is that a simple change in the pattern by said vendor would also trigger issues like #67 (closed).
I'm using Pydio which is another completely legitimate webdav-backed software for remote storage. The normal expectation is to get it working out-of-the-box with GOA.
Here is a log of an attempt to add this webdav endpoint (https://my-domain/dav/
):
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: goa_http_client_check(): request started (0x560a1aa27d70)
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > GET /dav/remote.php/webdav/ HTTP/1.1
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Soup-Debug-Timestamp: 1583262606
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Soup-Debug: SoupSession 1 (0x560a1aab7340), SoupMessage 1 (0x560a1aa27d70), SoupSocket 1 (0x560a1aa8cce0)
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Host: my-domain
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Accept-Encoding: gzip, deflate
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980: > Connection: Keep-Alive
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:06.980:
(gnome-control-center:26384): GoaBackend-DEBUG: 16:10:07.999: < HTTP/1.1 401 Unauthorized
Notice the erroneous GET /dav/remote.php/webdav/
.
My suggestion : Please drop this "vendor/logo/branding" over webdav and allows plain URL endpoints to be pasted in the UI.
Additionally just add a small notice showing:
"Notice: Nextcloud URL usually finish in
remote.php/(web)?dav)
".