Forum OpenACS Q&A: File-storage installation failure

Collapse
Posted by C. R. Oldham on
Greetings,

I have a fresh checkout of oacs-5-1.  When installing file-storage, I get the following:

Installing webDAV Support 0.3d

Installing data model for webDAV Support 0.3d...
Loading data model /home/cro/wd/openacs-5/packages/oacs-dav/sql/postgresql/oacs-dav-create.sql...
CREATE TABLE

Installed webDAV Support, version 0.3d.

Package enabled.

Mounted an instance of the package at /webdav-support

Installing File Storage 5.1.0a2

Installing data model for File Storage 5.1.0a2...
Loading data model /home/cro/wd/openacs-5/packages/file-storage/sql/postgresql/file-storage-create.sql...

[create statements appear here]

Installed File Storage, version 5.1.0a2.

Package enabled.HTTP/1.0 500 Internal Server Error Server: AOLserver/4.0 MIME-Version: 1.0 Date: Tue, 06 Apr 2004 21:52:41 GMT Content-Type: text/html Content-Length: 7945 Connection: close

yourdomain Network Admin Your Account Logout 1 user online Welcome, C. R. Oldham
Main Site » Site-Wide Administration Server Error
There was a server error processing your request. We apologize.

Here is a detailed dump of what took place at the time of the error, which may assist a programmer in tracking down the problem:

Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.")

ERROR:  Binding of dav to file_storage_object failed since certain operations are not implemented.
[...remaining error deleted...]

I have the statements in my nsd.tcl file for enabling tdav.  Suggestions on tracking this one down?  I didn't see it on the test servers.

Collapse
Posted by Dave Bauer on
Hmm. Looks like the lock and unlock were not implemented. I have been testing and I hadn't seen that error. I was using the friendly installer that doesn't display the messages,but it was working after it installed.

I added them and it is checked in on the 5.1 branch. Thanks!!

Collapse
Posted by C. R. Oldham on
Thank you, Dave, I can install without error now.

Cadaver is throwing me for a loop though.

$ cadaver http://192.168.63.129:8000/dav/file-storage/
Could not contact server:
404 Not Found

Any suggestions?

Collapse
Posted by Dave Bauer on
Ok.

file-storage is mounted at file-storage?

Check under yoursite/webdav-support/ to make sure the folder is enabled (it should be by default).

Check in the error log to make sure the filters are loaded. Make sure the registered procedures for oacs-dav are loaded.

Make sure you DO NOT install tDAV seperately, it is included in the oacs-dav package.

Make sure you are using the tDAV configuration in the config.tcl included with OpenACS 5.1.

If you are still having a problem, post the tDAV section of your config.tcl file here.

Collapse
Posted by C. R. Oldham on
<blockquote> file-storage is mounted at file-storage?
</blockquote>

Yes.

<blockquote> Check under yoursite/webdav-support/ to make sure the folder is enabled
</blockquote>

It was enabled by default.

<blockquote> Check in the error log to make sure the filters are loaded.
</blockquote>

Notice: OACS-DAV preauth filters loaded on /dav*

<blockquote> Make sure the registered procedures for oacs-dav are loaded.
</blockquote>

I see "loading" and "loaded" messages for oacs-dav-procs.tcl and oacs-dav-init.tcl in the logs.

What else can I check for?

Collapse
Posted by C. R. Oldham on

Here's the DAV section from my nsd.tcl. I made sure that /tmp/openacs-5/data and all subdirectories existed and had 777 perms.

#---------------------------------------------------------------------
#
# WebDAV Support (optional, requires oacs-dav package to be installed
#
#---------------------------------------------------------------------

ns_section ns/server/${server}/tdav
ns_param propdir /tmp/${server}/data/dav/properties
ns_param lockdir /tmp/${server}/data/dav/locks

ns_section ns/server/${server}/tdav/shares
ns_param share1 "OpenACS"
#ns_param share2 "Share 2 description"

ns_section ns/server/${server}/tdav/share/share1
ns_param uri "/*"
# all WebDAV options
ns_param options "OPTIONS COPY GET PUT MOVE DELETE HEAD MKCOL POST PROPFIND PROP
PATCH LOCK UNLOCK"

#ns_section ns/server/${server}/tdav/share/share2
#ns_param uri "/share2/path/*"
# read-only WebDAV options
#ns_param options "OPTIONS COPY GET HEAD MKCOL POST PROPFIND PROPPATCH"
Collapse
Posted by C. R. Oldham on
Greetings,

Dave Bauer caught me on IRC and helped me debug this--it turns out I had a spurious newline in the tDAV configuration in my nsd.tcl.  Now it all works great.  Thanks for your help Dave!