<?xml version="1.0" encoding="ISO-8859-1"?>

<document>

    <properties>
        <author email="pnever@apache.org">Peter Nevermann</author>
        <title>Binding Howto</title>
    </properties>

    <body>
        <section name="Introduction">
            <p>
            Slide supports binding according to draft 2.1 of the <a href="http://webdav.org/bind">WebDAV BIND specification</a>.
            It allows multiple URIs to be mapped to the same resource.
            </p>
        </section>
      
        <section name="Enabling binding">
            <p>
            Enabling binding for a store is simple. It is done by referencing the <i>BindingStore</i> implementation
            through the classname attribute of the store element when configuring the store in Domain.xml:
            <pre>
&lt;store name="mystore" classname="org.apache.slide.store.BindingStore"&gt;
    &lt;nodestore classname=...&gt;
        ...
    &lt;/nodestore&gt;
    ...
&lt;/store&gt;
            </pre>
            <font color="red"><b>IMPORTANT NOTE:</b></font><br/>Under no circumstances the binding configuration of a store should be changed from
            disabled to enabled, or vice-versa, while the store contains data, as no migration of the data will take place!
            </p>
        </section>
        
        <section name="Some parameters (web.xml)">
            <p>
            There exist some servlet init parameters in the webapp deployment descriptor, i.e. <code>WEB-INF/web.xml</code>
            in the webapp directory, which influence the binding behavior of the server at the WebDAV level.
            </p>
            <ul>
            <li>
            <i>extendedAllprop</i><br/> (xpath: <font color="blue"><code>/web-app/servlet/init-param[param-name="extendedAllprop"]</code></font>):<br/>
            According to WebDAV DeltaV, ACL and Binding specifications,
            a DAV:allprop PROPFIND should <b>not</b> return any of the properties defined
            in any of those documents.
            For testing purposes, the specified behaviour can be disabled by 
            setting this parameter "true".
            </li>
            </ul>
            <p>
            </p>
        </section>
    </body>  
</document>

