Everybody wants to know more about WebDAV on 2.0! And it seems to be the right time too. Looking at the gapps 'planning document' and the "meta" tracker MDL-14589 it seems that the core API is complete and stable, and that "course files" and "site files" are working.
(Petr could confirm that I am reading it right; if he says "still needs a rewrite" I can wait some more... )
So, what we have now, in summary, is the following:
A 1.9 implementation that is known to work with earlier 1.9.x. I haven't personally tested it on the latest _STABLE, but I see no reason for it to have problems (other than minor merge conflicts).
The 1.9 implementation is known to be good, safe to use, and generally with outvices.
- Upload 7GB DVD images? No problem with Moodle! (your ISP might charge some extras )
- Upload 10k little files? It works too.
- Unicode chars in the course name? Works (if your client side does proper unicode, most do).
- Rename a "course directory" -- forbidden, that'd break moodledata!
- Delve into moddata directories? Naughty boy that's forbidden!
- Create files or dirs with names that Moodle wouldn't approve of. Well, forbidden.
Tested and used widely with MacOSX, Windows XP, Vista and Gnome and KDE on Linux. Known issues:
- Early MacOSX have some issues (IIRC, with https). Very early OSX is unusable in general w WebDAV.
- Some clients cannot handle the nice "Course name" -- (I think I may have fixed this). Check whether your 'client' handles "DisplayNames".
- Windows XP implements WebDAV via a DLL that various versions of Office upgrade/downgrade. Depending on which version of the DLL you have, there are different subtle bugs. None are the end of the world. There is a page on the 'net tracking all the versions and bugs...
- WebDAV has to do username/password authentication. so it won't play well with unconventional auth plugins. First casualty here is the the ActiveDirectory "transparent SSO" feature of auth/ldap (which I reworked/merged from Dan Marsden's original code). Maybe someone with access to Windows clients and understanding of the subtleties involved can make those 2 interact better. It is a "little project from hell" but I think it can be made to work.
Where is the 1.9 code? The branch in the git repo is here: http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=shortlog;h=mdl19-webdav
It has seen several merges from 1.9.x so it's not trivial to get a clean diff from gitweb directly. If you use git, the command is (note the 3 dots):
git diff origin/MOODLE_19_STABLE...origin/mdl19-webdav
The resulting patch is here: http://dev.laptop.org/~martin/mdl19-webdav-g385bbff.diff
In the coming 2 weeks, if Petr says the Files stuff is in good shape, I can rebase this code onto current CVS HEAD, so we have it for 2.0.