You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by dc...@apache.org on 2012/12/12 21:33:59 UTC

[24/34] import Couchbase docs

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml b/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
new file mode 100644
index 0000000..714e5b0
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
@@ -0,0 +1,851 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- -*- docbook-xml -*- -->
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-basics">
+
+  <title>CouchDB API</title>
+
+  <para>
+    The CouchDB API is the primary method of interfacing to a CouchDB
+    instance. Requests are made using HTTP and requests are used to
+    request information from the database, store new data, and perform
+    views and formatting of the information stored within the documents.
+  </para>
+
+  <para>
+    Requests to the API can be categorised by the different areas of the
+    CouchDB system that you are accessing, and the HTTP method used to
+    send the request. Different methods imply different operations, for
+    example retrieval of information from the database is typically
+    handled by the <literal>GET</literal> operation, while updates are
+    handled by either a <literal>POST</literal> or
+    <literal>PUT</literal> request. There are some differences between
+    the information that must be supplied for the different methods. For
+    a guide to the basic HTTP methods and request structure, see
+    <xref linkend="couchdb-api-introduction-requests"/>.
+  </para>
+
+  <para>
+    For nearly all operations, the submitted data, and the returned data
+    structure, is defined within a JavaScript Object Notation (JSON)
+    object. Basic information on the content and data types for JSON are
+    provided in <xref linkend="couchdb-api-introduction-json"/>.
+  </para>
+
+  <para>
+    Errors when accessing the CouchDB API are reported using standard
+    HTTP Status Codes. A guide to the generic codes returned by CouchDB
+    are provided in
+    <xref linkend="couchdb-api-introduction-returncodes"/>.
+  </para>
+
+  <para>
+    When accessing specific areas of the CouchDB API, specific
+    information and examples on the HTTP methods and request, JSON
+    structures, and error codes are provided. For a guide to the
+    different areas of the API, see
+    <xref
+    linkend="couchdb-api-overview"/>.
+  </para>
+
+  <section id="couchdb-api-introduction-requests">
+
+    <title>Request Format and Responses</title>
+
+    <para>
+      CouchDB supports the following HTTP request methods:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>GET</literal>
+        </para>
+
+        <para>
+          Request the specified item. As with normal HTTP requests, the
+          format of the URL defines what is returned. With CouchDB this
+          can include static items, database documents, and
+          configuration and statistical information. In most cases the
+          information is returned in the form of a JSON document.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>HEAD</literal>
+        </para>
+
+        <para>
+          The <literal>HEAD</literal> method is used to get the HTTP
+          header of a <literal>GET</literal> request without the body of
+          the response.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>POST</literal>
+        </para>
+
+        <para>
+          Upload data. Within CouchDB <literal>POST</literal> is used to
+          set values, including uploading documents, setting document
+          values, and starting certain administration commands.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>PUT</literal>
+        </para>
+
+        <para>
+          Used to put a specified resource. In CouchDB
+          <literal>PUT</literal> is used to create new objects,
+          including databases, documents, views and design documents.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>DELETE</literal>
+        </para>
+
+        <para>
+          Deletes the specified resource, including documents, views,
+          and design documents.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>COPY</literal>
+        </para>
+
+        <para>
+          A special method that can be used to copy documents and
+          objects.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      If you use the an unsupported HTTP request type with a URL that
+      does not support the specified type, a 405 error will be returned,
+      listing the supported HTTP methods. For example:
+    </para>
+
+<programlisting>
+{
+    "error":"method_not_allowed",
+    "reason":"Only GET,HEAD allowed"
+}
+      </programlisting>
+
+<!-- TODO: Link should be updated when we look at HTML return object -->
+
+    <para>
+      The CouchDB design document API and the functions when returning
+      HTML (for example as part of a show or list) enables you to
+      include custom HTTP headers through the <literal>headers</literal>
+      block of the return object. For more information, see
+      <xref linkend="couchdb-api-functional"/>.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-introduction-request-header">
+
+    <title>HTTP Headers</title>
+
+    <para>
+      Because CouchDB uses HTTP for all communication, you need to
+      ensure that the correct HTTP headers are supplied (and processed
+      on retrieval) so that you get the right format and encoding.
+      Different environments and clients will be more or less strict on
+      the effect of these HTTP headers (especially when not present).
+      Where possible you should be as specific as possible.
+    </para>
+
+    <section id="couchdb-api-introduction-request-header-request">
+
+      <title>Request Headers</title>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <literal>Content-type</literal>
+          </para>
+
+          <para>
+            Specifies the content type of the information being supplied
+            within the request. The specification uses MIME type
+            specifications. For the majority of requests this will be
+            JSON (<literal>application/json</literal>). For some
+            settings the MIME type will be plain text. When uploading
+            attachments it should be the corresponding MIME type for the
+            attachment or binary
+            (<literal>application/octet-stream</literal>).
+          </para>
+
+          <para>
+            The use of the <literal>Content-type</literal> on a request
+            is highly recommended.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <literal>Accept</literal>
+          </para>
+
+          <para>
+            Specifies the list of accepted data types to be returned by
+            the server (i.e. that are accepted/understandable by the
+            client). The format should be a list of one or more MIME
+            types, separated by colons.
+          </para>
+
+          <para>
+            For the majority of requests the definition should be for
+            JSON data (<literal>application/json</literal>). For
+            attachments you can either specify the MIME type explicitly,
+            or use <literal>*/*</literal> to specify that all file types
+            are supported. If the <literal>Accept</literal> header is
+            not supplied, then the <literal>*/*</literal> MIME type is
+            assumed (i.e. client accepts all formats).
+          </para>
+
+          <para>
+            The use of <literal>Accept</literal> in queries for CouchDB
+            is not required, but is highly recommended as it helps to
+            ensure that the data returned can be processed by the
+            client.
+          </para>
+
+          <para>
+            If you specify a data type using the
+            <literal>Accept</literal> header, CouchDB will honor the
+            specified type in the <literal>Content-type</literal> header
+            field returned. For example, if you explicitly request
+            <literal>application/json</literal> in the
+            <literal>Accept</literal> of a request, the returned HTTP
+            headers will use the value in the returned
+            <literal>Content-type</literal> field.
+          </para>
+
+          <para>
+            For example, when sending a request without an explicit
+            <literal>Accept</literal> header, or when specifying
+            <literal>*/*</literal>:
+          </para>
+
+<programlisting>
+GET /recipes HTTP/1.1
+Host: couchdb:5984
+Accept: */*
+</programlisting>
+
+          <para>
+            The returned headers are:
+          </para>
+
+<programlisting>
+Server: CouchDB/1.0.1 (Erlang OTP/R13B)
+Date: Thu, 13 Jan 2011 13:39:34 GMT
+Content-Type: text/plain;charset=utf-8
+Content-Length: 227
+Cache-Control: must-revalidate
+</programlisting>
+
+          <para>
+            Note that the returned content type is
+            <literal>text/plain</literal> even though the information
+            returned by the request is in JSON format.
+          </para>
+
+          <para>
+            Explicitly specifying the <literal>Accept</literal> header:
+          </para>
+
+<programlisting>
+GET /recipes HTTP/1.1
+Host: couchdb:5984
+Accept: application/json
+</programlisting>
+
+          <para>
+            The headers returned include the
+            <literal>application/json</literal> content type:
+          </para>
+
+<programlisting>
+Server: CouchDB/1.0.1 (Erlang OTP/R13B)
+Date: Thu, 13 Jan 2011 13:40:11 GMT
+Content-Type: application/json
+Content-Length: 227
+Cache-Control: must-revalidate
+</programlisting>
+        </listitem>
+
+      </itemizedlist>
+
+    </section>
+
+    <section id="couchdb-api-introduction-request-header-response">
+
+      <title>Response Headers</title>
+
+      <para>
+        Response headers are returned by the server when sending back
+        content and include a number of different header fields, many of
+        which are standard HTTP response header and have no significance
+        to CouchDB operation. The list of response headers important to
+        CouchDB are listed below.
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <literal>Content-type</literal>
+          </para>
+
+          <para>
+            Specifies the MIME type of the returned data. For most
+            request, the returned MIME type is
+            <literal>text/plain</literal>. All text is encoded in
+            Unicode (UTF-8), and this is explicitly stated in the
+            returned <literal>Content-type</literal>, as
+            <literal>text/plain;charset=utf-8</literal>.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <literal>Cache-control</literal>
+          </para>
+
+          <para>
+            The cache control HTTP response header provides a suggestion
+            for client caching mechanisms on how to treat the returned
+            information. CouchDB typically returns the
+            <literal>must-revalidate</literal>, which indicates that the
+            information should be revalidated if possible. This is used
+            to ensure that the dynamic nature of the content is
+            correctly updated.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <literal>Content-length</literal>
+          </para>
+
+          <para>
+            The length (in bytes) of the returned content.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <literal>Etag</literal>
+          </para>
+
+          <para>
+            The <literal>Etag</literal> HTTP header field is used to
+            show the revision for a document.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+    </section>
+
+  </section>
+
+  <section id="couchdb-api-introduction-json">
+
+    <title>JSON Basics</title>
+
+    <para>
+      The majority of requests and responses to CouchDB use the
+      JavaScript Object Notation (JSON) for formatting the content and
+      structure of the data and responses.
+    </para>
+
+    <para>
+      JSON is used because it is the simplest and easiest to use
+      solution for working with data within a web browser, as JSON
+      structures can be evaluated and used as JavaScript objects within
+      the web browser environment. JSON also integrates with the
+      server-side JavaScript used within CouchDB.
+    </para>
+
+    <para>
+      JSON supports the same basic types as supported by JavaScript,
+      these are:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          Number (either integer or floating-point).
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          String; this should be enclosed by double-quotes and supports
+          Unicode characters and backslash escaping. For example:
+        </para>
+
+<programlisting>"A String"</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Boolean - a <literal>true</literal> or
+          <literal>false</literal> value. You can use these strings
+          directly. For example:
+        </para>
+
+<programlisting>{ "value": true}</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Array - a list of values enclosed in square brackets. For
+          example:
+        </para>
+
+<programlisting>["one", "two", "three"]</programlisting>
+      </listitem>
+
+      <listitem>
+        <para>
+          Object - a set of key/value pairs (i.e. an associative array,
+          or hash). The key must be a string, but the value can be any
+          of the supported JSON values. For example:
+        </para>
+
+<programlisting>
+{
+   "servings" : 4,
+   "subtitle" : "Easy to make in advance, and then cook when ready",
+   "cooktime" : 60,
+   "title" : "Chicken Coriander"
+}
+    </programlisting>
+
+        <para>
+          In CouchDB, the JSON object is used to represent a variety of
+          structures, including the main CouchDB document.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      Parsing JSON into a JavaScript object is supported through the
+      <literal>eval()</literal> function in JavaScript, or through
+      various libraries that will perform the parsing of the content
+      into a JavaScript object for you. Libraries for parsing and
+      generating JSON are available in many languages, including Perl,
+      Python, Ruby, Erlang and others.
+    </para>
+
+    <warning>
+      <para>
+        Care should be taken to ensure that your JSON structures are
+        valid, invalid structures will cause CouchDB to return an HTTP
+        status code of 500 (server error). See
+        <xref
+            linkend="couchdb-api-introduction-returncode-500"/>
+        .
+      </para>
+    </warning>
+
+  </section>
+
+  <section id="couchdb-api-introduction-returncodes">
+
+    <title>HTTP Status Codes</title>
+
+    <para>
+      With the interface to CouchDB working through HTTP, error codes
+      and statuses are reported using a combination of the HTTP status
+      code number, and corresponding data in the body of the response
+      data.
+    </para>
+
+    <para>
+      A list of the error codes returned by CouchDB, and generic
+      descriptions of the related errors are provided below. The meaning
+      of different status codes for specific request types are provided
+      in the corresponding API call reference.
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-200">
+          <literal>200 - OK</literal>
+        </para>
+
+        <para>
+          Request completed successfully.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-201">
+          <literal>201 - Created</literal>
+        </para>
+
+        <para>
+          Document created successfully.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-202">
+          <literal>202 - Accepted</literal>
+        </para>
+
+        <para>
+          Request has been accepted, but the corresponding operation may
+          not have completed. This is used for background operations,
+          such as database compaction.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-304">
+          <literal>304 - Not Modified</literal>
+        </para>
+
+        <para>
+          The additional content requested has not been modified. This
+          is used with the ETag system to identify the version of
+          information returned.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-400">
+          <literal>400 - Bad Request</literal>
+        </para>
+
+        <para>
+          Bad request structure. The error can indicate an error with
+          the request URL, path or headers. Differences in the supplied
+          MD5 hash and content also trigger this error, as this may
+          indicate message corruption.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-401">
+          <literal>401 - Unauthorized</literal>
+        </para>
+
+        <para>
+          The item requested was not available using the supplied
+          authorization, or authorization was not supplied.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-403">
+          <literal>403 - Forbidden</literal>
+        </para>
+
+        <para>
+          The requested item or operation is forbidden.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-404">
+          <literal>404 - Not Found</literal>
+        </para>
+
+        <para>
+          The requested content could not be found. The content will
+          include further information, as a JSON object, if available.
+          The structure will contain two keys, <literal>error</literal>
+          and <literal>reason</literal>. For example:
+        </para>
+
+<programlisting>{"error":"not_found","reason":"no_db_file"}</programlisting>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-405">
+          <literal>405 - Resource Not Allowed</literal>
+        </para>
+
+        <para>
+          A request was made using an invalid HTTP request type for the
+          URL requested. For example, you have requested a
+          <literal>PUT</literal> when a <literal>POST</literal> is
+          required. Errors of this type can also triggered by invalid
+          URL strings.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-406">
+          <literal>406 - Not Acceptable</literal>
+        </para>
+
+        <para>
+          The requested content type is not supported by the server.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-409">
+          <literal>409 - Conflict</literal>
+        </para>
+
+        <para>
+          Request resulted in an update conflict.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-412">
+          <literal>412 - Precondition Failed</literal>
+        </para>
+
+        <para>
+          The request headers from the client and the capabilities of
+          the server do not match.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-415">
+          <literal>415 - Bad Content Type</literal>
+        </para>
+
+        <para>
+          The content types supported, and the content type of the
+          information being requested or submitted indicate that the
+          content type is not supported.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-416">
+          <literal>416 - Requested Range Not Satisfiable</literal>
+        </para>
+
+        <para>
+          The range specified in the request header cannot be satisfied
+          by the server.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-417">
+          <literal>417 - Expectation Failed</literal>
+        </para>
+
+        <para>
+          When sending documents in bulk, the bulk load operation
+          failed.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para id="couchdb-api-introduction-returncode-500" xreflabel="HTTP
+              Status Code 500">
+          <literal>500 - Internal Server Error</literal>
+        </para>
+
+        <para>
+          The request was invalid, either because the supplied JSON was
+          invalid, or invalid information was supplied as part of the
+          request.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="couchdb-api-overview">
+
+    <title>CouchDB API Overview</title>
+
+    <para>
+      The components of the API URL path help determine the part of the
+      CouchDB server that is being accessed. The result is the structure
+      of the URL request both identifies and effectively describes the
+      area of the database you are accessing.
+    </para>
+
+    <para>
+      As with all URLs, the individual components are separated by a
+      forward slash.
+    </para>
+
+    <para>
+      As a general rule, URL components and JSON fields starting with
+      the <literal>_</literal> (underscore) character represent a
+      special component or entity within the server or returned object.
+      For example, the URL fragment <literal>/_all_dbs</literal> gets a
+      list of all of the databases in a CouchDB instance.
+    </para>
+
+    <para>
+      The remainder of the URL API structure can be divided up according
+      to the URL structure. The different sections are divided as
+      follows:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>/db</literal>
+        </para>
+
+        <para>
+          Database methods, related to adding, updating or deleting
+          databases, and setting database parameters and operations. For
+          more detailed information, see
+          <xref
+            linkend="couchdb-api-db"/> .
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>/db/doc</literal>
+        </para>
+
+        <para>
+          Document methods, those that create, store, update or delete
+          CouchDB documents and their attachments. For more information,
+          see <xref
+            linkend="couchdb-api-dbdoc"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>/db/_local/local-doc</literal>
+        </para>
+
+        <para>
+          Document methods, those that create, store, update or delete
+          CouchDB documents only within the local database. Local
+          documents are not synchronized with other databases. For more
+          information, see
+          <xref
+                    linkend="couchdb-api-localdb"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>/db/_design/design-doc</literal>
+        </para>
+
+        <para>
+          Design documents provide the methods and structure for
+          recovering information from a CouchDB database in the form of
+          views, shows and lists. For more information, see
+          <xref
+                    linkend="couchdb-api-design"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>/_special</literal>
+        </para>
+
+        <para>
+          Special methods that obtain or set information about the
+          CouchDB instance, including methods for configuring
+          replication, accessing the logs, and generate Universally
+          Unique IDs (UUIDs). For more information, see
+          <xref
+                    linkend="couchdb-api-misc"/>.
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>/_config</literal>
+        </para>
+
+        <para>
+          Methods for getting, and settings, CouchDB configuration
+          parameters. For more information, see
+          <xref
+                    linkend="couchdb-api-misc"/>.
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+<!--
+    Databases and Documents
+
+    To see a listing of databases:
+
+    /_all_dbs
+    To see some basic information about a database:
+
+    /dbname/
+    To see all a listing of the data documents in a database:
+
+    /dbname/_all_docs
+    To see a document:
+
+    /dbname/docid
+    To download a file attachment:
+
+    /dbname/docid/filename
+    Design Documents and Views
+
+    To see a design document:
+
+    /dbname/_design/designdocname
+    To query a view.
+
+    /dbname/_design/designdocname/_view/viewname?query
+    NOTE: Apparently the structure depends on the version #. In 0.8.1 the above doesn't work, but the below works: - JohnWarden
+
+    /dbname/_view/designdocname/viewname?query
+    To query a temporary ("slow") view (with the custom view function in the body of the request):
+
+    /dbname/_temp_view?query
+    Formatting
+
+    To format a document through a "show" template:
+
+    /dbname/_design/designdocname/_show/showname/docid
+    To format a view through a "list" template:
+
+    /dbname/_design/designdocname/_list/listname/viewname?query
+    -->
+
+  </section>
+
+</chapter>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
new file mode 100644
index 0000000..7f8d86e
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE appendix PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<appendix id="couchdb-api-json">
+
+  <title>JSON Structure Reference</title>
+
+  <para>
+    The following appendix provides a quick reference to all the JSON
+    structures that you can supply to CouchDB, or get in return to
+    requests.
+  </para>
+
+  <para role="meta" id="table-couchdb-api-json-summary">
+    <remark role="title">JSON Structures</remark>
+
+    <remark role="type" condition="json"/>
+
+    <remark role="src" condition="json"/>
+
+    <remark role="output" condition="summarytable"/>
+
+    <remark role="version" condition="inherit"/>
+
+    <remark role="idprefix" condition="table-couchdb-api-json"/>
+  </para>
+
+  <para role="meta">
+    <remark role="type" condition="json"/>
+
+    <remark role="src" condition="json"/>
+
+    <remark role="output" condition="alltables"/>
+
+    <remark role="version" condition="inherit"/>
+
+    <remark role="idprefix" condition="table-couchdb-api-json"/>
+  </para>
+
+</appendix>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
new file mode 100644
index 0000000..6bbd0f0
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-localdb">
+
+  <title>CouchDB API Server Local (non-replicating) Document Methods</title>
+
+  <para>
+    The Local (non-replicating) document interface allows you to create
+    local documents that are not replicated to other databases. These
+    documents can be used to hold configuration or other information
+    that is required specifically on the local CouchDB instance.
+  </para>
+
+  <para>
+    Local documents have the following limitations:
+  </para>
+
+  <itemizedlist>
+
+    <listitem>
+      <para>
+        Local documents are not replicated to other databases.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        The ID of the local document must be known for the document to
+        accessed. You cannot obtain a list of local documents from the
+        database.
+      </para>
+    </listitem>
+
+    <listitem>
+      <para>
+        Local documents are not output by views, or the
+        <literal>_all_docs</literal> view.
+      </para>
+    </listitem>
+
+  </itemizedlist>
+
+  <para>
+    Local documents can be used when you want to store configuration or
+    other information for the curent (local) instance of a given
+    database.
+  </para>
+
+  <para>
+    A list of the available methods and URL paths are provided below:
+  </para>
+
+  <para role="meta" id="table-couchdb-api-localdb-summary">
+    <remark role="title">Local (non-replicating) Document API
+    Calls</remark>
+
+    <remark role="type" condition="urlapi"/>
+
+    <remark role="src" condition="couchdb"/>
+
+    <remark role="output" condition="summarytable"/>
+
+    <remark role="filter_class" condition="localdb"/>
+
+    <remark role="version" condition="inherit"/>
+
+    <remark role="idprefix" condition="couchdb-api-localdb"/>
+  </para>
+
+  <section id="couchdb-api-localdb_db-local-localdoc_get">
+
+    <title><literal>GET /db/_local/local-doc</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="db-local-localdoc"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Gets the specified local document. The semantics are identical to
+      accessing a standard document in the specified database, except
+      that the document is not replicated. See
+      <xref
+    linkend="couchdb-api-dbdoc_db-doc_get"/>.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-localdb_db-local-localdoc_put">
+
+    <title><literal>PUT /db/_local/local-doc</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="db-local-localdoc"/>
+
+      <remark role="method" condition="PUT"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Stores the specified local document. The semantics are identical
+      to storing a standard document in the specified database, except
+      that the document is not replicated. See
+      <xref
+        linkend="couchdb-api-dbdoc_db-doc_put"/>.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-localdb_db-local-localdoc_delete">
+
+    <title><literal>DELETE /db/_local/local-doc</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="db-local-localdoc"/>
+
+      <remark role="method" condition="DELETE"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Deletes the specified local document. The semantics are identical
+      to deleting a standard document in the specified database, except
+      that the document is not replicated. See
+      <xref
+        linkend="couchdb-api-dbdoc_db-doc_delete"/>.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-localdb_db-local-localdoc_copy">
+
+    <title><literal>COPY /db/_local/local-doc</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="db-local-localdoc"/>
+
+      <remark role="method" condition="COPY"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Copies the specified local document. The semantics are identical
+      to copying a standard document in the specified database, except
+      that the document is not replicated. See
+      <xref
+        linkend="couchdb-api-dbdoc_db-doc_copy"/>.
+    </para>
+
+  </section>
+
+</chapter>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
new file mode 100644
index 0000000..200749f
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
@@ -0,0 +1,1357 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-misc">
+
+  <title>CouchDB API Server Miscellaneous Methods</title>
+
+  <para>
+    The CouchDB Miscellaneous interface provides the basic interface to
+    a CouchDB server for obtaining CouchDB information and getting and
+    setting configuration information.
+  </para>
+
+  <para>
+    A list of the available methods and URL paths are provided below:
+  </para>
+
+  <para role="meta" id="table-couchdb-api-misc-summary">
+    <remark role="title">Miscellaneous API Calls</remark>
+
+    <remark role="type" condition="urlapi"/>
+
+    <remark role="src" condition="couchdb"/>
+
+    <remark role="output" condition="summarytable"/>
+
+    <remark role="filter_class" condition="misc"/>
+
+    <remark role="version" condition="inherit"/>
+
+    <remark role="idprefix" condition="couchdb-api-misc"/>
+  </para>
+
+  <section id="couchdb-api-misc_root_get">
+
+    <title><literal>GET /</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="root"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Accessing the root of a CouchDB instance returns meta information
+      about the instance. The response is a JSON structure containing
+      information about the server, including a welcome message and the
+      version of the server.
+    </para>
+
+<programlisting>
+{
+   "couchdb" : "Welcome",
+   "version" : "1.0.1"
+}
+</programlisting>
+
+  </section>
+
+  <section id="couchdb-api-misc_active-tasks_get">
+
+    <title><literal>GET /_active_tasks</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="active-tasks"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      You can obtain a list of active tasks by using the
+      <literal>/_active_tasks</literal> URL. The result is a JSON array
+      of the currently running tasks, with each task being described
+      with a single object. For example:
+    </para>
+
+<programlisting>
+
+<![CDATA[
+[
+   {
+    "pid" : "<0.11599.0>",
+    "status" : "Copied 0 of 18369 changes (0%)",
+    "task" : "recipes",
+    "type" : "Database Compaction"
+    }
+]
+]]>
+
+    </programlisting>
+
+    <para>
+      The returned structure includes the following fields for each
+      task:
+    </para>
+
+    <para role="meta" id="table-couchdb-api-misc-active-tasks-json">
+      <remark role="type" condition="json"/>
+
+      <remark role="src" condition="json"/>
+
+      <remark role="output" condition="itemtable"/>
+
+      <remark role="itemid" condition="activetasks"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      For operation type, valid values include:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>Database Compaction</literal>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>Replication</literal>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>View Group Compaction</literal>
+        </para>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>View Group Indexer</literal>
+        </para>
+      </listitem>
+
+    </itemizedlist>
+
+  </section>
+
+  <section id="couchdb-api-misc_all-dbs_get">
+
+    <title><literal>GET /_all_dbs</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="all-dbs"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Returns a list of all the databases in the CouchDB instance. For
+      example:
+    </para>
+
+<programlisting>
+GET http://couchdb:5984/_all_dbs
+Accept: application/json
+</programlisting>
+
+    <para>
+      The return is a JSON array:
+    </para>
+
+<programlisting>
+[
+   "_users",
+   "contacts",
+   "docs",
+   "invoices",
+   "locations"
+]
+
+</programlisting>
+
+  </section>
+
+  <section id="couchdb-api-misc_log_get">
+
+    <title><literal>GET /_log</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="log"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Gets the CouchDB log, equivalent to accessing the local log file
+      of the corresponding CouchDB instance.
+    </para>
+
+    <para>
+      When you request the log, the response is returned as plain
+      (UTF-8) text, with an HTTP <literal>Content-type</literal> header
+      as <literal>text/plain</literal>.
+    </para>
+
+    <para>
+      For example, the request:
+    </para>
+
+<programlisting>
+GET http://couchdb:5984/_log
+Accept: */*
+</programlisting>
+
+    <para>
+      The raw text is returned:
+    </para>
+
+<programlisting>
+<![CDATA[
+[Wed, 27 Oct 2010 10:49:42 GMT] [info] [<0.23338.2>] 192.168.0.2 - - 'PUT' /authdb 401
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.23428.2>] 192.168.0.116 - - 'GET' /recipes/FishStew 200
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.23428.2>] 192.168.0.116 - - 'GET' /_session 200
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.24199.2>] 192.168.0.116 - - 'GET' / 200
+
+[Wed, 27 Oct 2010 13:03:38 GMT] [info] [<0.24207.2>] 192.168.0.116 - - 'GET' /_log?offset=5 200
+]]>
+</programlisting>
+
+    <para>
+      If you want to pick out specific parts of the log information you
+      can use the <literal>bytes</literal> argument, which specifies the
+      number of bytes to be returned, and <literal>offset</literal>,
+      which specifies where the reading of the log should start, counted
+      back from the end. For example, if you use the following request:
+    </para>
+
+<programlisting>
+GET /_log?bytes=500&amp;offset=2000
+</programlisting>
+
+    <para>
+      Reading of the log will start at 2000 bytes from the end of the
+      log, and 500 bytes will be shown.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-misc_replicate_post">
+
+    <title><literal>POST /_replicate</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="replicate"/>
+
+      <remark role="method" condition="POST"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Request, configure, or stop, a replication operation.
+    </para>
+
+    <para>
+      The specification of the replication request is controlled through
+      the JSON content of the request. The JSON should be an object with
+      the fields defining the source, target and other options. The
+      fields of the JSON request are shown in the table below:
+    </para>
+
+    <para role="meta" id="table-couchdb-api-misc-json-replication">
+      <remark role="type" condition="json"/>
+
+      <remark role="src" condition="json"/>
+
+      <remark role="output" condition="itemtable"/>
+
+      <remark role="itemid" condition="replication"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <section id="couchdb-api-misc_replicate_post-operation">
+
+      <title>Replication Operation</title>
+
+      <para>
+        The aim of the replication is that at the end of the process,
+        all active documents on the source database are also in the
+        destination database and all documents that were deleted in the
+        source databases are also deleted (if they exist) on the
+        destination database.
+      </para>
+
+      <para>
+        Replication can be described as either push or pull replication:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            <emphasis>Pull replication</emphasis> is where the
+            <literal>source</literal> is the remote CouchDB instance,
+            and the <literal>destination</literal> is the local
+            database.
+          </para>
+
+          <para>
+            Pull replication is the most useful solution to use if your
+            source database has a permanent IP address, and your
+            destination (local) database may have a dynamically assigned
+            IP address (for example, through DHCP). This is particularly
+            important if you are replicating to a mobile or other device
+            from a central server.
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            <emphasis>Push replication</emphasis> is where the
+            <literal>source</literal> is a local database, and
+            <literal>destination</literal> is a remote database.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+    </section>
+
+    <section id="couchdb-api-misc_replicate_post-sourcetarget">
+
+      <title>Specifying the Source and Target Database</title>
+
+      <para>
+        You must use the URL specification of the CouchDB database if
+        you want to perform replication in either of the following two
+        situations:
+      </para>
+
+      <itemizedlist>
+
+        <listitem>
+          <para>
+            Replication with a remote database (i.e. another instance of
+            CouchDB on the same host, or a different host)
+          </para>
+        </listitem>
+
+        <listitem>
+          <para>
+            Replication with a database that requires authentication
+          </para>
+        </listitem>
+
+      </itemizedlist>
+
+      <para>
+        For example, to request replication between a database local to
+        the CouchDB instance to which you send the request, and a remote
+        database you might use the following request:
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+   "source" : "recipes",
+   "target" : "http://coucdb-remote:5984/recipes",
+}
+      </programlisting>
+
+      <para>
+        In all cases, the requested databases in the
+        <literal>source</literal> and <literal>target</literal>
+        specification must exist. If they do not, an error will be
+        returned within the JSON object:
+      </para>
+
+<programlisting>
+{
+   "error" : "db_not_found"
+   "reason" : "could not open http://couchdb-remote:5984/ol1ka/",
+}
+      </programlisting>
+
+      <para>
+        You can create the target database (providing your user
+        credentials allow it) by adding the
+        <literal>create_target</literal> field to the request object:
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+   "create_target" : true
+   "source" : "recipes",
+   "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+      <para>
+        The <literal>create_target</literal> field is not destructive.
+        If the database already exists, the replication proceeds as
+        normal.
+      </para>
+
+    </section>
+
+    <section id="couchdb-api-misc_replicate_post-single">
+
+      <title>Single Replication</title>
+
+      <para>
+        You can request replication of a database so that the two
+        databases can be synchronized. By default, the replication
+        process occurs one time and synchronizes the two databases
+        together. For example, you can request a single synchronization
+        between two databases by supplying the <literal>source</literal>
+        and <literal>target</literal> fields within the request JSON
+        content.
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+   "source" : "recipes",
+   "target" : "recipes-snapshot",
+}
+</programlisting>
+
+      <para>
+        In the above example, the databases <literal>recipes</literal>
+        and <literal>recipes-snapshot</literal> will be synchronized.
+        These databases are local to the CouchDB instance where the
+        request was made. The response will be a JSON structure
+        containing the success (or failure) of the synchronization
+        process, and statistics about the process:
+      </para>
+
+<programlisting>
+{
+   "ok" : true,
+   "history" : [
+      {
+         "docs_read" : 1000,
+         "session_id" : "52c2370f5027043d286daca4de247db0",
+         "recorded_seq" : 1000,
+         "end_last_seq" : 1000,
+         "doc_write_failures" : 0,
+         "start_time" : "Thu, 28 Oct 2010 10:24:13 GMT",
+         "start_last_seq" : 0,
+         "end_time" : "Thu, 28 Oct 2010 10:24:14 GMT",
+         "missing_checked" : 0,
+         "docs_written" : 1000,
+         "missing_found" : 1000
+      }
+   ],
+   "session_id" : "52c2370f5027043d286daca4de247db0",
+   "source_last_seq" : 1000
+}
+</programlisting>
+
+      <para>
+        The structure defines the replication status, as described in
+        the table below:
+      </para>
+
+      <para role="meta" id="table-couchdb-api-misc-json-replication-status">
+        <remark role="type" condition="json"/>
+
+        <remark role="src" condition="json"/>
+
+        <remark role="output" condition="itemtable"/>
+
+        <remark role="itemid" condition="replication-status"/>
+
+        <remark role="version" condition="inherit"/>
+      </para>
+
+    </section>
+
+    <section id="couchdb-api-misc_replicate_post-continuous">
+
+      <title>Continuous Replication</title>
+
+      <para>
+        Synchronization of a database with the previously noted methods
+        happens only once, at the time the replicate request is made. To
+        have the target database permanently replicated from the source,
+        you must set the <literal>continuous</literal> field of the JSON
+        object within the request to true.
+      </para>
+
+      <para>
+        With continuous replication changes in the source database are
+        replicated to the target database in perpetuity until you
+        specifically request that replication ceases.
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+   "continuous" : true
+   "source" : "recipes",
+   "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+      <para>
+        Changes will be replicated between the two databases as long as
+        a network connection is available between the two instances.
+      </para>
+
+      <note>
+        <para>
+          Two keep two databases synchronized with each other, you need
+          to set replication in both directions; that is, you must
+          replicate from <literal>databasea</literal> to
+          <literal>databaseb</literal>, and separately from
+          <literal>databaseb</literal> to <literal>databasea</literal>.
+        </para>
+      </note>
+
+    </section>
+
+    <section id="couchdb-api-misc_replicate_post-cancel">
+
+      <title>Canceling Continuous Replication</title>
+
+      <para>
+        You can cancel continuous replication by adding the
+        <literal>cancel</literal> field to the JSON request object and
+        setting the value to true. Note that the structure of the
+        request must be identical to the original for the cancelation
+        request to be honoured. For example, if you requested continuous
+        replication, the cancellation request must also contain the
+        <literal>continuous</literal> field.
+      </para>
+
+      <para>
+        For example, the replication request:
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+   "source" : "recipes",
+   "target" : "http://couchdb-remote:5984/recipes",
+   "create_target" : true,
+   "continuous" : true
+}
+</programlisting>
+
+      <para>
+        Must be canceled using the request:
+      </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+    "cancel" : true,
+    "continuous" : true
+    "create_target" : true,
+    "source" : "recipes",
+    "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+      <para>
+        Requesting cancellation of a replication that does not exist
+        results in a 404 error.
+      </para>
+
+    </section>
+
+  </section>
+
+  <section id="couchdb-api-misc_restart_post">
+
+    <title><literal>POST /_restart</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="restart"/>
+
+      <remark role="method" condition="POST"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Restarts the CouchDB instance. You must be authenticated as a user
+      with administration privileges for this to work.
+    </para>
+
+    <para>
+      For example:
+    </para>
+
+<programlisting>
+POST http://admin:password@couchdb:5984/_restart
+</programlisting>
+
+    <para>
+      The return value (if the server has not already restarted) is a
+      JSON status object indicating that the request has been received:
+    </para>
+
+<programlisting>
+{
+   "ok" : true,
+}
+</programlisting>
+
+    <para>
+      If the server has already restarted, the header may be returned,
+      but no actual data is contained in the response.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-misc_stats_get">
+
+    <title><literal>GET /_stats</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="stats"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      The <literal>_stats</literal> method returns a JSON object
+      containting the statistics for the running server. The object is
+      structured with top-level sections collating the statistics for a
+      range of entries, with each individual statistic being easily
+      identified, and the content of each statistic is self-describing.
+      For example, the request time statistics, within the
+      <literal>couchdb</literal> section are structured as follows:
+    </para>
+
+<programlisting>
+{
+   "couchdb" : {
+...
+      "request_time" : {
+         "stddev" : "27.509",
+         "min" : "0.333333333333333",
+         "max" : "152",
+         "current" : "400.976",
+         "mean" : "10.837",
+         "sum" : "400.976",
+         "description" : "length of a request inside CouchDB without MochiWeb"
+      },
+...
+    }
+}
+      </programlisting>
+
+    <para>
+      The fields provide the current, minimum and maximum, and a
+      collection of statistical means and quantities. The quantity in
+      each case is not defined, but the descriptions below provide
+    </para>
+
+    <para>
+      The statistics are divided into the following top-level sections:
+    </para>
+
+    <itemizedlist>
+
+      <listitem>
+        <para>
+          <literal>couchdb</literal>
+        </para>
+
+        <para>
+          Describes statistics specific to the internals of CouchDB.
+        </para>
+
+        <table>
+          <title><literal>couchdb</literal> statistics</title>
+          <tgroup cols="3">
+            <colspec colname="stat"/>
+            <colspec colname="desc"/>
+            <colspec colname="unit"/>
+            <thead>
+              <row>
+                <entry>
+                  Statistic ID
+                </entry>
+                <entry>
+                  Description
+                </entry>
+                <entry>
+                  Unit
+                </entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry><literal>auth_cache_hits</literal>
+                </entry>
+                <entry>
+                  Number of authentication cache hits
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>auth_cache_misses</literal>
+                </entry>
+                <entry>
+                  Number of authentication cache misses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>database_reads</literal>
+                </entry>
+                <entry>
+                  Number of times a document was read from a database
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>database_writes</literal>
+                </entry>
+                <entry>
+                  Number of times a database was changed
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>open_databases</literal>
+                </entry>
+                <entry>
+                  Number of open databases
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>open_os_files</literal>
+                </entry>
+                <entry>
+                  Number of file descriptors CouchDB has open
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>request_time</literal>
+                </entry>
+                <entry>
+                  Length of a request inside CouchDB without MochiWeb
+                </entry>
+                <entry>
+                  milliseconds
+                </entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>httpd_request_methods</literal>
+        </para>
+
+        <table>
+          <title><literal>httpd_request_methods</literal> statistics</title>
+          <tgroup cols="3">
+            <colspec colname="stat"/>
+            <colspec colname="desc"/>
+            <colspec colname="unit"/>
+            <thead>
+              <row>
+                <entry>
+                  Statistic ID
+                </entry>
+                <entry>
+                  Description
+                </entry>
+                <entry>
+                  Unit
+                </entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry><literal>COPY</literal>
+                </entry>
+                <entry>
+                  Number of HTTP COPY requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>DELETE</literal>
+                </entry>
+                <entry>
+                  Number of HTTP DELETE requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>GET</literal>
+                </entry>
+                <entry>
+                  Number of HTTP GET requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>HEAD</literal>
+                </entry>
+                <entry>
+                  Number of HTTP HEAD requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>POST</literal>
+                </entry>
+                <entry>
+                  Number of HTTP POST requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>PUT</literal>
+                </entry>
+                <entry>
+                  Number of HTTP PUT requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>httpd_status_codes</literal>
+        </para>
+
+        <table>
+          <title><literal>httpd_status_codes</literal> statistics</title>
+          <tgroup cols="3">
+            <colspec colname="stat"/>
+            <colspec colname="desc"/>
+            <colspec colname="unit"/>
+            <thead>
+              <row>
+                <entry>
+                  Statistic ID
+                </entry>
+                <entry>
+                  Description
+                </entry>
+                <entry>
+                  Unit
+                </entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry><literal>200</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 200 OK responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>201</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 201 Created responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>202</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 202 Accepted responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>301</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 301 Moved Permanently responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>304</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 304 Not Modified responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>400</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 400 Bad Request responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>401</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 401 Unauthorized responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>403</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 403 Forbidden responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>404</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 404 Not Found responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>405</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 405 Method Not Allowed responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>409</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 409 Conflict responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>412</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 412 Precondition Failed responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>500</literal>
+                </entry>
+                <entry>
+                  Number of HTTP 500 Internal Server Error responses
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+      </listitem>
+
+      <listitem>
+        <para>
+          <literal>httpd</literal>
+        </para>
+
+        <table>
+          <title><literal>httpd</literal> statistics</title>
+          <tgroup cols="3">
+            <colspec colname="stat"/>
+            <colspec colname="desc"/>
+            <colspec colname="unit"/>
+            <thead>
+              <row>
+                <entry>
+                  Statistic ID
+                </entry>
+                <entry>
+                  Description
+                </entry>
+                <entry>
+                  Unit
+                </entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry><literal>bulk_requests</literal>
+                </entry>
+                <entry>
+                  Number of bulk requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>clients_requesting_changes</literal>
+                </entry>
+                <entry>
+                  Number of clients for continuous _changes
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>requests</literal>
+                </entry>
+                <entry>
+                  Number of HTTP requests
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>temporary_view_reads</literal>
+                </entry>
+                <entry>
+                  Number of temporary view reads
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+              <row>
+                <entry><literal>view_reads</literal>
+                </entry>
+                <entry>
+                  Number of view reads
+                </entry>
+                <entry>
+                  number
+                </entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+      </listitem>
+
+    </itemizedlist>
+
+    <para>
+      You can also access individual statistics by quoting the
+      statistics sections and statistic ID as part of the URL path. For
+      example, to get the <literal>request_time</literal> statistics,
+      you can use:
+    </para>
+
+<programlisting>
+GET /_stats/couchdb/request_time
+    </programlisting>
+
+    <para>
+      This returns an entire statistics object, as with the full
+      request, but containining only the request individual statistic.
+      Hence, the returned structure is as follows:
+    </para>
+
+<programlisting>
+{
+   "couchdb" : {
+      "request_time" : {
+         "stddev" : 7454.305,
+         "min" : 1,
+         "max" : 34185,
+         "current" : 34697.803,
+         "mean" : 1652.276,
+         "sum" : 34697.803,
+         "description" : "length of a request inside CouchDB without MochiWeb"
+      }
+   }
+}
+    </programlisting>
+
+  </section>
+
+  <section id="couchdb-api-misc_utils_get">
+
+    <title><literal>GET /_utils</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="utils"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Accesses the built-in Futon administration interface for CouchDB.
+    </para>
+
+  </section>
+
+  <section id="couchdb-api-misc_uuids_get">
+
+    <title><literal>GET /_uuids</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="uuids"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Requests one or more Universally Unique Identifiers (UUIDs) from
+      the CouchDB instance. The response is a JSON object providing a
+      list of UUIDs. For example:
+    </para>
+
+<programlisting>
+{
+   "uuids" : [
+      "7e4b5a14b22ec1cf8e58b9cdd0000da3"
+   ]
+}
+</programlisting>
+
+    <para>
+      You can use the <literal>count</literal> argument to specify the
+      number of UUIDs to be returned. For example:
+    </para>
+
+<programlisting>
+    GET http://couchdb:5984/_uuids?count=5
+</programlisting>
+
+    <para>
+      Returns:
+    </para>
+
+<programlisting>
+{
+   "uuids" : [
+      "c9df0cdf4442f993fc5570225b405a80",
+      "c9df0cdf4442f993fc5570225b405bd2",
+      "c9df0cdf4442f993fc5570225b405e42",
+      "c9df0cdf4442f993fc5570225b4061a0",
+      "c9df0cdf4442f993fc5570225b406a20"
+   ]
+}
+</programlisting>
+
+    <para>
+      The UUID type is determined by the UUID type setting in the
+      CouchDB configuration. See
+      <xref linkend="couchdb-api-config_config-section-key_put"/>.
+    </para>
+
+    <para>
+      For example, changing the UUID type to <literal>random</literal>:
+    </para>
+
+<programlisting>
+PUT http://couchdb:5984/_config/uuids/algorithm
+Content-Type: application/json
+Accept: */*
+
+"random"
+</programlisting>
+
+    <para>
+      When obtaining a list of UUIDs:
+    </para>
+
+<programlisting>
+{
+   "uuids" : [
+      "031aad7b469956cf2826fcb2a9260492",
+      "6ec875e15e6b385120938df18ee8e496",
+      "cff9e881516483911aa2f0e98949092d",
+      "b89d37509d39dd712546f9510d4a9271",
+      "2e0dbf7f6c4ad716f21938a016e4e59f"
+   ]
+}
+</programlisting>
+
+  </section>
+
+  <section id="couchdb-api-misc_favicon_get">
+
+    <title><literal>GET /favicon.ico</literal></title>
+
+    <para role="meta">
+      <remark role="type" condition="urlapi"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="accesstable"/>
+
+      <remark role="itemid" condition="favicon"/>
+
+      <remark role="method" condition="GET"/>
+
+      <remark role="version" condition="inherit"/>
+    </para>
+
+    <para>
+      Returns the site icon. The return <literal>Content-type</literal>
+      header is <literal>image/x-icon</literal>, and the content stream
+      is the image data.
+    </para>
+
+  </section>
+
+</chapter>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
new file mode 100644
index 0000000..3387486
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-single-changes">
+
+  <title>Changes Feed</title>
+
+  <para>
+    &nbsp;
+  </para>
+
+  <para role="meta" id="table-couchdb-single-changes-json-changes">
+    <remark role="type" condition="json"/>
+
+    <remark role="src" condition="json"/>
+
+    <remark role="output" condition="itemtable"/>
+
+    <remark role="itemid" condition="changes"/>
+
+    <remark role="version" condition="inherit"/>
+  </para>
+
+  <section id="couchdb-single-changes-poll">
+
+    <title>Polling</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-changes-longpoll">
+
+    <title>Long Polling</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-changes-continuous">
+
+    <title>Continuous</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-changes-filters">
+
+    <title>Filters</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+  </section>
+
+</chapter>

http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
new file mode 100644
index 0000000..d8a5fa5
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+                         'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<section id="couchdb-single-config-options">
+
+  <title>CouchDB Configuration Options</title>
+
+  <para>
+    &nbsp;
+  </para>
+
+  <para role="meta" id="table-couchdb-single-config-options-summary">
+    <remark role="title">Configuration Groups</remark>
+
+    <remark role="type" condition="config"/>
+
+    <remark role="src" condition="couchdb"/>
+
+    <remark role="output" condition="classsummarytable"/>
+
+    <remark role="version" condition="1.0"/>
+
+<!--     <remark role="idprefix" condition="config-couchdb-options"/>-->
+  </para>
+
+  <section id="couchdb-single-config-options_attachments">
+
+    <title><literal>attachments</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-attachments-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="attachments"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_attachments"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_couchdb">
+
+    <title><literal>couchdb</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-couchdb-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="couchdb"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_couchdb"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_daemons">
+
+    <title><literal>daemons</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-daemons-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="daemons"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_daemons"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_httpd_db_handlers">
+
+    <title><literal>httpd_db_handlers</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-httpd_db_handlers-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="httpd_db_handlers"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_httpd_db_handlers"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_couch_httpd_auth">
+
+    <title><literal>couch_httpd_auth</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-couch_httpd_auth-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="couch_httpd_auth"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_couch_httpd_auth"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_httpd">
+
+    <title><literal>httpd</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-httpd-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="httpd"/>
+
+<!--       <remark role="idprefix" condition="couchdb-single-config-options_httpd"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_httpd_design_handlers">
+
+    <title><literal>httpd_design_handlers</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-httpd_design_handlers-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="httpd_design_handlers"/>
+
+<!--       <remark role="idprefix" condition="couchdb-single-config-options_httpd_design_handlers"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_httpd_global_handlers">
+
+    <title><literal>httpd_global_handlers</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-httpd_global_handlers-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="httpd_global_handlers"/>
+
+<!--       <remark role="idprefix" condition="couchdb-single-config-options_httpd_global_handlers"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_log">
+
+    <title><literal>log</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-log-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="log"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_log"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_query_servers">
+
+    <title><literal>query_servers</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-query_servers-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="query_servers"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_query_servers"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_query_server_config">
+
+    <title><literal>query_server_config</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-query_server_config-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="query_server_config"/>
+
+<!--       <remark role="idprefix" condition="couchdb-single-config-options_query_server_config"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_replicator">
+
+    <title><literal>replicator</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-replicator-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="replicator"/>
+
+<!--       <remark role="idprefix" condition="couchdb-single-config-options_replicator"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_stats">
+
+    <title><literal>stats</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-stats-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="stats"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_stats"/> -->
+    </para>
+
+  </section>
+
+  <section id="couchdb-single-config-options_uuids">
+
+    <title><literal>uuids</literal> Configuration Options</title>
+
+    <para>
+      &nbsp;
+    </para>
+
+    <para role="meta" id="table-couchdb-single-config-options-uuids-summary">
+      <remark role="title">Configuration Groups</remark>
+
+      <remark role="type" condition="config"/>
+
+      <remark role="src" condition="couchdb"/>
+
+      <remark role="output" condition="optionsummarytable"/>
+
+      <remark role="version" condition="1.0"/>
+
+      <remark role="itemid" condition="uuids"/>
+
+<!--      <remark role="idprefix" condition="couchdb-single-config-options_uuids"/> -->
+    </para>
+
+  </section>
+
+</section>