J
Joshua Yeidel
I have a client with a Word document which is a hyperlinked list of
exhibits in a SharePoint document library on the Web. The links point to
files or folders in the SharePoint library. The idea is to click on a
link in the list, and if it is a file, open it in its appropriate
application (e.g., ".doc" in Word). If it is a folder, it should open
in the web browser.
She is able to create the hyperlinked list in Word 2007 (PC, of course),
and it behaves in just this way. When the hyperlinks are clicked, all
the files and folders open as expected.
When the same hyperlinked list is opened on the Macintosh, clicking on a
file hyperlink opens the file as expected. However, clicking on a
folder hyperlink leads to an "Unable to open..." dialog box.
By some assiduous testing, I have determined that hyperlinks to folders
which have a space in the path name on SharePoint fail in this way.
Although SharePoint uses the "URL encoding" of "%20" for spaces, as HTTP
formally requires, Mac Word undoes the encoding and replaces "%20" with
a space when displaying _or activating_ the URL.
This is not harmful in the "selector" part of the URL (everything
between the hostname and the "?" query delimiter). The server is
apparently tolerant of spaces in that part of the URL. However,
SharePoint for reasons of its own includes the path in the query part of
the URL (the part after the "?"). If the query includes spaces,
SharePoint uses "%20"; Mac Word, however, translates "%20" to a space
character, which is NOT tolerated by the server. The request fails.
Note that when I toggle the field code for the hyperlink, it shows the
"%20"'s in the URL correctly. Apparently the substitution is taking
place at click-time. This means that the problem cannot be worked
around by editing the field code. In fact, I haven't found any way to
create a hyperlink to a SharePoint folder that Mac Word will activate
correctly.
I can understand the urge to simplify the _display_ of a URL without the
URL encoding (though I don't agree with it). However, passing space
characters as part of a URL request to an HTTP server is simply an error.
Has anyone else run into this? Does anyone have a workaround (or an
approach to a workaround)?
-- Joshua
exhibits in a SharePoint document library on the Web. The links point to
files or folders in the SharePoint library. The idea is to click on a
link in the list, and if it is a file, open it in its appropriate
application (e.g., ".doc" in Word). If it is a folder, it should open
in the web browser.
She is able to create the hyperlinked list in Word 2007 (PC, of course),
and it behaves in just this way. When the hyperlinks are clicked, all
the files and folders open as expected.
When the same hyperlinked list is opened on the Macintosh, clicking on a
file hyperlink opens the file as expected. However, clicking on a
folder hyperlink leads to an "Unable to open..." dialog box.
By some assiduous testing, I have determined that hyperlinks to folders
which have a space in the path name on SharePoint fail in this way.
Although SharePoint uses the "URL encoding" of "%20" for spaces, as HTTP
formally requires, Mac Word undoes the encoding and replaces "%20" with
a space when displaying _or activating_ the URL.
This is not harmful in the "selector" part of the URL (everything
between the hostname and the "?" query delimiter). The server is
apparently tolerant of spaces in that part of the URL. However,
SharePoint for reasons of its own includes the path in the query part of
the URL (the part after the "?"). If the query includes spaces,
SharePoint uses "%20"; Mac Word, however, translates "%20" to a space
character, which is NOT tolerated by the server. The request fails.
Note that when I toggle the field code for the hyperlink, it shows the
"%20"'s in the URL correctly. Apparently the substitution is taking
place at click-time. This means that the problem cannot be worked
around by editing the field code. In fact, I haven't found any way to
create a hyperlink to a SharePoint folder that Mac Word will activate
correctly.
I can understand the urge to simplify the _display_ of a URL without the
URL encoding (though I don't agree with it). However, passing space
characters as part of a URL request to an HTTP server is simply an error.
Has anyone else run into this? Does anyone have a workaround (or an
approach to a workaround)?
-- Joshua