<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: documentation.xml 18710 2013-07-15 21:19:17Z dizzzz $ --><book><bookinfo><productname>eXist-db – Open Source Native XML Database</productname><title>Documentation</title><date>September 2012</date></bookinfo><chapter><title>Documentation</title><section id="recommended-reading"><title>Recommended Reading</title><section role="media-object"><title>Screencasts</title><para>For the first steps with your freshly installed eXist-db, we suggest to watch the
                    screencasts available on the <ulink url="http://exist-db.org">eXist-db homepage</ulink>.</para><graphic fileref="https://img.youtube.com/vi/xvMau2aHRDo/1.jpg"/></section><para>If you are new to eXist-db, we recommend that you read these articles first:</para><itemizedlist><listitem><para><ulink url="quickstart.xml">Quick Start</ulink>: How to download, install, and get up and running with eXist-db.
                    </para></listitem><listitem><para><ulink url="dashboard.xml">Dashboard</ulink>: Using the package manager to
                        install or remove packages.</para></listitem><listitem><para><ulink url="development-starter.xml">Getting Started with Web Application Development in eXist-db</ulink>: eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies
                    </para></listitem><listitem><para><ulink url="learning-xquery.xml">Learning XQuery</ulink>: (For beginners) Tips and resources for learning XQuery for use with eXist-db.
                    </para></listitem><listitem><para><ulink url="xquery.xml">XQuery Support</ulink>: (For advanced developers) In depth discussion of eXist-db's support for the XQuery language, including features and extensions.
                    </para></listitem><listitem><para><ulink url="tuning.xml">Tuning the Database</ulink>: Tips and best practices for optimizing the performance of your queries.
                    </para></listitem></itemizedlist><para>You can search the entire documentation library using the search box to the right.
                If you have questions that you can't find the answer to here, see the articles <ulink url="troubleshooting.xml">Troubleshooting</ulink> and <ulink url="getting-help.xml">Getting Help</ulink>.</para>
            <!-- The /articles link isn't working yet, so I'm commenting it out below.  But I propose making "articles" 
                a regular feature on the blog so people can subscribe.-->
            <!--<para>There are <ulink url="articles">articles, tutorials and blog posts</ulink> which
                may provide valuable information.</para>--></section><section id="all-documentation"><title>All Documentation</title><para>Besides these articles, you can search eXist-db's XQuery <ulink url="{fundocs}/index.html">function module library</ulink>.</para><section id="getting-started"><title>Getting Started</title><table class="documentation"><tgroup cols="2"><tbody><tr><td class="doclink"><ulink url="quickstart.xml">Quick Start</ulink>:</td><td>How to download, install, and get up and running with eXist-db.</td></tr><tr><td class="doclink"><ulink url="advanced-installation.xml">Advanced Installation Methods</ulink>:</td><td>How to install on a headless system; how to run as a background service.</td></tr><tr><td class="doclink"><ulink url="dashboard.xml">Dashboard</ulink>:</td><td>Using the Dashboard to install applications from the eXist-db.org public application repository.</td></tr><tr><td class="doclink"><ulink url="development-starter.xml">Getting Started with Web Application Development in eXist-db</ulink>:</td><td>eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies</td></tr><tr><td class="doclink"><ulink url="uploading-files.xml">Uploading Files</ulink>:</td><td>How to get your data into eXist-db.</td></tr>
                            <!-- TODO -->
                            <!--<tr>
                                <td class="doclink">
                                    <ulink url="exide.xml">eXide</ulink>:</td>
                                <td>Using the eXide app to write queries and build your own applications.</td>
                            </tr>-->
                            <!--tr>
                                <td class="doclink">
                                    <ulink url="faq_performance.xml">Performance FAQ</ulink>:</td>
                                <td>Are there limits on the size or amount of data eXist-db can
                                    store? What operating sytem or hardware should I use? What key
                                    factors play into performance? How scalable is eXist-db?</td>
                            </tr--><tr><td class="doclink"><ulink url="upgrading.xml">Upgrade Guide</ulink>:</td><td>Upgrading from an older version of eXist-db.</td></tr><tr><td class="doclink"><ulink url="troubleshooting.xml">Troubleshooting</ulink>:</td><td>Troubleshooting installation problems and other advanced
                                    installation topics.</td></tr></tbody></tgroup></table></section><section><title>General</title><table class="documentation"><tgroup cols="2"><tbody>
                            <!--<tr>
                                <td class="doclink">
                                    <ulink url="articles">External Articles</ulink>:</td>
                                <td>Links to external articles, tutorials, and blog posts.</td>
                            </tr>--><tr><td class="doclink"><ulink url="indexing.xml">Configuring Indexes</ulink>:</td><td>How to configure indexes (<emphasis>must read</emphasis>).</td></tr><tr><td class="doclink"><ulink url="deployment.xml">Deployment</ulink>:</td><td>Alternatives for server deployment.</td></tr><tr><td class="doclink"><ulink url="devguide.xml">Developer's Guide</ulink>:</td><td>Using various interfaces: XML:DB API, XML-RPC, REST, SOAP.</td></tr><tr><td class="doclink"><ulink url="oxygen.xml">Using oXygen</ulink>:</td><td>How to set up oXygen XML Editor for use with eXist-db.</td></tr><tr><td class="doclink"><ulink url="running-trunk.xml">Running Trunk</ulink>:</td><td>Information on running the latest "bleeding-edge" development 
                                	version of eXist-db.</td></tr><tr><td class="doclink"><ulink url="security.xml">Security</ulink>:</td><td>Security features including authentication realms (LDAP, OAuth,
                                    OpenID), managing users and groups, changing passwords, and
                                    permissions and access controls.</td></tr><tr><td class="doclink"><ulink url="configuration.xml">Server
                                    Configuration</ulink>:</td><td>Configuring the server.</td></tr><tr><td class="doclink"><ulink url="tuning.xml">Tuning the Database</ulink>:</td><td>Tips and best practices for optimizing the performance of your queries.</td></tr><tr><td class="doclink"><ulink url="repo.xml">Package Repository</ulink>:</td><td>Manage libraries &amp; application packages (.xar) using
                                    eXist-db Package Repository. </td></tr><tr><td class="doclink"><ulink url="learning-xquery.xml">Learning XQuery</ulink>:</td><td>Tips and resources for beginners learning XQuery for use with eXist-db.</td></tr><tr><td class="doclink"><ulink url="xquery.xml">XQuery Support</ulink>:</td><td>In depth discussion of eXist-db's support for the XQuery language, including features and extensions.</td></tr></tbody></tgroup></table></section><section><title>Documentation for Specific Features</title><table class="documentation"><tgroup cols="2"><tbody><tr><td class="doclink"><ulink url="ant-tasks.xml">Ant Tasks</ulink>:</td><td>How to automate tasks with Ant.</td></tr><tr><td class="doclink"><ulink url="backup.xml">Backup and Restore</ulink>:</td><td>How to backup/restore your database contents.</td></tr><tr><td class="doclink"><ulink url="triggers.xml">Configuring Triggers</ulink>:</td><td>How to configure triggers.</td></tr><tr><td class="doclink"><ulink url="contentextraction.xml">Content Extraction</ulink>:</td><td>How to extract content from binary files.</td></tr><tr><td class="doclink"><ulink url="http-request-session.xml">HTTP-Related Functions</ulink>:</td><td>The request and session modules contain functions for performing HTTP-related operations.</td></tr><tr><td class="doclink"><ulink url="jmx.xml">JMX</ulink></td><td>Java Management Extensions (JMX) support.</td></tr><tr><td class="doclink"><ulink url="java-admin-client.xml">Java Admin Client</ulink>:</td><td>Using the Java client from the command line.</td></tr><tr><td class="doclink"><ulink url="kwic.xml">KWIC display module</ulink>:</td><td>An XQuery module to easily produce a Keywords in Context (KWIC)
                                    output of search results.</td></tr><tr><td class="doclink"><ulink url="ldap-security.xml">LDAP Security
                                    Manager</ulink>:</td><td>Configuring eXist-db to use LDAP for users and groups.</td></tr><tr><td class="doclink"><ulink url="lucene.xml">Lucene-based Full Text
                                    Index</ulink>:</td><td>Apache Lucene integrated into eXist-db's XQuery engine.</td></tr><tr><td class="doclink"><ulink url="replication.xml">Replication</ulink>:</td><td>Configure two or more eXist-db instances to work together to automatically synchronize documents.</td></tr><tr><td class="doclink"><ulink url="scheduler.xml">Scheduler Module</ulink>:</td><td>An optional module to schedule jobs.</td></tr><tr><td class="doclink"><ulink url="urlrewrite.xml">URL Rewriting and MVC
                                        Framework</ulink>:</td><td>Simple-but-powerful URL rewriting and redirection. Provides some
                                    support for MVC (model-view-controller) and servlet-based
                                    pipelines.</td></tr><tr><td class="doclink"><ulink url="util.xml">The util module</ulink>:</td><td>A module with numerous useful utility functions.</td></tr><tr><td class="doclink"><ulink url="validation.xml">Validation</ulink>:</td><td>Validate XML documents.</td></tr><tr><td class="doclink"><ulink url="versioning.xml">Versioning</ulink>:</td><td>Versioning extensions.</td></tr><tr><td class="doclink"><ulink url="webdav.xml">WebDAV</ulink>:</td><td>How to setup your favourite WebDAV application.</td></tr><tr><td class="doclink"><ulink url="xacml.xml">XACML</ulink>:</td><td>XQuery access control.</td></tr><tr><td class="doclink"><ulink url="xinclude.xml">XInclude</ulink>:</td><td>XInclude support in eXist-db.</td></tr><tr><td class="doclink"><ulink url="xforms.xml">XForms</ulink>:</td><td>XForms support in eXist-db (using betterFORM or XSLTForms).</td></tr><tr><td class="doclink"><ulink url="xmldb.xml">The xmldb module</ulink>:</td><td>Functions for manipulating database contents.</td></tr>
                            <!--tr>
                                <td class="doclink">
                                    <ulink url="xproc/xproc.xml">XProc</ulink>:</td>
                                <td>XProc support in eXist-db (using xprocxq).</td>
                            </tr--><tr><td class="doclink"><ulink url="xqdoc.xml">XQDoc</ulink>:
                                </td><td>The format for documenting XQuery library and main modules.</td></tr><tr><td class="doclink"><ulink url="update_ext.xml">XQuery Update
                                    Extensions</ulink>:</td><td>Extensions to update document fragments from within an
                                    XQuery.</td></tr><tr><td class="doclink"><ulink url="debugger.xml">XQuery Debugger</ulink></td><td>A debugging interface to XQuery code on the server. This is
                                    functional, but incomplete (the client side in particular). We
                                    used emacs and vi as our main clients during development. </td></tr><tr><td class="doclink"><ulink url="xsl-transform.xml">XSL Transformations</ulink></td><td>The transform module provides functions for directly applying an XSL stylesheet to
                                    an XML fragment within an XQuery script.</td></tr></tbody></tgroup></table></section><section><title>eXist-db Development</title><table class="documentation"><tgroup cols="2"><tbody><tr><td><ulink url="development-starter.xml">Getting Started with Web Application Development in eXist-db</ulink>:</td><td>eXist-db provides a complete platform for the development of rich web applications based on XML and related technologies
                                </td></tr><tr><td class="doclink"><ulink url="building.xml">Building eXist-db</ulink>:</td><td>Compiling and building eXist-db, using the Subversion
                                    repository.</td></tr><tr><td class="doclink"><ulink url="eclipse.xml">Eclipse Setup Notes</ulink>:</td><td>How to set up Eclipse to run eXist-db in debugging mode.</td></tr><tr><td class="doclink"><ulink url="devguide_manifesto.xml">eXist-db Developer
                                        Manifesto</ulink>:</td><td>Guidelines for contributing to the eXist-db codebase.</td></tr><tr><td class="doclink"><ulink url="devguide_codereview.xml">Code Review
                                    Guide</ulink>:</td><td>Notes on reviewing code during development.</td></tr><tr><td class="doclink"><ulink url="xqsuite.xml">Test Guide</ulink>:</td><td>Perform XQuery tests with the XQuery unit test suite.</td></tr><tr><td class="doclink"><ulink url="devguide_log4j.xml">Log4J Logging
                                    Guide</ulink>:</td><td>How use Log4J within eXist-db code.</td></tr><tr><td class="doclink"><ulink url="devguide_indexes.xml">Developer's Guide to
                                        Modularized Indexes</ulink>:</td><td>Describes how modularized indexes work through a use case.</td></tr><tr><td class="doclink"><ulink url="beginners-guide-to-xrx-v4.xml">A Beginners Guide to XRX with eXist</ulink>:</td><td>Describes how to use XForms to perform CRUD operations within an XRX framework.</td></tr></tbody></tgroup></table></section><section><title>Production use</title><table class="documentation"><tgroup cols="2"><tbody><tr><td class="doclink"><ulink url="production_good_practice.xml">Production use Good
                                        Practice</ulink>:</td><td>Best Practices for production environments.</td></tr><tr><td class="doclink"><ulink url="production_web_proxying.xml">Proxying eXist-db
                                        behind a Web Server</ulink>:</td><td>How to proxy eXist-db behind various web servers.</td></tr></tbody></tgroup></table></section><section><title>External Libraries</title><para>The following is an incomplete list of libraries to connect eXist-db with other languages.</para><table class="documentation"><tgroup cols="2"><tbody><tr><td class="doclink"><ulink url="http://xqj.net/exist/">XQJ</ulink>:
                                </td><td>
                                    An eXist-db driver for the XQuery API for Java (XQJ) 
                                </td></tr><tr><td class="doclink"><ulink url="https://github.com/wolfgangmm/existdb-node">nodejs</ulink>:
                                </td><td>
                                    node.js Client Module for the eXist-db Native XML Database
                                </td></tr><tr><td class="doclink"><ulink url="https://github.com/CuAnnan/php-eXist-db-Client">PHP</ulink>:
                                </td><td>
                                    A client that abstracts out the XML RPC calls for eXist-db.
                                </td></tr><tr><td class="doclink"><ulink url="https://github.com/fancellu/xqs">XQuery for Scala</ulink>:
                                </td><td>
                                    A Scala Library based on the XQuery API for Java (XQJ)
                                </td></tr></tbody></tgroup></table></section></section></chapter></book>