| |
1 |
1 |
<html> |
| |
2 |
2 |
<head> |
| |
3 |
3 |
<title>OpenACS WebDAV Support</title> |
| |
4 |
4 |
</head> |
| |
5 |
5 |
|
| |
6 |
6 |
<body> |
| |
7 |
7 |
<h2>OpenACS WebDAV Support</h2> |
| |
8 |
8 |
<h3>Introduction</h3> |
| |
9 |
9 |
<p>This package implements a WebDAV interface to the OpenACS |
| |
10 |
10 |
Content Repository. In addition to generic access to content |
| |
11 |
11 |
items, there is a service-contract interface so packages can |
| |
12 |
12 |
define custom handlers for WebDAV methods for objects that belong |
| |
13 |
13 |
to that package. |
| |
14 |
14 |
</p> |
| |
15 |
15 |
<h3>Installation</h3> <p>Install through the APM. If you install |
| |
16 |
16 |
file-storage, WebDAV support is installed automatically. In |
| |
17 |
17 |
addtion you should check the tDAV specific configuration |
| |
18 |
|
parameters to the AOLserver configuration file. |
| |
|
18 |
parameters to the AOLserver configuration file. The default parameters work fine, they will create webdav URLs like <i>yoursite/</i>dav/* |
| |
|
19 |
<p> |
| |
|
20 |
You can visit the /webdav-support/ page to control webdav access on a per-folder basis. Packages that support WebDAV will add folders to this list and an administrator can then activate or deactivate the folders. |
| |
19 |
21 |
</p> |
| |
20 |
22 |
<h3>How |
| |
21 |
23 |
it Works</h3> <p>OpenACS WebDAV Support requires the tDAV |
| |
22 |
24 |
AOLserver module to implement most of the WebDAV protocol. OpenACS |
| |
23 |
25 |
WebDAV Support just provides and interface between tDAV and the |
| |
24 |
26 |
Content Repository |
| |
25 |
27 |
</p> |
| |
26 |
28 |
<p>Each content_type that requires a custom handler much implement |
| |
27 |
29 |
the <code>dav</code> service contract. Each content type should |
| |
28 |
30 |
implement the <code>dav</code> service contract with the implementation name the same as the content_type. This includes operations |
| |
29 |
31 |
for every WebDAV method. Some operations do not make sense for |
| |
30 |
32 |
certian object types. Specifically, content_items, which are |
| |
31 |
33 |
mapped to WebDAV resources, should not perform a MKCOL (make |
| |
32 |
34 |
collection) method. Likewise, a content_folder, or WebDAV |
| |
33 |
35 |
collection, should not allow a PUT method. In addition to the |
| |
34 |
36 |
<code>dav</code> service contract is a helper contract to allow |
| |
35 |
37 |
packages to set the initial content_type for new items created |
| |
36 |
38 |
through WebDAV. Each package should implement the |
| |
37 |
39 |
<code>dav_put_type</code> service contract with the implementation |
| |
38 |
40 |
named the same as the package key.</p> |