Virtuoso DAV Extensions
Introduction
DAV Extension Types (DETs), are a means of making collections and resources whose content is computed at run time. A DET is more than a set of dynamic web pages. A DET looks like a collection for purposes of the protocol and DAV APIs; it can be writable through the DAV protocol, it can have search functions plugging it into generic DAV search and so on.
A DET is akin to an entirely generic file-system mount point. The contents shown will be generated on demand by the DET hook functions. The results may reflect arbitrary application data rendered as virtual DAV collections and resources, specially grouped or selected actual DAV resources, resources from the file system or anything else.
The DET is the ideal means of implementing DAV extensions such as Cal DAV. Virtuoso DET's will be available together with the release of the ODrive web file sharing application. Samples and programming guidelines for custom DET's will be available shortly.
The category view is a DET, which takes all DAV resources residing in given tree of collections, and groups these by their content type. The category view has a top level a collection for each content type. Inside each such collection, there is a collection for each metadata property. Inside the metadata collections is the set of distinct values of the metadata attribute. Inside the collection whose name is the metadata value are found all the resources with this attribute having this value.
Filter Collection
This DET can show resources selected within a tree by a combination of search criteria on content, metadata and content type. When a resource is written into such a DET, the metadata corresponding to the selection criteria are set.
Application DETs
The Virtuoso Blog, Mail, News, Wiki and other applications have corresponding DETs which render each user's content managed by the application into a collection in the user's DAV home. This makes all application data URL-accessible and facilitates consolidated searches across all such resources.
The application-specific DETs will be available as the application is released.