RE: WebDAV, URL encoding and current Windows clients

The authoritative reference here is RFC 2396
http://www.ietf.org/rfc/rfc2396.txt
 
According to the BNF productions in Appendix A, the plus character is
perfectly legal within a URI, including HTTP scheme. RFC 2616 explicitly
references RFC 2396.
 
The relevant productions are:
 
URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
 

absoluteURI   = scheme ":" ( hier_part | opaque_part )
 

hier_part     = ( net_path | abs_path ) [ "?" query ]
 

net_path      = "//" authority [ abs_path ]

abs_path      = "/"  path_segments
 
 

path_segments = segment *( "/" segment )

segment       = *pchar *( ";" param )

param         = *pchar

pchar         = unreserved | escaped |

                 ":" | "@" | "&" | "=" | "+" | "$" | ","
 
 
Hope this helps.
 
- Jim


  _____  

From: w3c-dist-auth-request@w3.org [mailto:w3c-dist-auth-request@w3.org] On
Behalf Of Frank Lowney
Sent: Thursday, December 09, 2004 12:29 PM
To: w3c-dist-auth@w3.org
Subject: WebDAV, URL encoding and current Windows clients


I am caught in the middle of a "he said - she said" kind of discussion about
what constitutes a valid URI/URL for WebDAV and am posting here in the hope
of getting an authoritative answer as to which statement is truer: use "+"
or use "%20"  Here's the story:

There is a Learning Management System called WebCT Vista.  It uses an Oracle
DB back end and a java-based webserver called "WebLogic" from a company
called BEA.  The problem at hand is confined to Windows clients.  Mac
clients seems to work as well with this system as they do with Apache and
WebSTAR V,  The way WebCT Vista enables the use of WebDAV is that it
generates a URI that the client copies and pastes into a WebDAV client
application.  Here's an example:

http://vista.gsu.edu:8000/webct/webdav/131.96.160.58-1044482159055-328326100
1.flowney/University+System+of+Georgia/Georgia+College+and+State+University/
Documentation/Vista+3.0+Documentation/Vista+3.0+Dox.01/Section+Content

WebCT Vista puts a "+" char in place of those spaces but this causes Windows
clients to gag and report that "The folder you are trying to access is
invalid" or words to that effect.  Microsoft has published work around
strategies for this (see below the dotted line). This problem manifests
itself only where there are spaces in the path and only with the more recent
Microsoft clients.  Older clients don't seem to be bothered by this.

The engineers at WebCT Inc say that the "+" is kosher citing authorities
such as:


If you look at this page:

http://www.w3.org/International/O-URL-code.html


It provides some java classes that does URI encoding.

When you get the program running and entered a space, you will get a + in
return.


If you take a look at the source code, you can find this comment:


"The space character ' ' is converted into a plus sign '+'."


Others suggest that spaces should be encoded as %20 in order to be valid.

Is this a peculiarity of Java code, an Oracke requirement or just
idiosyncratic for WebCT Inc.  More importantly, which encoding strategy is
more valid, more robust?

Has Microsoft gone and broken WebDAV on Windows? 



------------------ Microsoft on WebDAV Issues ----------------------------
Some more information for anyone troubleshooting Windows WebDAV connections
http://support.microsoft.com/default.aspx?scid=kb;en-us;269681
Error:

You attempt to add a Web folder to the My Network Places folder, but you are
unsuccessful and you receive the following error message:

ˇ§The folder you entered does not appear to be valid ˇ§
Cause:

This behavior may occur if you have a system policy that redirects the
user's Application Data folder and prevents the creation of the Msdaipp
folder that the Web Folders feature uses. The Msdaipp folder is normally
located under the user's Userprofile\Application Data\Microsoft folder.

When you do not use this system policy, the first time you create a Web
folder in the My Network Places folder with the Add Network Place Wizard, a
subdirectory is created. If you set a system policy to change the
Userprofile\Application Data folder to a universal naming convention (UNC)
on a network server, this wizard does not create the Msdaipp folder at the
redirected location and you receive the preceding error message.

Fix as suggested by a Microsoft Online Partner Support rep:

1. Open the UNC path specified Target Location Folder.
2. Ensure that you can view hidden files, and then open the Microsoft
directory.
3. Create a folder called Msdaipp.
4. Check with this issue again.
 
However, if the issue persists, please perform the following steps to create
a new account with the Computer Administrator privilege and see how things
are going on.
 
1) Click Start, and click Control Panel.
2) Double-click "User Accounts".
3) Click the "Create a new account" link.
4) Follow the instruction to create a new account with the Computer
Administrator privilege.
5) Log off the current user account and then log on the new account.
 
Also, please perform the troubleshooting steps in the following article:
287402 ˇ§Troubleshooting Web Foldersˇ¨
http://support.microsoft.com/?id=287402


A)  Replace the + signs with spaces.
e.g.
<http://test.webct.com/webct/webdav/10.1.6.95-1084809904923-2001072000.20010
73000/Domain>
http://test.webct.com/webct/webdav/10.1.6.95-1084809904923-2001072000.200107
3000/Domain Name/Test Instituite
 
B) Sometimes the Web Folder client in Windows could have been changed by
another piece of software (for example, Microsoft Office).  Please consider
following the instructions to restore the WebDAV client to the original one.
 
1.  Find a file called webfldrs.msi (Normally under
WINDOWS\SYSTEM32\webfldrs.msi - if you installed Windows XP Servicepack 1
you will find it under WINDOWS\ServicePackFiles\i386webfldrs.msi).  E.g.
C:\WINNT\system32
2.  Start the installation with double-click or right-click -> webfldrs.msi.
3.  Now you have to click on "Select reinstall mode".
·    Uncheck "Repair all detected reinstall problems".
·    Check "Force all files to be reinstalled, regardless of checksum or
version".
·    Check "Verify that required user registry entries are present".
·    Check "Verify that required machine registry entries are present".
·    Check "Validate shortcuts".
4.  Press OK and REINSTALL
5.  Normally no reboot is required. Now the web folder client should have
been restored as it was shipped.
-- 
=====================================================================
Dr. Frank Lowney  frank.lowney@gcsu.edu
    Director, Electronic Instructional Services, a unit of the
    Office of Information and Instructional Technology,
    Professional Pages: http://www.gcsu.edu/oiit/eis/
    Personal Pages: http://www.faculty.de.gcsu.edu/~flowney
Voice: (478) 445-5260
NOTICE: Please be advised that I am hearing impaired and communicate most
effectively via e-mail.  Follow-up summaries of telephone conversations by
e-mail are most appreciated.
=====================================================================
We don't make instruction effective, we make effective instruction more
accessible.

Received on Thursday, 9 December 2004 20:50:17 UTC