<docbook><section><title>VOSDET</title><title> Virtuoso DAV Extensions</title> Virtuoso DAV Extensions
<bridgehead class="http://www.w3.org/1999/xhtml:h2">What?</bridgehead>
 A mechanism for generating HTTP accessible resources (virtual or physical) from Virtuoso hosted data.
 These resources are available in two content-type forms: hypermedia (e.g.
 Atom, RSS, RDF-JSON, RDF/XML, Turtle, N3, <ulink url="TriX">TriX</ulink>, <ulink url="TriG">TriG</ulink> etc.) and non-hypermedia (iCalendar, vCard, Excel, Word, GIFs, PDFs, PNGs etc.).<para>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.</para>
<para>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.</para>
<para>The DET is the ideal means of implementing DAV extensions such as Cal DAV.
 Virtuoso DET&#39;s are available together with the release of the ODS Briefcase web file sharing application.
 Samples and programming  guidelines for custom DET&#39;s are available too.</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>The category view is a DET, which takes all DAV resources residing in given tree of collections, and groups these by their content type.
</listitem>
<listitem>The category view has a top level a collection for each content type.
<itemizedlist mark="bullet" spacing="compact"><listitem>Inside each such collection, there is a collection for each metadata property.
</listitem>
<listitem>Inside the metadata collections there is the set of distinct values of the metadata attribute.
</listitem>
<listitem>Inside the collection whose name is the metadata value are found all the resources with this attribute having this value.</listitem>
</itemizedlist></listitem>
</itemizedlist><para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Importance?</bridgehead>
 Enables broad range of applications to consume data access and management services provided by Virtuoso across a plethora of platforms.<bridgehead class="http://www.w3.org/1999/xhtml:h2">How?</bridgehead>
 You generate DET based resources via Virtuoso PL based mapping functions.<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3"> Filter Collection</bridgehead>
<para>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.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Application DETs</bridgehead>
<para>The Virtuoso Blog, Mail, News, Wiki and other applications have corresponding DETs which render each user&#39;s content managed by the application into a collection in the user&#39;s DAV home.
 This makes all application data URL-accessible and facilitates consolidated searches across all such resources.</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2">DETs APIs</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VOSDETAPIs">Collection of DETs APIs</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2">Examples:</bridgehead>
<para>Simple code examples for creating the resources types generated as part of ODS installations:</para>
<bridgehead class="http://www.w3.org/1999/xhtml:h3">Upload File DETs</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample1">Business Card (vcf) Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample2">iCalendar (ics)Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample3">Graphic Image (jpg) Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample4">Web Service File (wsdl) Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample5">Bookmark (XBEL) File Example</ulink></listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h3">Applications DETs</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample6">Gallery DETs Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample7">Feed Manager DETs Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample8">Wiki DETs Example</ulink> </listitem>
<listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/OdsBriefcaseManageMetadataExample9">Bookmarks DETs Example</ulink> </listitem>
</itemizedlist></section></docbook>