<?xml version="1.0" encoding="UTF-8"?>
<document>
  <properties>
    <author email="akarasulu@apache.org">Alex Karasulu</author>
    <title>Apache Directory Server</title>
  </properties>
  
  <body>
    <section name="Overview">
      <p>Welcome to the Apache Directory Server Homepage!</p>

      <p>
        The Apache Directory Server is an embeddable LDAP server written in
        Java.  It has been designed to introduce triggers, stored procedures,
        queues and views to the world of LDAP which has lacked these rich
        constructs.
      </p>
      
      <table>
        <tr>
          <th>Topic</th>
          <th>Description</th>
        </tr>
        
        <tr>
          <td>
            <a href="./features.html">Features</a>
          </td>
          <td>
            Lists existing and planned features.
          </td>
        </tr>

        <tr>
          <td>
            <a href="./roadmap.html">Roadmap</a>
          </td>
          <td>
            A development roadmap.
          </td>
        </tr>

        <tr>
          <td>
            <a href="./users/index.html">User's Guide</a>
          </td>
          <td>
            Material that might go into a user's guide or howto section.
          </td>
        </tr>

        <tr>
          <td>
            <a href="./developers/index.html">Developers's Guide</a>
          </td>
          <td>
            Material that might go into a developer's guide.
          </td>
        </tr>

        <tr>
          <td>
            <a href="./projects/index.html">Projects</a>
          </td>
          <td>
            The sitedocs for the various maven source code projects containing
            the usual reports and info are here.
          </td>
        </tr>

      </table>


    </section>
  </body>
</document>
