]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_dav_lock.xml
ye gods what have I done
[apache] / docs / manual / mod / mod_dav_lock.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <modulesynopsis metafile="mod_dav_lock.xml.meta">
24
25 <name>mod_dav_lock</name>
26 <description>Generic locking module for <module>mod_dav</module></description>
27 <status>Extension</status>
28 <sourcefile>mod_dav_lock.c</sourcefile>
29 <identifier>dav_lock_module</identifier>
30
31 <summary>
32     <p>This module implements a generic locking API which can be used by any
33     backend provider of <module>mod_dav</module>. It <em>requires</em> at least
34     the service of <module>mod_dav</module>. But without a backend provider
35     which makes use of it, it's useless and should not be loaded into the
36     server. A sample backend module which actually utilizes
37     <module>mod_dav_lock</module> is <a href="http://subversion.apache.org/"
38     >mod_dav_svn</a>, the subversion provider module.</p>
39
40     <p>Note that <module>mod_dav_fs</module> does <em>not</em> need this
41     generic locking module, because it uses its own more specialized
42     version.</p>
43
44     <p>In order to make <module>mod_dav_lock</module> functional, you just have
45     to specify the location of the lock database using the <directive
46     module="mod_dav_lock">DavGenericLockDB</directive> directive described
47     below.</p>
48
49     <note><title>Developer's Note</title>
50       <p>In order to retrieve the pointer to the locking provider function, you
51       have to use the <code>ap_lookup_provider</code> API with the arguments
52       <code>dav-lock</code>, <code>generic</code>, and <code>0</code>.</p>
53     </note>
54 </summary>
55 <seealso><module>mod_dav</module></seealso>
56
57 <directivesynopsis>
58 <name>DavGenericLockDB</name>
59 <description>Location of the DAV lock database</description>
60 <syntax>DavGenericLockDB <var>file-path</var></syntax>
61 <contextlist><context>server config</context><context>virtual host</context>
62 <context>directory</context>
63 </contextlist>
64
65 <usage>
66     <p>Use the <directive>DavGenericLockDB</directive> directive to specify
67     the full path to the lock database, excluding an extension. If
68     the path is not absolute, it will be interpreted relative to <directive
69     module="core">ServerRoot</directive>. The implementation of
70     <module>mod_dav_lock</module> uses a SDBM database to track user
71     locks.</p>
72
73     <example><title>Example</title>
74     <highlight language="config">
75       DavGenericLockDB var/DavLock
76       </highlight>
77     </example>
78
79     <p>The directory containing the lock database file must be
80     writable by the <directive module="mod_unixd">User</directive>
81     and <directive module="mod_unixd" >Group</directive> under which
82     Apache is running.  For security reasons, you should create a
83     directory for this purpose rather than changing the permissions on
84     an existing directory.  In the above example, Apache will create
85     files in the <code>var/</code> directory under the <directive
86     module="core">ServerRoot</directive> with the base filename
87     <code>DavLock</code> and an extension added by the server.</p>
88
89 </usage>
90 </directivesynopsis>
91
92 </modulesynopsis>
93