Closed Bug 212342 (webdav) Opened 21 years ago Closed 8 years ago

WebDAV support in browser (network abstraction layer?)

Categories

(Core :: Networking, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED WONTFIX
mozilla1.9alpha1

People

(Reporter: megabyte, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: helpwanted)

Attachments

(1 file)

It would be nice if Mozilla supported WebDAV like IE and KDE do.  This means the
ability to upload files from the browser (for sites using this instead of FTP
for security), not just composer.  A network abstraction layer might be
appropriate since three applications want to use it (composer, calendar, and
browser).  There are plenty of other applications as well.
*** Bug 212341 has been marked as a duplicate of this bug. ***
Target Milestone: --- → Future
Blocks: 13383
i very much agree.  i think this should be included asap.  i dont like the fact
that konqueror has such powerful features like webdav and mozilla doesnt ;-)
I've been working on a webdav library in JS.  The DAV methods that extend 
HTTP (PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, etc.) aren't all that 
complicated on the client side.  If you have good HTTP support, and a parser 
that can dive around inside namespaced XML pretty easily, then it's mostly a 
matter of reading the (well-written) spec and thinking about your 
implementation approach.

But there's the rub.  There are several ways this could be approached in 
Mozilla.  You could take the approach done by xml-rpc, and have a 
component that you created an instance of and operate with.  You could 
also model the server-side state as a client-side RDF datasource, mapping 
assertions to PROPPATCH requests.  But this requires an RDF Zen level 
that I'm not up to.
Changing some metadata for this bug.

This bug should be part of Firefox's future strategy.  WebDAV is heating up.  

If WebDAV was supported by the browser, it would influence many corporations. 
Several intranet products have/are introducing the ability to manage assets via
WebDAV.  I've seen one or two already.  Most 'extend' WebDAV on the client side
(offering their own windows software to make use of their additions).  If
Firefox has the architecture to support WebDAV, these products can have their
own FireFox extensions, and reach corporate users who don't want to be locked
into a platform.  

WebDAV is perfered for corporate usage in intranets, because as companies try to
lock down client workstations more (to prevent things like P2P and virus
spreading) with Firewalls, Port 80 always remains... allowing WebDAV to be the
method of choice.  No extra ports to open, it's easy to use, and it's an open
architecture.

This is really a corporate enhancement... though adding support for Apple's
iDisk via WebDAV would be a consumer perk.
Severity: normal → enhancement
Keywords: helpwanted
In my company we are using WebDav to download or upload files through a https
connection between different geographic places. For now, the only solution to
use WebDav is to launch Internet Explorer, and use the « Open as Web Folder »
option.

On some Windows, this options just doesn't work, or is broken. It's very hard to
find reliable WebDav clients on Windows as most vendors assume WebDav is
natively well supported by Windows.

Having a WebDav support in Gecko, independently of Windows WebDav functions,
would really help. Moreover this would help us moving out from Internet Explorer
(this is the only feature which keeps us from letting down IE).
I wait for this with anticipation.  Support for "Digest" authentication in
Windows XP is completely broken, so in effect there is no free usable client for
WebDAV on Windows at all.  If a future Mozilla product would support this
in-client, I think everyone would be happy. :-)
I might as well take this bug, since I'm being paid to work on it now...

Expect a slew of sub-bugs filed to capture APIs and feature work, as well as
interop testing.
Assignee: darin → shaver
It may be wise to investigate what Stellent Content Server does to extend
WebDAV.  They have a signifigant chunk of the content management business, and
use WebDAV with their product.  If we know exactly how they extend WebDAV to
integrate their features, the appropriate API's could be left for them to work
with.  Allowing them to bring full WebDAV support to all platforms, rather than
just Windows (and limited support for others).

I saw their demo once during a training, and it's pretty cool stuff.
Alias: webdav
Status: NEW → ASSIGNED
Target Milestone: Future → mozilla1.9alpha
Blocks: 25694
I checked a bit of code into /extensions/webdav on the trunk (though I've only
actually tested that it builds on the aviary branch, due to a curious fluke in
my devel environment), for people who are curious.  I'm more happy than unhappy
with the interfaces exposed there, though some UTF8/string/nsIWebDAVResource
rationalization needs to happen for sure.

I would like some e4x equivalent for C++ now, thank you.
(In reply to comment #9)
> I checked a bit of code into /extensions/webdav on the trunk (though I've only
> actually tested that it builds on the aviary branch, due to a curious fluke in
> my devel environment), for people who are curious.  I'm more happy than unhappy
> with the interfaces exposed there, though some UTF8/string/nsIWebDAVResource
> rationalization needs to happen for sure.
> 
> I would like some e4x equivalent for C++ now, thank you.

I can't find it.
What's the build's url?

Thanks
I don't think it's built as part of any nightlies, as well it shouldn't be yet.
 It's really not ready for user-consumption, and I made mention of it here only
to encourage developer review of the interfaces and such.
Mostly I live in extensions/webdav, but I found some stuff in protocol/http
that I wanted to fix up (including some warning repairs, etc.).
Comment on attachment 161821 [details] [diff] [review]
Some small additions and cleanups for WebDAV support in HTTP

Looking for some blessings.
Attachment #161821 - Flags: superreview?(darin)
Attachment #161821 - Flags: review?(bzbarsky)
Comment on attachment 161821 [details] [diff] [review]
Some small additions and cleanups for WebDAV support in HTTP

>Index: src/nsHttpChannel.cpp
>         char buf[32];
...
>+        PR_snprintf(buf, sizeof(buf), "id=%x&uri=", mPostID);

Do you need need to make "buf" longer now that you're tossing in these 8 random
chars that you weren't before?

>+        cacheKey.SetLength(0);

cacheKey.Truncate();

sr=bzbarsky with that.
Attachment #161821 - Flags: superreview+
Attachment #161821 - Flags: superreview?(darin)
Attachment #161821 - Flags: review?(darin)
Attachment #161821 - Flags: review?(bzbarsky)
Comment on attachment 161821 [details] [diff] [review]
Some small additions and cleanups for WebDAV support in HTTP

>Index: src/nsHttpChannel.cpp

>         if (!mAllowPipelining || (mLoadFlags & LOAD_INITIAL_DOCUMENT_URI) ||
>             !(mRequestHead.Method() == nsHttp::Get ||
>+              mRequestHead.Method() == nsHttp::Head ||
>+              mRequestHead.Method() == nsHttp::Propfind ||
>+              mRequestHead.Method() == nsHttp::Proppatch)) {

hmm... this is ok, but i wonder if we'd want to make this more extensible
some how.  punt!


> nsHttpChannel::GenerateCacheKey(nsACString &cacheKey)
...
>+    } else {
>+        cacheKey.SetLength(0);

      }
      else
	  cacheKey.Truncate();


yeah, i know it looks funny, but that's how things are indented and
bracketed in this code.


>-        PRUint32 promptReason = (proxyAuth ?
>-                                 nsIAuthPromptProvider::PROMPT_PROXY :
>-                                 nsIAuthPromptProvider::PROMPT_NORMAL);
>+        PRUint32 promptReason;
>+        if (proxyAuth)
>+            promptReason = nsIAuthPromptProvider::PROMPT_PROXY;
>+        else 
>+            promptReason = nsIAuthPromptProvider::PROMPT_NORMAL;

heh... i have this in one of my pending patches too ;-)


r=darin with indentation nit fixed
Attachment #161821 - Flags: review?(darin) → review+
Comment on attachment 161821 [details] [diff] [review]
Some small additions and cleanups for WebDAV support in HTTP

Committed to the trunk, thanks.

(buf is safe; %x can't expand to more than 8 chars, which leaves us more than a
dozen to spare)
Mass abdication.
Assignee: shaver → nobody
Status: ASSIGNED → NEW
QA Contact: benc → networking
what's the webdav support status on April 2010 ?
Target: mozilla1.9alpha1 missed by 'that much' :)
This is still a very useful thing for some people.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: