Feature Wiki

Information about planned and released features

Tabs

Remove the functionality to open collections in a Browser over WebDAV

1 Reasons to Abandon Feature

1.1 Short explaination about this feature

The WebDAV-Service is a really nice feature to Download a folder hierarchy and files from ILIAS with a file manager (e.g. Windows Explorer, WinSCP, Finder etc.) over the WebDAV protocol. In my Feature Request for Version 5.4, I only declared to exchange the used library and refactor the entire code. However, there is a feature, with which one can open WebDAV with a browser. The only functionality this feature offers is to browse through the ILIAS-repository and download files. An example of this website the screenshot below.

If you want to test this, open https://demo.ilias.de/webdav.php/demo/ref_274/ in your browser and enter some login information from the iliasdemo user accounts.

1.2 Why to abandon it

The new WebDAV uses the library “sabreDAV” instead of “pear”. Since the architecture of both are completely different, this functionality has to be implemented entirely new. To learn about the difference between opening WebDAV in a browser and a file explorer, view the chapter under “Technical Information” in this Feature Request.
 
SabreDAV offers to enable/disable the browser functionality. However, the given default website is branded with the sabre-io logo and colors. To make it look like the old page, I would have to overwrite and rewrite this functionality of sabreDAV.
 
As discussed in JF on 13.08.2018, I propose to abandon this feature. Sadly, I was not able to attend this JF, so THANKS a lot to Fabian for explaining this case! Stephan Winiker and I (Raphael Heer) as first and second maintainer of this service do not see this as a useful feature. We think, if one opens his browser to browse through the Ilias repository, she or he should rather use Ilias itself instead of the WebDAV service.

1.3 What to show instead of the this page

If I do not activate the browser functionality in sabreDAV, the webpage shows following error:
 
    3.2.2  Sabre\DAV\Exception\NotImplemented  There was no plugin in the system that was willing to handle this GET method. Enable the Browser plugin to get a better result here.
 
To me, this doesn’t looks like an acceptable solution either. This scenario is not that rare. Because if someone jsut copy+paste the WebDAV link to the Windows Explorer isntead of mapping it, Windows redirects this link to the browser. So I have to overwrite the browser functionality in sabreDAV anyway. The question is how much I have to overwrite.

My idea is to overwrite just a little bit of this browser supporting functionality in WebDAV. Instead of displaying the user a Website with the content of the collection, we could just redirect him to another site. I have two ideas for a possible landing page:

  • The mount instruction page for this directory (/webdav.php/foo/ref_1234)
  • The Ilias goto-page of this directory (/goto.php?target=cat_1234&client_id=foo)
If there are any other ideas, I am open to it. :-)

2 Technical Information

2.1 Diference between WebDAV in a Browser and in a File Explorer

The WebDAV-protocol (defined in RFC 4918) is an extension to the http-protocol with some additional methods like MKCOL (create a collection on the server), LOCK/UNLOCK (lock/unlock resource on the server), PROPFIND (get properties and structure of a collection) and more.
 
If a WebDAV-Client (a file manager like Windows Explorer, WinSCP or Finder) wishes to get all child objects of a given collection, it sends a PROPFIND request to the given collection. On the other hand, if a browser requests the same uri to a given collection, it uses the GET method. In WebDAV the GET-Request is normally used just for files. With knowing this, we can now differentiate between browsers and file managers on certain requests without parsing the user-agent.
 
According to the RFC 4918, a GET-Request on a collection may return the contents of an “index.html” resource, a human-readable view of the contents of the collection, or something els altogether. Hence, it is possible that the result of a GET on a collection will bear no correlation to the membership of the collection.

2.2 GET Request on a file

When it comes to requesting a file, browsers and file managers both use a GET-Request. There is no way to differentiate this. Except for analyzing the user-agent. This is however a very useful feature. Because most file managers, redirect an open file command to another application. E.g. if your default software for .pdf is Microsoft Edge, the file manager passes the link to Edge and Edge will perform a GET-request. In my opinion, this behavior shouldn’t be modified.

3 Contact

4 Funding

Removing the feature from the ILIAS code base might need funding. If you are interest in funding this request, please add your name and institution to this list.

  • ...

5 Discussion

Use the following discussion section to express your objections against this request or your consent to get rid of this feature.

JourFixe, ILIAS [jourfixe], 10 SEP 2018 : We highly appreciate this suggestion and abandon the functionality to open collections in a Browser over WebDAV with 5.4. In case of entering a webdav link to the browser a re-direct should be made to the mount instructions for this repository node.

6 Implementation

{The maintainer has to give a description of the final implementation and possible consequences for existing installations.}

Approval

Approved at {date} by {user}.

Last edited: 10. Sep 2018, 16:06, Kunkel, Matthias [mkunkel]