WebDAV for Moodledata

WebDAV for Moodledata

by Martín Langhoff -
Number of replies: 116

I am starting to implement a WebDAV access point for working more comfortably with files in Moodledata -- thanks to some serious commitment from Godalming College to get this to happen cool

The relevant branch is here http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=shortlog;h=mdl19-webdav -- I am initially basing it on top of 1.9, but it's not going to be in 1.9 proper (can you spell "feature freeze"? wink )

Here are my dev notes in case anyone is interested in following/helping/testing... or using it!

It will use the same user/password authentication mechanisms that Moodle provides (so it will use AD/LDAP if Moodle is so configured), but will not have SSO, as the webbrowser does not share information with the WebDAV client code in any operating system.

Access to WebDAV will be controlled by a capability defined within the Moodle roles/capabilities system. So you can define WebDAV access as part of the system-wide roles.

Note: Unfortunately, WebDAV does not work well with very large files -- if you are planning on routinely hosting files over 100MB, WebDAV will fall short of your expectations. For the occassional large file, it will do just fine. (AFAIK anyway - I have to test how it works with large files and document it)

Another consideration is that a "raw" view of the directories held in moodledata would expose files and directories that Moodle does not normally show, and could allow users to do things that will break Moodle - such as moving one course directory into another (an accidental drag-and-drop can be disastrous!). We will have to prevent such operations, and hide directories that hold no interest for end users.

The rough plan is to

  • Reuse existing WebDAV server library
  • Replace authentication mechanism with Moodle authentication
  • Hide Moodle's own data directories in Moodledata
  • Replace top-level directory names from numbers to 'course-shortnames' for usability
  • Prevent operations on top-level directories -- such as moving one course directory into another course directory.
  • Filter allowable file names with the same rules as Moodle does today
  • Good performance wink
  • New capabilities to control this - one at the system level ("connect via webdav") and one at the course level ("manage files via webdav").

I hope to have something testable in a few days wink

Average of ratings: -
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
At loooooooooong last, a credible proposal for WebDav implementation in Moodle! I've been waiting for this for years, ever since we switched from good old WebCTwink to great new Moodle. If it's going to be in moodle 2.0, however, this means waiting for at least another year or two, I guess.
Joseph
Average of ratings: Useful (1)
In reply to Joseph Rézeau

Re: WebDAV for Moodledata

by ict dev team -

We have been doing some testing with WebDAV and have come across a bit of a problem. We have managed to install the app on the live Moodle and it works well until we enable the authentication (ntlm). With this enabled clicking the WebDAV interface causes the system to hang. We read on the forum that this is not currently supported, have there been any further developments on this or using LDAP as a fallback authentication method?

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Dan Poltawski -
Note: Unfortunately, WebDAV does not work well with very large files -- if you are planning on routinely hosting files over 100MB, WebDAV will fall short of your expectations. For the occassional large file, it will do just fine. (AFAIK anyway - I have to test how it works with large files and document it)


It doesn't? How come?

I am definitely interested in testing this, especially as I was hoping to implement something similar whenever someone would free me up some time. (But I was thinking of something a bit further away from moodle with with mod_dav and PAM or similar)
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -

It doesn't? How come?

Well, files are "uploaded" using HTTP POST, and AFAICS PHP is memory-bound when dealing with POST request. Heck, I think even apache's own mod_dav is memory bound (though the overhead in memory footprint is lower than with PHP, of course).

Add to that some XML wrapper-isms in the protocol. All the XML parsers I know are memory bound for each xml stream token in the best case (stream parsers). And a large file is one big (base64 encoded?) token. Tree/DOM XML parsers are memorybound for the whole document parse-tree, plus an in-memory copy of The Art of Computer Programming tomes 1 to 3 , just in case an asteroid hits mixed

Moving the files and downloading them should be ok.

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Paul Holden -
Picture of Core developers Picture of Moodle HQ Picture of Moodle Workplace team Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Martín, this will be great when it's in Moodle core smile

but will not have SSO, as the webbrowser does not share information with the WebDAV client code in any operating system.

It is possible to get a certain amount of information - if I remember correctly IE6 will pass the cookie credentials if WebDAV is accessed via a link like this:

<a href="http://moodleurl/fallback.htm" folder="https://moodleurl/webdav/164/" target="_blank" style="behavior:url(#default#AnchorClick)">File Manager (WebDAV)</a>

Yeah, it's ugly wink and will only work under certain (Windows/IE) conditions, but it's worked OK for us here. I just use Nautilus or cadaver for accessing it anyway.
Average of ratings: Useful (1)
In reply to Paul Holden

Re: WebDAV for Moodledata

by Martín Langhoff -
In-te-rest-ing. Can you help me with some docs/links on that SSO trick? Is there a MS KB article or something that can give us a hint of how it behaves?
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Paul Holden -
Picture of Core developers Picture of Moodle HQ Picture of Moodle Workplace team Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Hi Martin,

Here's a couple of MSDN articles that discuss the method I mentioned:
"A Web folder view maintains a consistent user experience between navigating the local file system, a networked drive, and an Internet Web site."

Here's a KB article on why this method stopped working from IE7 (see compatibility section, Web Folders): http://support.microsoft.com/default.aspx/kb/928675

"Microsoft is aware that several customer scenarios have been adversely affected by the decision to force browsing into a separate process. In particular, FTP folders and Web folders frequently relied on in-place browsing to preserve context such as authentication state."

+1 for consistency, eh wink

In reply to Paul Holden

Re: WebDAV for Moodledata

by Martín Langhoff -
Unfortunately, it turns out we need the actual username/password from the user, so we can't support this SSO strategy. It is fairly limited too, so I'm not too worried about it...
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martín Langhoff -

With the version I have just pushed out,

  • All the "read" operations are supported.
  • Access controls work as expected: you need moodle/site:webdav to connect, and then moodle/course:managefiles to be able to see & manage files within a course.
  • It protects and hides all the important "non-user-serviceable" directories.
  • It relabels all the course directories to the course shorname, using the displayname feature of WebDAV. Unfortunately, not every WebDAV client supports it -- the good ones do though!

Is anyone else playing with it?

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martín Langhoff -

DELETE, PUT and MKCOL are done too. My TODO list is

  • MOVE and COPY
  • Replace MIME handling with Moodle's own
  • PROPFIND seems to be having trouble listing files/collections with high unicode chars. Or it may be a client problem? Needs wireshark to debug.
  • Add new capability
  • Implement locks - needs a few DB tables
  • Test with MSWin and OSX clients
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Dan Poltawski -
I have been trying to play with this.

The pear include paths are causing problems on my system (although include paths with pear are a nightmare..)

Also, I am not sure what the way to connect is, do I need to do some magic to get the server to use the moodledata-server.php Or use http://myurl/webdav/moodledata-server.php to connect?
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Dan Poltawski -
OK
http://myurl/webdav/moodledata-server.php works on ubuntus gui interface, however its only showing me site files (as 1) at present.
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -
AFAICS, Ubuntu is using GNOME's "VFS" thingy to mount WebDAV. Which either doesn't know how to use the displayname parameter, or has a hidden switch to enable support for displayname, so hidden that I can't find it.

Grumble.

If you use the davfs2 in the kernel, all you need to do is enable displayname support in /etc/davfs2/davfs2.conf
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Dan Poltawski -
(I'm not really sure what good clients are for webdav so trying lots of different things ;))

On Mac OSX I can mount, get the numerically named directories, but seemingly not move files to the directories :/
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -
Move wasn't supported yet. I've just pushed out the code updates that adds move/copy/delete/create support.

So it's moving right along...

What version of OSX is that? Googling doesn't turn up any info on OSX support for displayname...
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Dan Poltawski -
10.4.11, but I think you've found the problem.. (Going to test with new locks later)
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Dan Poltawski -
OSX works great now. (Apart from the displayname support sad, it really is a shame when clients dont support it).
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Martin > With the version I have just pushed out,...
Where is it?
Joseph
In reply to Joseph Rézeau

Re: WebDAV for Moodledata

by Séverin Terrier -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
It seems to be, as said in the first message :
http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=shortlog;h=mdl19-webdav

But don't ask me how to use it...

Séverin
In reply to Séverin Terrier

Re: WebDAV for Moodledata

by Matt Gibson -
In reply to Matt Gibson

Re: WebDAV for Moodledata

by Martín Langhoff -
The Wikipedia page lists several options for Windows. The one that just works is the MSYS GIT one - follow this link for downloads and doco - http://code.google.com/p/msysgit/

While I'm not a windows user, I do have my run-ins with That OS every once in a while, and MSYS GIT is amazing. It was a hard thing to get GIT on Win32 and these guys have nailed it. Hats off to the 2 Johannes (Sixt, Schindelin) that did it.

And if the Cheetah project gets a bit of polish, there's nothing to stop our plans, Pinky wink

[ Cheetah's a good name! Even on Windows, GIT is faster than any other SCM that I've ever used by several orders of magnitude. On linux I sometimes wonder whether it did anything at all. ]
In reply to Séverin Terrier

Re: WebDAV for Moodledata

by Joseph Rézeau -
Picture of Core developers Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers Picture of Translators
Thanks Séverin,
No idea how to use this. Why is it not in contrib???
Joseph
In reply to Séverin Terrier

Re: WebDAV for Moodledata

by Martín Langhoff -

Two options

  • Easy: follow the link, and then look for a link labelled "snapshot" to grab a zip or tar.gz snapshop. It'll be a full moodle download with my aptches already applied.

  • Harder - but more fun: install GIT (it's available for most linuxen, unixen, Windows and OSX) and then do...

    git clone http://git.catalyst.net.nz/git/moodle-r2.git git checkout -b mdl19-webdab origin/mdl19-webdav

With the second method, you can regularly do

 git pull

which would be the equivalent of a "cvs update" - brining in the new version of the code.

If you are using git, and want to see really pretty pictures, just do

gitk 

if you are interested in a particular branch

gitk origin/MOODLE_18_STABLE

or just watch it all explode with:

gitk --all 
Average of ratings: Useful (1)
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
Or we could just make it easy for Moodle users by putting it in contrib CVS wink
In reply to Martin Dougiamas

Re: WebDAV for Moodledata

by Séverin Terrier -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Yes, doing so will prevent lot of people to say "+1 for that" wink
In reply to Séverin Terrier

Re: WebDAV for Moodledata

by Matt Gibson -
[strenuously resits saying "+1 for that"]

I'd love to play about with this, but will wait till its in contrib.

Just to clarify because I'm confused,
  • will this allow a user to drag a file from the desktop into the file manager and have it uploaded with no other login or anything else needed at all?
  • It is potentially possible in future to make it so that I drag a file or folder onto a topic section with editing on and have the file automatically added as a resource (which would be so cool!)?
This is definitely a major step forwards with file management. Thanks for the work Martín.

Matt
In reply to Matt Gibson

Re: WebDAV for Moodledata

by Martín Langhoff -
Before I put it in contrib, good chunks of the code need to land in /lib... it will take a while.

So go grab the tar gz here if you want to test it http://git.catalyst.net.nz/gitweb?p=moodle-r2.git;a=snapshot;h=mdl19-webdav;sf=tgz
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Andrea Gregory (Gordon) -

Hi Martin,

I've set up Webdav from the link above to the tar gz file. I've enabled it then tried to test it out.

However... When going to sites files then clicking on http://url/webdav/moodledata-server.php/1/ I get an error message:

"Internet Explorer could not open" http://url/webdav/moodledata-server.php/1/ as a web folder. Would you like to see it's default view instead?"

Then a yes/no option, when 'yes' is clicked it shows a blank page. I've tried this on ie6/7 and firefox thinking it may be a browser thing but it doesn't work on any...

Are there any server settings which need to be set correctly in order for this to work?

I even tried the little 'Microsoft web folders' update but it didn't fix the problem either... still the same sad sad

Anyone got any ideas???

Thanks,

Andrea

In reply to Andrea Gregory (Gordon)

Re: WebDAV for Moodledata

by Séverin Terrier -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Hi,

i think you must replace "url" with the real URL of your Moodle site wink

Séverin
In reply to Séverin Terrier

Re: WebDAV for Moodledata

by Andrea Gregory (Gordon) -

I know I'm blonde but I'm not THAT blonde!! Haha!

I just put "url" in the forum posting....... I am actually using the real url...!!

Thanks - any more ideas?? cool

Andrea

Average of ratings: Useful (1)
In reply to Andrea Gregory (Gordon)

Re: WebDAV for Moodledata

by Martín Langhoff -
Nevermind Severin's crazy ideas wink

Enable full developer debugging in your moodle, and look at the logs from apache. They should say something that explains the problem...
Average of ratings: Useful (1)
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Andrea Gregory (Gordon) -

Hi Martin,

When I enable debugging, I still get a blank page showing no errors... Also, there doesn't seem to be anything significant in the error logs. These are the only ones for today:

[Fri Mar 14 00:48:10 2008] [error] [client 212.95.252.16] File does not exist: /srv/www/vhosts/default/htdocs/spicons
[Fri Mar 14 05:34:25 2008] [error] [client 87.106.142.8] File does not exist: /srv/www/vhosts/default/htdocs/phpmyadmin
[Fri Mar 14 05:34:25 2008] [error] [client 87.106.142.8] File does not exist: /srv/www/vhosts/default/htdocs/PhpMyAdmin
[Fri Mar 14 05:34:25 2008] [error] [client 87.106.142.8] File does not exist: /srv/www/vhosts/default/htdocs/PMA

Doesn't seem to be anything to do with where Moodle is or Webdav... mixed

Thanks,

Andrea

In reply to Andrea Gregory (Gordon)

Re: WebDAV for Moodledata

by Martín Langhoff -

There must be something showing an error... the causes of errors I can imagine are

  • Missing XML libraries - check the environment page in admin to see if the XML libs are installed.
  • Having magic_quotes_gpc enabled (you can check that in admin->phpinfo - should be disabled.

Both things turn up as errors in the logs. Perhaps it is logging them elsewhere (some systems have a separate php.log...)

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Andrea Gregory (Gordon) -

Ok - it was the magic quotes... And restarting apache. smile Cheers Martin.

However, now I get a webpage with the directory structure but no way of dragging and dropping files etc in or out...? When i click on a directory it comes up with the same error as before:

Internet explorer could not open... http://url...

Would you like to see the default view instead? So i click yes and it shows the directories, no way of uploading/downloading.

Any ideas? smile

Thanks,

Andrea

In reply to Andrea Gregory (Gordon)

Re: WebDAV for Moodledata

by Lael ... -

Andrea,

I'm getting the same result as you on this one - did you work out a solution?

I noticed there doesn't actually seem to be a permission moodle:site/webdav in my permissions at all? doesn't seem to match up with what 'should' be there..?

does anyone have any ideas?

In reply to Lael ...

Re: WebDAV for Moodledata

by Andrea Gregory (Gordon) -

Hi Lael,

No I still haven't worked it out - very annoying! I don't actually have that permission either... is it supposed to be there too?? mixed

Andrea

In reply to Andrea Gregory (Gordon)

Re: WebDAV for Moodledata

by Lael ... -

According to http://docs.moodle.org/en/WebDAV_Setup, the permission should be there... so I am unsure what happened.

Not sure what to do next.

Martin, any chance of some help on this?

In reply to Lael ...

Re: WebDAV for Moodledata

by Lael ... -
To follow up on this,

It actually IS working - though the permission is still not there. I can connect remotely from another (XP) machine. The webdav(moodle) server is running from apache on Vista, and cannot connect to itself (ironic?, or normal?).

Webfolders on XP seem to work fine, without display names, using the suggested msadaip.dll file. ...but that is a minor issue b/c the webfolder link can be given the course name.

Interestingly - when I click on the link on the server (vista) and it says it fails, and then shows me the 'default' view - ie: a directory listing of folders, it has substituted display names for the folder numbers (ie: coursenames).

I saw webdav was talked about in the April developer meeting for a 1.9 point release? Any word on when that 'might' be? Can't come soon enough! :D

Lael


In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Lael ... -
HI, using CVS here to pull updates.
Was trying to work out the updated files -but there are a bunch of version info headers that have been added to the files in cvs (compared to the moodle copy I downloaded from git)...

how do I work out which files are actually different / changed / needed?

Any chance there is a nice & easy list?

- noticed the local and webdav folders...

apart from that? ( I don't really want to have to open and go through every file to find that say... only four contain more substantive differences than just the version info...)

anyone know?
Thanks a bunch

Lael
In reply to Lael ...

Re: WebDAV for Moodledata

by Sven Laudel -
Can i find the webdav functionality now in version 1.9 or do i still need to pull it from git? I pulled latest from cvs, but didn't find it. Maybe i looked for it at the wrong places?

Is it possible to port it back to version 1.8.x simply? Or is it using to much stuff from 1.9?

Thanks
Sven
In reply to Sven Laudel

Re: WebDAV for Moodledata

by Martín Langhoff -
It will be a lot of work to port it to 1.8, but not impossible. It won't be in 1.9, though it might appear in a later 1.9.2 or 1.9.3. For now, grab it from GIT wink

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Matt Gibson -
Can I grab a folder from GIT that I can drop in to my CVS folder with 1.9+ in? I'd like to try this out in production, but don't want to lose the CVS updates.
In reply to Matt Gibson

Re: WebDAV for Moodledata

by Lael ... -
I've been wondering the same thing - the local and webdav folders are a part of it - but they are contingent on other files as well. I haven't been able to go through and figure out each of required files. Without the rest of the package, the links for the webdav share don't appear in admin settings, or in the course files pages... perhaps that is a clue to their location within the folder structure. In a previous post Martin mentioned needing a chunk(s) of code to land in (from memory) forms.lib or something like that. - so I am guessing you would need to find that too.

I've tried what you suggest, and also copying the git package back over CVS updates... which works smile but throws errors complaining about trying to downgrade modules.

... if you work it out, or if anyone else knows which files are required - I would also love to know smile
In reply to Lael ...

Re: WebDAV for Moodledata

by Lael ... -

ok - here is what I did to get it working on my current (updated) install.

Backup your current moodle folder. Replace your current moodle folder with the webdav one from git. It will complain about not 'downgrading'... but it is fine. Go to the Site Admin block and setup the server>>webdav settings you want/need. Note the names of the settings in the database so you can change it later if you want.

Replace the webdav copy of moodle with the backup. Copy over moodle/files/index.php (files link from the course admin block) and moodle/lang/en_utf8/moodle.php and admin.php (lang strings to make webdav links look nice) from the webdav version of moodle. The 'moodle/local' and 'moodle/webdav' folders should still be in your production copy.

I am guessing that you can just copy these relevant files across and edit the entries in the database: table: mdltableprefix_config

webdavallowfilemanagers
webdavenable
webdavroot
webdavsessttl
webdavsubnet

rather than copying the whole folder across - but it worked for me.

hope this helps someone else smile


edit: the thing I still don't know is about the ghost permission that is not in my database - is it ok to just add it in? anyone know what context etc it should have? (in capabilities table)
In reply to Matt Gibson

Re: WebDAV for Moodledata

by Dan Poltawski -
Hi Matt,

I met with Martín at the weekend and dicussed this. Unfortunately hes not really had much time to look at it recently, but I'm using this in production and created a patch a while ago which is in MDL-90. It should apply cleanly to 1.9 (though I haven't applied it recently).
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Matt Gibson -
Thanks Dan.

I did see your patch, but held off applying it as I'm on Windows and haven't found an effective free tool for patching yet. Might have another root around and see how I get on.
In reply to Matt Gibson

Re: WebDAV for Moodledata

by Iñaki Arenaza -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

I have successfully applied patches in the past on Windows by using the Win32 port of the gnu patch tool.

It chockes on patch files with Unix end of line convention by default. You can either open then in wordpad and save them in MS-DOS format (works 100% of the time) or use the '--binary' option (works 99'9% of the time).

Saludos. Iñaki.

In reply to Iñaki Arenaza

Re: WebDAV for Moodledata

by Matt Gibson -
Ah-ha!

Thanks for the reminder - I remember now that I tried to download gnu patch for windows before but the sourceforge page wasn't responding, so after wasting time with cygwin for a while, I gave up. Off to give it a go now...
In reply to Iñaki Arenaza

Re: WebDAV for Moodledata

by Matt Gibson -
I'm trying to get this to work in school now, but my network admin says that he's not sure how to add it as a shared drive for all the domain users. Any ideas?
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Is WebDAV actually any use? Most of my experience with it has been fairly negative - horribly unreliable. I'm quite prepared to accept that it might just be me or failure to find a reliable client.

Is there any route to use a rock solid technology like ssl? Anyway it's certainly interesting stuff as file sizes aren't getting any smaller.
In reply to Howard Miller

Re: WebDAV for Moodledata

by Paul Holden -
Picture of Core developers Picture of Moodle HQ Picture of Moodle Workplace team Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers Picture of Testers
Is WebDAV actually any use?

Teachers certainly find it easier when they can drag-and-drop an entire folder structure of course content into their Moodle course, using Dreamweaver or even just Windows Explorer, right from their desktop - rather than uploading each file 1 by 1 through the Moodle interface smile

This'll be great once it's in core, good stuff Martin.
In reply to Paul Holden

Re: WebDAV for Moodledata

by Howard Miller -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Well I can't agree more that anything to make the file upload screens a bit easier can't be a bad thing. It's the one thing that makes users glaze over when you explain it to them - "it only take 50 clicks to get a file uploaded!!"
In reply to Howard Miller

Re: WebDAV for Moodledata

by Martín Langhoff -
There's a bit of confusion here. WebDAV is an HTTP extension, so you can use it _with_ SSL-tunnelled HTTP (aka HTTPS). But SSL cannot replace WebDAV.

It is a fairly solid bit of tech if you consider its goals. It's the best thing if you want to be able to "mount" ("connect to a network drive" in Windows parlance) something that may or may not be a disk, but lookslike one, and is somewhere on the wild and wooly Internet.

It's not super-fast, and if your internet connection is bad you'll suffer. Some implementations are dodgy, and can freeze

The good part is that on Windows and OSX you can just "connect" to it, and it turns up as a drive. Move files, delete files, copy files to it, it all works nicely. You also have to know what to avoid -- I wouldn't try to edit the files directly in there -- if your editing app (text editor, MSWord, Photoshop, etc) want to make temp files in the same directory, and expect those to be fast and reliable, there'll be tears. The smallest network glitch will hang your app until it times out. The OS might be able to paper over a bit of bad connectivity, but I like my life easy, so I'd copy it to a "local" directory, edit it there, and copy it back.

OTOH, if you are doing this on a LAN and it's reliable, editing in place might just work, specially with smaller files. Very large files will still be a pain, probably.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martín Langhoff -

Pushed out more updates

  • We use moodle's own mimeinfo() function
  • Now there's a capability defined, and Course Creators get it by default (admins have it via "doanything" anyway).
  • The $CFG configurable options are settable via Admin->Server
  • Session TTL is configurable too

And I've done a bit of testing with different clients. One bit of excellent news is that clients can (and do) chuck large file transfers, so my earlier misgivings about managing large files via WebDAV. I have managed to transfer several 700MB files from Windows and Linux (using davfs2) with my Apache/PHP processes stable at 24MB memory usage. I am impressed with the clients.

Windows Server 2003

works great, and it (suprisingly) works well with non-ASCII characters. I can create, access and move around a file called Martín ;) It supports Displayname so it will show the course shortname. The only issue is that it sometimes gets confused around new directories and deleted files. Pressing F5 (refresh) fixed it for me every time.

This page has been extremely useful http://www.greenbytes.de/tech/webdav/webfolder-client-list.html - and if anyone is having compat issues it should be the first stop. My MSDAIPP.DLL is 11.0.5510.0

Linux w DAVFS2

On linux the best support is from davfs2, which works great. It supports displaynames (but it's disabled by default - edit your /etc/davfs config files). A few things don't quite work:

  • It cannot see files with high utf-8 (non-ascii) chars
  • Some commandline tricks don't work and crash the webdav client daemon - trying "echo 1 > foo" triggers this problem

Linux w Gnome VFS (Nautilus)

Works, does not support displaynames. The quality is patchy - I managed to crash my Nautilus session a few times, and Matt crashed it testing with large files.

CaDAVer

This is a commandline client that works on Windows, Linux, OSX and other OSs. It worked almost perfectly, but

  • it does not support displaynames
  • it can't see files with high utf-8 (non-ascii) chars

Litmus test

The litmus test report (attached) is fairly good. It's not perfect as we break the spec in a few places for two good reasons:

  • We cleanup filenames (rules are the same as when using the file upload form). Litmus tries several tests with filenames that have funny characters - some fail.
  • We refuse to store arbitrary properties. WebDAV allows clients to store any arbitrary metadata along with the file -- this has no meaning for Moodle, so we don't support it. We do have (and provide) standard properties (MIME type, size, etc) but do not allow the client to set any of those.

You can't run the litmus test against the root of moodledata, as it has all sorts of restrictions. Instead, give it the path to a course directory.

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Dan Poltawski -
I've been testing to try and get some sense out of windows.

With XP & IE6, it just seems to work, nicely with no issues.

With Vista i'm having problems, it won't connect using all the web folder methods, it doesn't even initiate a connection to the server (frm server side). However show the page through a web browser and it'll get there fine.

I haven't had wireshark out yet on the client.

If there are any other good windows alternatives i'd be interested to hear them! (Dave: netdrive appears to no longer exist on noivell website )
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Dan Poltawski -
Oh, just another minor point

lib/pear/System.php has:
require_once 'Console/Getopt.php';

which isn't included in the git repo
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -
Well, it seems like Getopt is in HEAD already, so it's not worthwhile to trim System to remove the need for Getopt, specially since we actually end up using Getopt.

So I've added it to the branch to make it easier wink
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by David Berry -
Hi Dan

Found a copy here but if you don't want to risk it I can send you a copy tomorrow.

Dave
In reply to David Berry

Re: WebDAV for Moodledata

by Dan Poltawski -
Didn't seem to play nicely with vista (eh, whats new).

Its a real shame the windows client is hit and miss (and there doesn't appear to be one solid alternative). With windows testing i've had everything from nothing at all, to full glory support to working but without displayname.
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -

With Vista

I thought with Vista and Server 2003 you connect from "My Network Places" rather than via the Web Folders UI. It definitely worked for me with Server 2003 wink

In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Geoff King -
Microsoft seem to have recurring problems supporting WebDAV correctly. sad I've been fighting them twice now. W2k was broken then fixed. XP was broken, now fixed, and now it sees Vista is broken. sad

I think there are some unreleased fixes for WebDAV in Vista SP1. So if your willing to wait until patch Tuesday in March and try then you've got more hope of it working right.

However, if not, I wonder if some of the old tricks for XP WebDAV will work on Vista? Here's a site with the details.

http://ulihansen.kicks-ass.net/aero/webdav/
In reply to Geoff King

Re: WebDAV for Moodledata

by Martín Langhoff -
Geoff, that site is great! It points to an apache module that seems to "fix" some Windows-client weirdness, by accepting mangled usernames. If this is happening in the field (can anyone repro the problem?) I'd be happy to add a similar workaround to Moodle's webdav.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Geoff King -
Glad I could help. smile
In reply to Geoff King

Re: WebDAV for Moodledata

by joe mc-h -

Hi

We are trying to get the WebDav working.. My problem is...

When I follow the weblink in site files I get a completely blank web page. If I try to create a web folder I get a "The folder you have selected does not appaer to be valid" error msg.  I have applied the MS patches and have always been able to conect to sharepoint document libaries as web folders (not sure if they work in the exactly the same way).

I am using windowsXP, moodle is installed on a vanilla ubuntu7.10 that .. the web adress of the webdav access is

http://peanut.godalming.ac.uk/moodle/webdav/moodledata-server.php/
our ISA server is currently set to only allow access within the LAN.
Can anyone spot where we are going wrong??
TNA
Joe
In reply to joe mc-h

Re: WebDAV for Moodledata

by Martín Langhoff -
Joe -

can you enable full "developer" mode debug, and then look at the error_log to see what errors are reported. Sounds like it's either missing tables or perhaps a missing expat extension? Probably admin>environment will mention if you have expat. The phpinfo page definitely will.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by joe mc-h -

Not entirely sure what I'm looking for so here is the phpinfo page.. Everything looks fine in the environment page.

 

 

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by joe mc-h -
Here are the logs with the developer mode info
In reply to joe mc-h

Re: WebDAV for Moodledata

by Martín Langhoff -
Makes sense - as it says, you'll need to disable the php setting magic_quotes_gpc. Usually controlled from php.ini or from your apache config.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by joe mc-h -

Wonderful!

the magicquotes are disabled and we are now in business...

If I connect to a web folder using winXP everything seems to work except for the nice displaynames (we just get 1,2etc. as folder names )

If I click on the weblink.....

then I just get a "Index of /var/lib/moodle/" webpage  but the displaynames are working.

I will test on a couple of other systems to see if it is just a client problem

thanks

Joe

In reply to joe mc-h

Re: WebDAV for Moodledata

by joe mc-h -
Tested using ubuntu "connect to server" and firefox and get the same results as above...
In reply to joe mc-h

Re: WebDAV for Moodledata

by Martín Langhoff -
In ubuntu, try using DAVFS2 - it will do Displaynames nicely. Though admittedly is hard to setup.

It is rumoured that the next version of Gnome - which will be in hardy heron - will have support for displaynames, thanks to a new "GIO" infrastructure.
In reply to joe mc-h

Re: WebDAV for Moodledata

by Martín Langhoff -
Cool. Most versions of windows should be able to use nice displaynames. There's a link earlier in this thread to a table that shows the versions of the DLL that controls this.
In reply to Martín Langhoff

Re: WebDAV for Moodledata - on KDE too

by Martín Langhoff -

KDE's KIO for WebDAV on Ubuntu seems to work:

  • Menu: Go>System -> Remote Places -> Add a Network Folder
  • Select WebDAV (it's the default) and complete the form. Name is a nice name for you to remember the share. The only odd thing is that you must split the hostname from the rest of the path. The trailing slash is still important smile
  • Displaynames don't work mixed
  • Copying and moving files within the webdav share is ok. Copying files from the local disk to the WebDAV share errors out before it even talks to the WebDAV server - I think Konqueror is getting confused and doesn't quite know what we are trying to do.

Along the way I've also fixed a small bug - so grab the latest if you are testing... wink

In reply to Martín Langhoff

Re: WebDAV for Moodledata - on KDE too

by Nadav Kavalerchik -
Picture of Core developers Picture of Plugin developers Picture of Testers Picture of Translators
i would like to confirm the above post that:
konqueror (and dolphin) on kde 4.1 has webdav access
working (almost fine) with moodle 1.9.2 + webdav 1.9 patch from git.

i can not upload files. BUT i can move files around and make new folders too smile

i changed the /files/index.php a little :
632: $webdavurl = 'webdav://our-web-site/moodle/webdav/moodledata-server.php/';

and...

647: <a href=\"{$webdavurl}{$course->id}/\" >

now it works better ! ( does not show a list of files in an html page )
In reply to Martín Langhoff

Re: WebDAV for Moodledata - ready!

by Martín Langhoff -

Turns out that OSX doesn't like to play with you in read/write mode unless you implement locks properly.

So I've rolled up my sleeves and implemented locks support. This requires a new DB table, so I've split the work in 2 branches:

  • on mdl19-webdav the table is created from local/db so it doesn't get in the way of future upgrades
  • on mdl19-webdav-forhead the table is created from lib/db -- these are the patches I'll merge into CVS HEAD once we are done

The litmus report is attached - it says:

summary for `locks': of 26 tests run: 26 passed, 0 failed. 100.0%

wink

Edit:

I think this is mostly ready for merging into HEAD if we want it. And even 19_STABLE too after the release -- we could plan to merge it into 1.9.1 for example without the webdav locks table. Without that table OSX users get a readonly webdav mount -- that's the only visible limitation.

In reply to Martín Langhoff

Re: WebDAV for Moodledata - ready!

by Séverin Terrier -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Hi,

thanks for this work Martin smile

I really think that, if ready and functionnal, it would better be in 1.9.1 than waiting one more year for 2.0...

It could be in the experimental features, the time for a lot of people, waiting for it for a long time, to test it, and validate everything is OK wink

Séverin
In reply to Martín Langhoff

WebDAV for Multiple Modledata vhosts

by Dan Poltawski -
Hey Martín,

I was playing more with the WebDAV stuff today and i think it'd be useful if you introduced $CFG->webdavroot (or something) for the path for the webdav server to be specified. (e.g. http://my.server/webdav/moodledata-server.php ). Let me explain a bit:

The problem:
We have hundreds of vhosts (which are disparate organisations) and care very much about users transmitting their authentication details across the web (and thus enforce https for auth points). Due to the number of vhosts its not feasible for us to set a certificate [ip address] for each vhost as the present time.

To get round this issue we setup single sign-in points which have good https certificates, users don't get warnings and everyone is happy.

Unfortunately it (looks to me) like we can't separate out our authentication to take place at this login location for our webdav potential action.

My solution:
Have a single 'webdav' entry point (with the vhost specified as a param). Users details are transmitted securely to this location and we're all happy.

Unfortunately, this requires some sick and twisted jiggery pokery with SERVER varaibles, but I hacked up a quick ugly proof of concept (patch attached).

Users would browse to their secure webdav location as:
https://secure.webdav/webdav/moodledata-server.php/moodle.org/
https://secure.webdav/webdav/moodledata-server.php/demo.moodle.org/
(This assumes all vhosts are served from the same place)

And browse from there. But this requires the moodledata server to be able to be specified separately from the wwwroot


In reply to Dan Poltawski

Re: WebDAV for Multiple Modledata vhosts

by Martín Langhoff -
Dan,

if I understand it right, you are probably also using a hacked login process, either passing an auth token around after the https login or with an explicitly short cookiedomain + different values for moodlecookie.

Hmmmm.... I like the kind of trickery and magic you are using, but I tend to keep it separate from the vanilla Moodle for the wider public. I think it is quite ad-hoc, and not very supportable.

Does it hurt to keep it as a patch? wink
In reply to Martín Langhoff

Re: WebDAV for Multiple Modledata vhosts

by Dan Poltawski -
You're right, we pass a token after the https login process.

Does it hurt to keep it as a patch?

Nope, not at all - although in case it wasn't clear, I wasn't advocating putting anything like that in core!

Just the ability to control the wedav server url used in the MoodleData class - I can see a use for changing that, if nothing else but to provide a more memorable url?


In reply to Dan Poltawski

Re: WebDAV for Multiple Modledata vhosts

by Martín Langhoff -
Sorry -- I misread, you only want me to split things to an optional $CFG->webdavroot. I'll happily take a patch for that wink
In reply to Martín Langhoff

Re: WebDAV for Multiple Modledata vhosts

by Martín Langhoff -
Actually - have a patch implementing exactly this, and a few other improvements. Can't push it to the repo from the network I'm in sad -- maybe tonight I can push them out.

Grumble frumble firewalls...
In reply to Martín Langhoff

Re: WebDAV for Multiple Modledata vhosts

by Martín Langhoff -
Pushed out, implements webdavroot and webdavallowfilemanagers which is much handier than having to fiddle with roles.

Dan, can you check if the webdavroot works for you? Also - have you got any windows machine that tries to do the ugly "prepend your NTLM domain and a backslash to your username without asking" thing?

What does it look like when the username gets to Moodle? I'm tempted to s/^.+\\// (aka "replace any backslash and all the characters before it with nothing").

That would remove the last annoyance with Windows clients -- at least from the annoyances we can control on the server side wink
In reply to Dan Poltawski

Re: WebDAV for Multiple Modledata vhosts

by Geoff King -
We have hundreds of vhosts (which are disparate organisations) and care very much about users transmitting their authentication details across the web (and thus enforce https for auth points). Due to the number of vhosts its not feasible for us to set a certificate [ip address] for each vhost as the present time.

Have you considered using a wildcard ssl certificate? They are designed to solve exactly this sort of problem. Assuming of course your websites are subdomains of the same higher level domain.

http://www.verisign.com/ssl/wildcard-ssl-certificates.html
In reply to Geoff King

Re: WebDAV for Multiple Modledata vhosts

by Dan Poltawski -
Yes but unfortunately I believe they only work reliably to a single level up (e.g. *.domain.com) and not multiple levels (e.g. *.*.domain.com).

We require multiple levels (since its service.organisation.ourbasedomain.com ).
In reply to Dan Poltawski

Re: WebDAV for Multiple Modledata vhosts

by Martín Langhoff -
Redirect from service.organisation.ourbasedomain.com to service-organisation.ourbasedomain.com?
In reply to Dan Poltawski

Re: WebDAV for Multiple Modledata vhosts

by Geoff King -
Yes but unfortunately I believe they only work reliably to a single level up (e.g. *.domain.com) and not multiple levels (e.g. *.*.domain.com).

Which browser(s) did you try that with? I know IE6 had problems in the past with multiple level domains using a wild card SSL but last time I checked it was working properly. Firefox2/Opera/IE7/Safari all behave.
In reply to Geoff King

Re: WebDAV for Multiple Modledata vhosts

by Dan Poltawski -
I can't recall i'm afraid. But if it were to only be IE6 then that would be enough to stop us. (Arguably those users still on IE6 are the most likely to be concerned with certificate warnings).

Its a bit frustrating as we don't need bank style guarantees of certificate verification, we aren't doing financial transactions, we just want to stop users sending passwords in the clear. But in trying to achieve that (say will a self-signed cert), users think the site is less secure then if they'd sent their password in the clear without a warning.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martín Langhoff -

Just pushed out a couple of updates that make life more pleasant for those on Windows machines:

  • Implemented the nicer weblink with the "folder" and "style" thingies. Works very well on the Windows 2003 Server machine I have access too - (but this one also handles "displayname" very nicely anyway).

  • Windows clients that are part of a domain sometimes try to send DOMAINNAME\username instead of just the username. If that happens, we ignore the DOMAINNAME\ part.

... and I think we are done. Anyone testing this?

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by joe mc-h -

This solution is working well for us when we access it from within our LAN but we are having problems accessing from off-site.

The moodle installation is working without probalem but when we click on the link to the webDAV folder it returns a "page cannot be displayed error" (specifically a 403 error).

At first we assumed that it was a problem with a Firewall or our Microsoft ISA server, although this is looking less likely, is there any webDAV configuration or other setup that might cause this specific error?

I'm sure it isn't anything to do with Dll's as I am testing the using the same laptop on and off the LAN.

Hope someone out there has solved this one before

Joe

In reply to joe mc-h

Re: WebDAV for Moodledata

by Martín Langhoff -
Two things that could be causing this:

* Access from outside the LAN has been blocked with the 'webdavnetmask' option in admin>server>webdav
* A proxy (even a transparent proxy running at your ISP) that doesn't quite grok WebDAV

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Martín Langhoff -
Super - as of now and thanks to MartinD all the bits needed are in 1.9 so that it will be easy to add the webdav directory, add some settings in config.php and use it.

If the code works well, we might add all the nice admin ui bits for 1.9.1 or 1.9.2. Yummy.

And there's a funny thing too -- this is the oldest bug I ever worked on: MDL-90 -- cool
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Séverin Terrier -
Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Testers Picture of Translators
Good news smile

Since 2003, MartinD said it would be for 2.0, he was right smile

And perhaps before, in 1.9.1 or 1.9.2 wink
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Pieterjan Heyse -
I just installed from your .tgz snapshot found in this thread. All is nice and shiny. I added a tiny piece to the docs.

Just a small question. I tried Novell netdrive (4.1) and the native windows client and both do not show me the "friendly" names.

Are there any clients for Windows that do show this friendly name anyone knows of?
In reply to Pieterjan Heyse

Re: WebDAV for Moodledata

by Martín Langhoff -
The native windows client will... but that depends on the versions. Read a bit earlier in this thread, I posted a link to a page that explains the exact DLL version that matters, and you can try getting a newer (or older?) version.
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Pieterjan Heyse -
I checked http://www.greenbytes.de/tech/webdav/webfolder-client-list.html
and am currently using version 12.0.4518.1014.

This should mean that everything is supported, using the "web folders". I did not try to map a drive letter to the webdav folder, because of all the problems involved with it (I count 3 in XP, Vista should be better supported, but I dit not test it yet).

But, when I follow the (hopefully correct) procedure described here: http://www.webdavsystem.com/server/access/windows
the displaynames are not shown. So I am thinking that either I am doing something wrong, or the document in the first link is not 100% correct (it does not show any issues with the version of my .dll)
In reply to Pieterjan Heyse

Re: WebDAV for Moodledata

by joe mc-h -

the version you need is 11.0.5510.0

when I used the 12.xx version I lost displaynames. The file is too big to post here as an attachment. You can still find this version on the web for ease I have emailed it to you to see if it fixes your issues

Joe

In reply to Martín Langhoff

Access control ?

by Jérôme Charaoui -
I've just set up the webdav-applyto19.patch from the Tracker on Moodle 1.9.1 and it seems to be working great. Using Webfolders on XP and Nautilus on Ubuntu works fine, except for cases where the displayname isn't supported by the client.

I've enabled webdav access for editing teachers, this works fine too, teacher accounts are able to access, upload and generally manage the files in their course. However, there's one big problem : teachers have read-only access to all other courses in the system. In our case this is kills webdav access right there : virtually no one will accept having their course's files exposed to other teachers, even in read-only.

So basically I'd like to know if there's any way I can have the webdav feature expose only those folders/courses in which the user connected is a participant/has write access.
In reply to Jérôme Charaoui

Re: Access control ?

by Jérôme Charaoui -
I found out why teachers had read-only access to other courses : it was a permission problem!

However, for newly created courses (either manually of via database), the course isn't immediately visible in WebDAV when the course is created. For some reason the teacher has to simply visit the Files section once, and then the course shows up in WebDAV.
In reply to Jérôme Charaoui

Re: Access control ?

by Martín Langhoff -
Ah, the course dir has to be created first. I tested early on that my code was creating the dir, but perhaps it's not for some reason...?
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Steve Audus -

This maybe unrelated, as this is first time I have found webdav working with Moodle.

At present we do not have webdav installed on our moodle,
but that may not be the issue.

We have Sharepoint, and have just started using webdav (network places), but we have run into this error, when using it with Moodle.

When we upload a document into moodle from our sharepoint server through our network places, it appear to upload the document but it messing up the file name and file type making the file unusable.

Example:
I select "Adding a new Resource"
I select "Choose or Upload File" then upload file
I browse to network places then a file at this location

https://portal.chaucer.sheffield.sch.uk/sites/geography/Picture Library/Coasts/swash.jpg

It appears in the form field as
C:\Documents and Settings\staff1\Local Settings\Temporary Internet Files\Content.IE5\D84SRM6X\Swash[1]

It uploads it, but names it

" Swash_1_"

And the file must be renamed with the correct file extension to to swash.jpg

Any suggestions?

Is it because Webdav is not installed on Moodle?

Thank for any help.

Steve Audus
Chuacer BEC

www.chaucer.sheffield.sch.uk

In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Rosario Carcò -
Dear all,

I have been following this thread for more than a year now, and was expecting, that WebDav would be integrated in Moodle 1.9x

Now I see, that you have still to gather all the necessary server components on your own. That's ok for me, but could someone put it all together in a mini how-to or simple check-list like this, only to see all needed components and configuration steps/options at a glance:

  • apache httpd.conf or /etc/apache2/sysconfig.d/loadmodule.conf
    • LoadModule dav_module /usr/lib/apache2/mod_dav.so
      LoadModule dav_fs_module /usr/lib/apache2/mod_dav_fs.so
    • What about authentication modules like:
      • LoadModule auth_digest_module /usr/lib/apache2/mod_auth_digest.so
      • LoadModule auth_basic_module /usr/lib/apache2/mod_auth_basic.so
    • or do we authenticate directly with Moodle's built ins?
  • Moodle Tracker Patches, which ones? and in which order? there are several here:
  • This one helps to understand the client issues: http://docs.moodle.org/en/WebDAV_Connect
  • This one should help to setup correctly but actually does not: http://docs.moodle.org/en/WebDAV_Setup
    • As others already mentioned, this one is not present in 1.9.4: In Admin->Server->WebDAV Set webdavenable to Yes
    • This role mentioned there is not in 1.9.4: The 'moodle/site:webdav' capability controls who can connect
  • what else?
    • Does the Moodle-WebDav Patch Code change any directory names from course ID numbers to course short names or does it look up the short name and pass it to the WebDav client for displaying only?
    • Should we install only on our Moodle-Test-Servers or is everything ready for a running production system?
I really appreciate all the work done and would like to test WebDav. Rosario
Average of ratings: Useful (1)
In reply to Rosario Carcò

Re: WebDAV for Moodledata

by Sharmilee T -

Hi Rosario Carcò,

I am looking for the same set of information as you have stated in your post. I was just wondering if you have been successful in gathering the info?

To everybody else who could help,

I am having problems running the patch webdav-applyto19.patch. I would be very grateful if any info could be provided.

Setup Info:
OS: Windows Svr 2003
Web Svr: IIS 6
Moodle: 1.9.2+

In reply to Rosario Carcò

Re: WebDAV for Moodledata

by Martin Dougiamas -
Picture of Core developers Picture of Documentation writers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Plugin developers Picture of Testers
I would also like to see this information organised properly. Is anyone even using WebDAV properly?
In reply to Martin Dougiamas

Re: WebDAV for Moodledata

by Martín Langhoff -
A few Catalyst clients are using WebDAV successfully, or where when I last knew smile

The latest patch for 1.9.x is here. It applies to an oldish 1.9.3+ but I am sure it will work on current 1.9.4+.

In reply to Martin Dougiamas

Re: WebDAV for Moodledata

by Dan Poltawski -
We are using it in production with Martín's patches - this is the only non-moodle interface way which our users can upload content.

Seems to work apart from poor client support, and get reports of it choking on huge files.
In reply to Dan Poltawski

Re: WebDAV for Moodledata

by Martín Langhoff -
> reports of it choking on huge files

Interesting. I definitely tested it with 700MB files and saw no problem.

The pipe might choke. Moodledata on NFS might barf. But neither PHP nor Apache took significant amounts of RAM or CPU when I did it. Have you seen it happen? More diagnostics info?

...it may have to do with the client being smart WRT doing a "chunked" transfer? Not HTTP "chunked encoding". ISTR WebDAV has a way to break the transfer down to chunks somehow...

Otherwise, it might be a problem with some Apache/PHP versions.

But it's all speculation until we have more info smile
In reply to Martín Langhoff

Re: WebDAV for Moodledata

by Dan Poltawski -

But it's all speculation until we have more info

Sorry, its been a long time since this came up, and we didn't go very far into the diagnostics because allowing big file uploads just moved the problem around (e.g. scorm sucks with massive packages, or the unzip of 2GB file times out etc..). In most cases its better to try and 'fix the content'.

FWIW the platform was Debian stable with NFS added into the mix.

One particular thing to note is that the vista really seems to work inconsistently, we get lots of complaints about it. Somebody really needs to write a good open source webdav client for windows..

In reply to Martin Dougiamas

Re: WebDAV for Moodledata

by joe mc-h -

Hi Martin,

Godalming College is using the Catalyst WebDav implementaion for our day to day management of our moodle files.

It works as a very stable solution for us, although we probally don't work with huge files (>100mb) very often.

We just use internet explorer as the client.

Joe