====== WebDAV for DokuWiki====== The aim is to create a WebDAV interface that will present **all** DokuWiki contents as a virtual filesystem. A flexible interface mechanism should allow to plug filters between the save and load mechanisms. Filters could then convert between DokuWiki syntax and other formats (like OpenOffice) on the fly. Example virtual directory structure: * media * //all media namespaces and files here// * txt * //raw access to the page files// * odt * //pages with on-the-fly Open Office conversion// ===== Implementation ===== A first implementation based on SabreDAV was started some years ago at https://github.com/cosmocode/webdav but never completed. For each "type" or "filter" a file is placed in ''lib/plugins/webdav/types''. Eg. ''lib/plugins/webdav/types/media.php'' handles the access to the media files. The file contains two classes, one for handling directories (and listings) the other handles files. [[plugin:webdav]] plugin is another SabreDAV implementation with support for pages, media, [[plugin:odt]] plugin, [[plugin:tag]] plugin. ===== Open Questions ===== * Authentification * Currently only via HTTP Basic Auth? * Can we implement Basic Auth without relying on mod_php? * [[http://www.besthostratings.com/articles/http-auth-php-cgi.html|this should help]] * BasicAuth without SSL is not allowed by the WebDAV specs * most clients ignore this * Windows needs a registry change * DigestAuth would be better * We may need to store passwords in MD5 or create a second password file * Authentication has to be triggered by a 401 header, but this disables anonymous access * Add another virtual folder at top? -> anonymous / login * Windows requires the DAV endpoint to be at the root of the domain * have some subdomain configuration example? * have some simple include to be copied to root? * Should the history of pages be available somehow? Can WebDAV history support be used? * What happens when I upload a "Upper Case.jpg" via WebDAV, but DokuWiki saves it at "upper_case.jpg"? * How to make old revisions accessible via WebDAV