19.1.3.WebDAV Symbolic Links
Virtuoso supports a special type of WebDAV resources, a redirect reference resource, named WebDAV links. This is to extend the WebDAV service to allow multiple access paths to existing resources.
As with conventional HTTP, the redirect reference simply
responds to the client with an HTTP/1.1 302 (Found) status code,
redirecting the client to a different resource, the target
specified in the redirect resource, using the Location:
header. This behavior is
equivalent to UNIX symbolic links. A redirect reference makes it
possible to access the target resource indirectly through any URI
mapped to the redirect reference resource. The integrity is not
guaranteed for associated redirect reference resources.
WebDAV links do not provide a way to circumvent WebDAV security or virtual directories. The target resource must be directly available to the client being redirected.
WebDAV links are achieved by adding a special WebDAV property,
'redirectref
', whose value
must contain the reference target URL.
WebDAV link targets are not limited to the WebDAV repository, and may target any HTTP accessible resource.
The WebDAV links can be made with DAV API function DAV_PROP_SET()
, or can be done via the
Content Management interface of the Admin
UI. In the admin UI select WebDAV/WebDAV Services/Content
Management and press on the Create
Link button to create a link. In the form choose the
target, permissions, owner and enter the name of the link. Pressing
the Add button will create
the new link in the current WebDAV folder.
Example19.2.WebDAV Links Programmatically
Assuming that we are creating the link as the administrator
using the default WebDAV administrator username and password,
creating a link from /a/b.html
to /c/d/f.html
could be as
follows:
SQL> select DAV_RES_UPLOAD ('/DAV/a/b.html','','','110100000NN', 'dav', 'nobody', 'dav', 'dav'); SQL> DAV_PROP_SET ('/DAV/a/b.html', 'redirectref', '/c/d/f.html', 'dav', 'dav');
The target, '/c/d/f.html
'
could be any HTTP URL. In this case it will be a resource on the
same HTTP server.
See Also: | |
---|---|
DAV Add and Update functions and DAV Manipulation functions . |
WebDAV links behaviour in resource manipulation requests. When some link is moved the target will have the same properties as source, ie. it will be a link. When a copy operation is made the target will have content of the reference i.e. it will be a resource, not a link. Delete operation on link will remove only the redirect reference resource, not the referenced target itself. Content upload requests will change the content of the referenced target.