You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bu...@apache.org on 2015/07/06 00:34:38 UTC

svn commit: r957126 [9/18] - in /websites/staging/directory/trunk/content: ./ apacheds/ apacheds/advanced-ug/ apacheds/basic-ug/ apacheds/configuration/ apacheds/kerberos-ug/ api/ api/download/ api/groovy-api/ api/user-guide/ escimo/ fortress/ fortress...

Modified: websites/staging/directory/trunk/content/api/groovy-api/5-groovy-ldap-reference.html
==============================================================================
--- websites/staging/directory/trunk/content/api/groovy-api/5-groovy-ldap-reference.html (original)
+++ websites/staging/directory/trunk/content/api/groovy-api/5-groovy-ldap-reference.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,6 +173,17 @@
     </div>
 
 
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
 <h1>5 - Groovy LDAP Reference</h1>
 
 <div class="toc">
@@ -192,10 +203,10 @@
 </li>
 </ul>
 </div>
-<h2 id="search">search</h2>
+<h2 id="search">search<a class="headerlink" href="#search" title="Permanent link">&para;</a></h2>
 <p>The <em>search</em> method performs an LDAP search operation and returns the result as a list of entries. In Groovy LDAP, an entry is simply a map.</p>
-<h3 id="three-options-to-call-a-search-method">Three options to call a search method</h3>
-<h4 id="short-cut-methods">Short cut methods</h4>
+<h3 id="three-options-to-call-a-search-method">Three options to call a search method<a class="headerlink" href="#three-options-to-call-a-search-method" title="Permanent link">&para;</a></h3>
+<h4 id="short-cut-methods">Short cut methods<a class="headerlink" href="#short-cut-methods" title="Permanent link">&para;</a></h4>
 <p>For the most common types of search requests, the <em>LDAP</em> class contains two direct methods.</p>
 <div class="codehilite"><pre><span class="kd">public</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">search</span><span class="o">(</span> <span class="n">String</span> <span class="n">filter</span> <span class="o">)</span> <span class="kd">throws</span> <span class="n">NamingException</span>
 <span class="kd">public</span> <span class="n">List</span><span class="o">&lt;</span><span class="n">Object</span><span class="o">&gt;</span> <span class="n">search</span><span class="o">(</span> <span class="n">String</span> <span class="n">filter</span><span class="o">,</span> <span class="n">String</span> <span class="n">base</span><span class="o">,</span> <span class="n">SearchScope</span> <span class="n">scope</span> <span class="o">)</span> <span class="kd">throws</span> <span class="n">NamingException</span>
@@ -215,7 +226,7 @@
 </pre></div>
 
 
-<h3 id="using-a-search-object">Using a Search object</h3>
+<h3 id="using-a-search-object">Using a Search object<a class="headerlink" href="#using-a-search-object" title="Permanent link">&para;</a></h3>
 <p>The class org.apache.directory.groovyldap.Search is a JavaBean which contains parameters for a search.</p>
 <table>
 <thead>
@@ -271,7 +282,7 @@
 </pre></div>
 
 
-<h4 id="using-map-style-syntax">Using map style syntax</h4>
+<h4 id="using-map-style-syntax">Using map style syntax<a class="headerlink" href="#using-map-style-syntax" title="Permanent link">&para;</a></h4>
 <p>A very handy way to call search operations is to use the expressive map style arguments. The same properties as described for the <em>Search</em> class are supported. Here is an example.</p>
 <div class="codehilite"><pre><span class="o">...</span>
 <span class="n">results</span> <span class="o">=</span> <span class="n">ldap</span><span class="o">.</span><span class="na">search</span><span class="o">(</span><span class="nl">filter:</span> <span class="err">&#39;</span><span class="o">(</span><span class="n">objectClass</span><span class="o">=</span><span class="n">person</span><span class="o">)</span><span class="err">&#39;</span><span class="o">,</span> 
@@ -281,7 +292,7 @@
 
 
 <p>The order of arguments does not matter, and this variant is very descriptive, and therefore recommended to use.</p>
-<h3 id="using-filter-arguments">Using filter arguments</h3>
+<h3 id="using-filter-arguments">Using filter arguments<a class="headerlink" href="#using-filter-arguments" title="Permanent link">&para;</a></h3>
 <p>JNDI supports filter expressions with placeholders like {0}, {1} etc., and Groovy LDAP offers their use as well. 
 Here is a simple example:</p>
 <div class="codehilite"><pre><span class="o">...</span>
@@ -295,7 +306,7 @@ Here is a simple example:</p>
 
 
 <p>It is possible to use this in map style as well.</p>
-<h3 id="specifying-the-attributes-returned-by-a-search">Specifying the attributes returned by a search</h3>
+<h3 id="specifying-the-attributes-returned-by-a-search">Specifying the attributes returned by a search<a class="headerlink" href="#specifying-the-attributes-returned-by-a-search" title="Permanent link">&para;</a></h3>
 <p>tbd.</p>
 
 

Modified: websites/staging/directory/trunk/content/api/groovy-api/6-groovy-ldap-origin.html
==============================================================================
--- websites/staging/directory/trunk/content/api/groovy-api/6-groovy-ldap-origin.html (original)
+++ websites/staging/directory/trunk/content/api/groovy-api/6-groovy-ldap-origin.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,7 +173,18 @@
     </div>
 
 
-<h1 id="6-groovy-ldap-origin">6-Groovy LDAP Origin</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="6-groovy-ldap-origin">6-Groovy LDAP Origin<a class="headerlink" href="#6-groovy-ldap-origin" title="Permanent link">&para;</a></h1>
 <p>I did some research about accessing LDAP from <a href="http://groovy.codehaus.org">Groovy</a>, in order to create some simple scripts. It is possible to use both JNDI and libraries like Netscape or Novell SDK from Groovy (you can basically use any Java library in Groovy scripts).</p>
 <p>But these approaches have disadvantages. Netscape SDK is plain LDAP, so the scripts look like one familiar to LDAP would expect. But the API is not connected very well to the Collection API, so sometimes it is not easy to use the result from Groovy. And you have a non-standard dependency. JNDI on the other hand is easier to use (exists in every VM), but the scripts look <strong>horrible</strong>, because of the LDAP abstraction JNDI does. For instance you have to type "entry.nameInNamespace" instead of "entry.DN" (Netscape).</p>
 <p>It seems that there does no special solution/library for Groovy and LDAP exist. So I started to create a little prototype. Basically, it is a wrapper which uses JNDI (in order to omit the dependency to a non-standard library) under the hood, but looks like LDAP from the outside (script). Unfortunately, I am not a Groovy expert. </p>

Modified: websites/staging/directory/trunk/content/api/groovy-ldap.html
==============================================================================
--- websites/staging/directory/trunk/content/api/groovy-ldap.html (original)
+++ websites/staging/directory/trunk/content/api/groovy-ldap.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -154,6 +154,17 @@
 
 
 
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
 <h1>Groovy LDAP</h1>
 
 <p>Learn about an attempt to make LDAP available from Groovy scripts in a way, LDAP people would expect. </p>
@@ -177,14 +188,14 @@
 <blockquote>
 <p><strong>Note:</strong> Please note that this is not an official sub project of Apache Directory yet. There are no official releases. However if interest in this client library increases, it may become a sub project very soon.</p>
 </blockquote>
-<h2 id="mission-statement">Mission Statement</h2>
+<h2 id="mission-statement">Mission Statement<a class="headerlink" href="#mission-statement" title="Permanent link">&para;</a></h2>
 <p>Create a way to access LDAP from Groovy scripts, which is suitable for people familiar to LDAP. Primary audience are people who plan to write simple scripts against their LDAP servers. This is not about LDAP abstraction. The API should be comparable to the native LDAP library for C, in order to provide an easy start for the primary target group. Nevertheless it should "smell" like other Groovy integration solutions (namely GSQL) do. Especially the use of closures is planned. In order to reduce the number of dependencies, nothing besides Java SE and Groovy itself should be used. JNDI will therefore be used under the hood to communicate with LDAP. </p>
 <ul>
 <li>Why this? Learn more about the origin of this attempt <a href="groovy-ldap-origin.html">here</a>. </li>
 </ul>
-<h2 id="how-it-looks-like-in-groovy">How it looks like in Groovy</h2>
+<h2 id="how-it-looks-like-in-groovy">How it looks like in Groovy<a class="headerlink" href="#how-it-looks-like-in-groovy" title="Permanent link">&para;</a></h2>
 <p>Here are two example scripts which use Groovy LDAP in order to give you a first impression. Learn more about how to use Groovy LDAP in the <a href="groovy-ldap-user-guide.html">User Guide</a>.</p>
-<h3 id="adding-an-entry">Adding an entry</h3>
+<h3 id="adding-an-entry">Adding an entry<a class="headerlink" href="#adding-an-entry" title="Permanent link">&para;</a></h3>
 <p>The attribute values of an LDAP entry can be defined with the help of the expressive Map syntax of Groovy ([DIRxSBOX:...)). The following script uses the add operation to create a new entry in the directory:</p>
 <div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.directory.groovyldap.LDAP</span>
 
@@ -209,7 +220,7 @@ objectClass: top
 </pre></div>
 
 
-<h3 id="performing-an-ldap-search-with-a-closure">Performing an LDAP search with a closure</h3>
+<h3 id="performing-an-ldap-search-with-a-closure">Performing an LDAP search with a closure<a class="headerlink" href="#performing-an-ldap-search-with-a-closure" title="Permanent link">&para;</a></h3>
 <p>Besides the operations found in the classic LDAP API, Groovy LDAP provides advanced functionality with the help of features specific to the Groovy language. Here is an example which performs a search operation, and executes the behavior given via a closure for each entry found:</p>
 <div class="codehilite"><pre><span class="kn">import</span> <span class="nn">org.apache.directory.groovyldap.LDAP</span>
 
@@ -229,15 +240,15 @@ objectClass: top
 </pre></div>
 
 
-<h2 id="current-status">Current status</h2>
+<h2 id="current-status">Current status<a class="headerlink" href="#current-status" title="Permanent link">&para;</a></h2>
 <p>Creation of the solution has just been started. We do not know, whether it will become an official project with releases and so (no official release yet). Even the name is not final yet. The current version only supports five of the LDAP operations (search, add, delete, compare, modify) explicitly. </p>
-<h3 id="get-involved">Get involved</h3>
+<h3 id="get-involved">Get involved<a class="headerlink" href="#get-involved" title="Permanent link">&para;</a></h3>
 <p>Feel free to ask questions and provide feedback! Use the <a href="../mailing-lists-and-irc.html">Apache Directory mailing lists</a> for this purpose.</p>
 <p>For issue tracking, Groovy LDAP has a project within the <a href="http://issues.apache.org/jira/browse/DIRGROOVY">JIRA</a> installation of the Apache Software Foundation.</p>
-<h3 id="alternatives">Alternatives</h3>
+<h3 id="alternatives">Alternatives<a class="headerlink" href="#alternatives" title="Permanent link">&para;</a></h3>
 <p>There are other efforts to bring the Groovy and the LDAP World together.
 An interesting alternative to Groovy LDAP is Gldapo (<a href="http://gldapo.codehaus.org/">http://gldapo.codehaus.org/</a>)</p>
-<h2 id="where-to-go-from-here">Where to go from here</h2>
+<h2 id="where-to-go-from-here">Where to go from here<a class="headerlink" href="#where-to-go-from-here" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="groovy-api/1-groovy-ldap-download.html">Download</a> a binary version including the source code</li>
 <li>Read the <a href="groovy-api/2-groovy-ldap-user-guide.html">User Guide</a> in order to understand which operations are already implemented, and how to use them</li>

Modified: websites/staging/directory/trunk/content/api/index.html
==============================================================================
--- websites/staging/directory/trunk/content/api/index.html (original)
+++ websites/staging/directory/trunk/content/api/index.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -167,7 +167,7 @@
           The API is OSGI ready and extensible. New controls, schema elements and network layer could be added or used in the near future.
         </div>
         <div class="download-link">
-          <a href="./../api/downloads.html" class="download_badge"><b>Download Apache<br>LDAP API 1.0.0-M30</b></a>
+          <a href="./../api/downloads.html" class="download_badge"><b>Download Apache<br>LDAP API 1.0.0-M31</b></a>
         </div>
       </div>
       <div class="right">
@@ -177,7 +177,27 @@
   
 
   
-    <div class="news"><h1 id="news">News</h1>
+    <div class="news"><style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="news">News<a class="headerlink" href="#news" title="Permanent link">&para;</a></h1>
+<p><h2 class="news">Apache Directory LDAP API 1.0.0-M31 released <em>posted on July 5th, 2015</em></h2></p>
+<p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M31 of the Apache Directory LDAP API.</p>
+<p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
+<p>This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.</p>
+<p>It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.</p>
+<p>This release fixes a security vulnerability, <a href="https://bugs.launchpad.net/bugs/cve/2015-3250">CVE-2015-3250</a>.</p>
+<p>Feel free to experiment, we highly appreciate your feedback !</p>
+<p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
+<h1 id="news_1">News<a class="headerlink" href="#news_1" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M30 released <em>posted on May 2nd, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M30 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -204,7 +224,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_1">News</h1>
+<h1 id="news_2">News<a class="headerlink" href="#news_2" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M29 released <em>posted on April 2nd, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M29 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -235,7 +255,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_2">News</h1>
+<h1 id="news_3">News<a class="headerlink" href="#news_3" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M28 released <em>posted on January 15th, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M28 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -250,7 +270,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_3">News</h1>
+<h1 id="news_4">News<a class="headerlink" href="#news_4" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M27 released <em>posted on December 29th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M27 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -259,7 +279,7 @@
 <p>This release included a new Control : <em>proxied-authz</em> <a href="https://www.rfc-editor.org/rfc/rfc4370.txt">RFC-4370</a>, and a major cleanup of the OSGi Manifests. </p>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_4">News</h1>
+<h1 id="news_5">News<a class="headerlink" href="#news_5" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M26 released <em>posted on November 22th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M26 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -269,7 +289,7 @@
 <p><b>Bugs : </b></p>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_5">News</h1>
+<h1 id="news_6">News<a class="headerlink" href="#news_6" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M25 released <em>posted on November 11th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M25 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -288,7 +308,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_6">News</h1>
+<h1 id="news_7">News<a class="headerlink" href="#news_7" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M24 released <em>posted on August 2th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M24 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -303,7 +323,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_7">News</h1>
+<h1 id="news_8">News<a class="headerlink" href="#news_8" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M23 released <em>posted on July 4th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M23 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -321,7 +341,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_8">News</h1>
+<h1 id="news_9">News<a class="headerlink" href="#news_9" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M22 released <em>posted on April 22th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M22 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>

Modified: websites/staging/directory/trunk/content/api/java-api.html
==============================================================================
--- websites/staging/directory/trunk/content/api/java-api.html (original)
+++ websites/staging/directory/trunk/content/api/java-api.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -154,9 +154,20 @@
 
 
 
-<h1 id="ldap-java-api">LDAP Java API</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="ldap-java-api">LDAP Java API<a class="headerlink" href="#ldap-java-api" title="Permanent link">&para;</a></h1>
 <p>This is the Java implementation of a new LDAP API. This effort was initially conducted with the OpenDS team.</p>
-<h2 id="background">Background</h2>
+<h2 id="background">Background<a class="headerlink" href="#background" title="Permanent link">&para;</a></h2>
 <p>There are a few existing LDAP API around there. Here is a short list and description.</p>
 <table>
 <thead>
@@ -207,7 +218,7 @@
 </tbody>
 </table>
 <p>(There may be some more we don't know about)</p>
-<h2 id="features">Features</h2>
+<h2 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h2>
 <p>The <a href="user-guide.html">User Guide</a> pages gives the list of features the API provides.</p>
 
 

Modified: websites/staging/directory/trunk/content/api/news.html
==============================================================================
--- websites/staging/directory/trunk/content/api/news.html (original)
+++ websites/staging/directory/trunk/content/api/news.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -154,7 +154,27 @@
 
 
 
-<h1 id="news">News</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="news">News<a class="headerlink" href="#news" title="Permanent link">&para;</a></h1>
+<p><h2 class="news">Apache Directory LDAP API 1.0.0-M31 released <em>posted on July 5th, 2015</em></h2></p>
+<p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M31 of the Apache Directory LDAP API.</p>
+<p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
+<p>This is a schema aware API, with some convenient ways to access a LDAP server. This API is not only targeting the Apache Directory Server, but should work pristine with any LDAP server.</p>
+<p>It's also an extensible API : new Controls, schema elements and network layer could be added or used in the near future. It's also OSGi capable.</p>
+<p>This release fixes a security vulnerability, <a href="https://bugs.launchpad.net/bugs/cve/2015-3250">CVE-2015-3250</a>.</p>
+<p>Feel free to experiment, we highly appreciate your feedback !</p>
+<p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
+<h1 id="news_1">News<a class="headerlink" href="#news_1" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M30 released <em>posted on May 2nd, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M30 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -181,7 +201,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_1">News</h1>
+<h1 id="news_2">News<a class="headerlink" href="#news_2" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M29 released <em>posted on April 2nd, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M29 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -212,7 +232,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_2">News</h1>
+<h1 id="news_3">News<a class="headerlink" href="#news_3" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M28 released <em>posted on January 15th, 2015</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M28 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -227,7 +247,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_3">News</h1>
+<h1 id="news_4">News<a class="headerlink" href="#news_4" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M27 released <em>posted on December 29th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M27 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -236,7 +256,7 @@
 <p>This release included a new Control : <em>proxied-authz</em> <a href="https://www.rfc-editor.org/rfc/rfc4370.txt">RFC-4370</a>, and a major cleanup of the OSGi Manifests. </p>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_4">News</h1>
+<h1 id="news_5">News<a class="headerlink" href="#news_5" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M26 released <em>posted on November 22th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M26 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -246,7 +266,7 @@
 <p><b>Bugs : </b></p>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_5">News</h1>
+<h1 id="news_6">News<a class="headerlink" href="#news_6" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M25 released <em>posted on November 11th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M25 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -265,7 +285,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_6">News</h1>
+<h1 id="news_7">News<a class="headerlink" href="#news_7" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M24 released <em>posted on August 2th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M24 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -280,7 +300,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_7">News</h1>
+<h1 id="news_8">News<a class="headerlink" href="#news_8" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M23 released <em>posted on July 4th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M23 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>
@@ -298,7 +318,7 @@
 </ul>
 <p>Feel free to experiment, we highly appreciate your feedback !</p>
 <p>Downloads are available <a href="downloads.html">here</a> and the User's Guide is <a href="user-guide.html">there</a></p>
-<h1 id="news_8">News</h1>
+<h1 id="news_9">News<a class="headerlink" href="#news_9" title="Permanent link">&para;</a></h1>
 <p><h2 class="news">Apache Directory LDAP API 1.0.0-M22 released <em>posted on April 22th, 2014</em></h2></p>
 <p>The Apache Directory Team is proud to announce the availability of version 1.0.0-M22 of the Apache Directory LDAP API.</p>
 <p>The Apache Directory LDAP API is an ongoing effort to provide an enhanced LDAP API, as a replacement for JNDI and the existing LDAP API (jLdap and Mozilla LDAP API).</p>

Modified: websites/staging/directory/trunk/content/api/user-guide.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -154,7 +154,18 @@
 
 
 
-<h1 id="users-guide">Users guide</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="users-guide">Users guide<a class="headerlink" href="#users-guide" title="Permanent link">&para;</a></h1>
 <DIV class="note" markdown="1">
 <strong>Work in progress</strong>
 
@@ -166,14 +177,14 @@ Other pages are finished (but may be rev
 </DIV>
 
 <p>This documentation is about the newly LDAP API developped at the Apache Software Foundation. We expect this API will be a replacement for all the ancient API (<a href="http://www.openldap.org/jldap/">jLdap</a>, <a href="http://www.mozilla.org/directory/">Mozilla LDAP SDK</a> and <a href="http://www.oracle.com/technetwork/java/jndi/index.html">JNDI</a>).</p>
-<h2 id="about-this-guide">About this guide</h2>
+<h2 id="about-this-guide">About this guide<a class="headerlink" href="#about-this-guide" title="Permanent link">&para;</a></h2>
 <p>Getting started. Learn how to use the LDAP API, connect to various LDAP server, manipulate the data within your directory. </p>
-<h3 id="audience">Audience</h3>
+<h3 id="audience">Audience<a class="headerlink" href="#audience" title="Permanent link">&para;</a></h3>
 <p>This guide is primarily for people new to the LDAP API. If you plan to use the API as is, maybe even for your first LDAP experience, you'll (hopefully) find all information necessary to do so. Only basic tasks are covered. Learn more about the options you have (and many other things) in the [Advanced User's Guide].</p>
-<h3 id="feedback-welcome">Feedback welcome!</h3>
+<h3 id="feedback-welcome">Feedback welcome!<a class="headerlink" href="#feedback-welcome" title="Permanent link">&para;</a></h3>
 <p>We are quite interested to improve the content of this guide. Feel free to provide us feedback:
 !email.png! <a href="mailto:users@directory.apache.org">mailto:users@directory.apache.org</a></p>
-<h3 id="table-of-contents">Table of contents</h3>
+<h3 id="table-of-contents">Table of contents<a class="headerlink" href="#table-of-contents" title="Permanent link">&para;</a></h3>
 <ul>
 <li>
 <p><a href="user-guide/1-introduction.html">1 - Introduction</a></p>

Modified: websites/staging/directory/trunk/content/api/user-guide/1-introduction.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/1-introduction.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/1-introduction.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,10 +173,21 @@
     </div>
 
 
-<h1 id="1-introduction">1 - Introduction</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="1-introduction">1 - Introduction<a class="headerlink" href="#1-introduction" title="Permanent link">&para;</a></h1>
 <p>This User Guide goal is to provide some clue for any developer wanting to use the LDAP API. We have mixed some description of each important features with some tested snippet of code (all of them has been integrated as tests in the API code).</p>
 <p>We hope it will be enough for you to quickly get started, but in any case, if you feel like improving this document, feel free to post your suggestion to the Apache Directory mailing list : any contribution is welcomed !</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="1.1-java-and-ldap.html">1.1 - Java and LDAP</a></li>
 <li><a href="1.2-ldap-in-a-few-words.html">1.2 - LDAP in a few words</a></li>

Modified: websites/staging/directory/trunk/content/api/user-guide/1.1-java-and-ldap.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/1.1-java-and-ldap.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/1.1-java-and-ldap.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,7 +173,18 @@
     </div>
 
 
-<h1 id="11-java-and-ldap">1.1 - Java and LDAP</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="11-java-and-ldap">1.1 - Java and LDAP<a class="headerlink" href="#11-java-and-ldap" title="Permanent link">&para;</a></h1>
 <p>Most developer will, at some point, face the tricky task to communicate with a <strong>LDAP</strong> server. <strong>LDAP</strong> seems to be a very simple technology, but when you get deep into it, you realize that many aspects are not well known, and not so easy to deal with.</p>
 <p>Java is most certainly the number one language used in the enterprise, for around 10 years now. Some even call it the new <strong>Cobol</strong> !</p>
 <p>Those two facts make it necessary to be able to communicate with a <strong>LDAP</strong> server in <strong>Java</strong>. This is ware a convenient <strong>API</strong> is useful, and this is why we decided to provide this <strong>API</strong>.</p>

Modified: websites/staging/directory/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/1.2-ldap-in-a-few-words.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,19 +173,30 @@
     </div>
 
 
-<h1 id="12-ldap-in-a-few-words">1.2 - LDAP in a few words</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="12-ldap-in-a-few-words">1.2 - LDAP in a few words<a class="headerlink" href="#12-ldap-in-a-few-words" title="Permanent link">&para;</a></h1>
 <p><strong>LDAP</strong> is not a new technlology. It has been around since mid 1990, as a way to mitigate the complexity of the <strong>X.500</strong> based servers access. It's name is an acronym for <strong>L</strong>ightweight <strong>D</strong>irectory <strong>A</strong>ccess <strong>P</strong>rotocol. Soon after the first standard has been issued, the first full <em>LDAP</em> server was written (ie, X.500 was pushed out of the equation).</p>
 <p>We will now use the term <strong>LDAP</strong> and <strong>LDAP</strong> server for respectively the protocole and the server.</p>
-<h2 id="features">Features</h2>
+<h2 id="features">Features<a class="headerlink" href="#features" title="Permanent link">&para;</a></h2>
 <p>A <strong>LDAP</strong> server provides access to entries, stored in a backend. It offers an interrogation mechanism allowing fast retrieval of entries. The data structure is hierarchical, and we use a schema to manage the content of entries, plus the organisation of data.</p>
 <p>A <strong>LDAP</strong> client first has to connect to the server, and disconnect at the end. Some operations can be done on data, searches, modification and deletion, among a few others.</p>
 <p><strong>LDAP</strong> servers are extensible, but they all use a common protocol which makes it easy for users to request them. This API is an exemple of what <strong>LDAP</strong> is very good at : access data in a fast way, across servers.</p>
-<h2 id="characteristics">Characteristics</h2>
+<h2 id="characteristics">Characteristics<a class="headerlink" href="#characteristics" title="Permanent link">&para;</a></h2>
 <p><strong>LDAP</strong> servers are fast for retrievals : they have been designed for this purpose. On the other hand, modifications can be costly. This has to be understood when writing an application using a <strong>LDAP</strong> server as a backend.</p>
 <p>Each entry is identified by it's position in the hierarchy, and we use what is called a <strong>D</strong>istinguished <strong>N</strong>ame (or <strong>Dn</strong>) to describe this position in the tree. The base is also named the <strong>DIT</strong>, or <strong>D</strong>irectory <strong>I</strong>nformation <strong>T</strong>ree.</p>
-<h2 id="programming">Programming</h2>
+<h2 id="programming">Programming<a class="headerlink" href="#programming" title="Permanent link">&para;</a></h2>
 <p>Nowadays, <strong>LDAP</strong> is a part of the <strong>IT</strong> and it's difficult to avoid having to deal with it. <strong>LDAP</strong> servers are used to manage authentication, mainly, but also authorization, and more. It's very likely that you will have to write some code to access such a <strong>LDAP</strong> server, and the existing <strong>API</strong> are a bit cumbersome. This new <strong>LDAP API</strong> has been defined to facilitate this kind of tasks.</p>
-<h2 id="going-further">Going further</h2>
+<h2 id="going-further">Going further<a class="headerlink" href="#going-further" title="Permanent link">&para;</a></h2>
 <p>This was a very short introduction, you can find more literature about <strong>LDAP</strong> on the web : <a href="http://en.wikipedia.org/wiki/LDAP">Wikipedia</a> gives you a good starting point with many valid pointers.</p>
 
 

Modified: websites/staging/directory/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/1.3-apache-ldap-api-rational.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,7 +173,18 @@
     </div>
 
 
-<h1 id="13-the-apache-ldap-api-rational">1.3 - The Apache LDAP API rational</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="13-the-apache-ldap-api-rational">1.3 - The Apache LDAP API rational<a class="headerlink" href="#13-the-apache-ldap-api-rational" title="Permanent link">&para;</a></h1>
 <p>Once we start to think about creating a new <strong>LDAP</strong> <strong>API</strong>, the first thing that comes to mind is that it could be a duplication of effort : there are already many libraries offering almost everything needed to write <strong>LDAP</strong> code. Some of them are :</p>
 <ul>
 <li><strong>JNDI</strong> : the default <strong>JDK</strong> <strong>API</strong></li>
@@ -182,7 +193,7 @@
 </ul>
 <p>So what makes the development of a new <em>LDAP JAVA API</em> a valid effort, and not another version of <strong><a href="http://en.wikipedia.org/wiki/Not_Invented_Here">NIH</a></strong> syndrom ?</p>
 <p>There are many reasons why we decided to start to work on such an <strong>API</strong>, and we will expose them in this chapter.</p>
-<h2 id="history">history</h2>
+<h2 id="history">history<a class="headerlink" href="#history" title="Permanent link">&para;</a></h2>
 <p>The Apache Directory Server project was first built on top of <strong>JNDI</strong>, but many of the internal <strong>LDAP</strong> structure were developed internally, just because <strong>JNDI</strong> was not designed specifically for <strong>LDAP</strong>, so it was not convenient for us to use those structure. Step by step, all of the <strong>LDAP</strong> objects (<em>Attribute</em>, <em>Entry</em>, <em>DN</em>, ...) were implemented again.</p>
 <p>At some point, we needed to communicate with another <strong>LDAP</strong> server without having to go through <strong>JNDI</strong>, so we developed our own <em>LdapConnection</em> class. This was the last step toward a full <strong>Java API</strong>.</p>
 <p>Strange enough, at the very same time in 2007, the <strong>Sun</strong> people working on <strong>OpenDS</strong> contacted us to know if we would agree to work on what would have become the next version of <strong>JNDI</strong> (<a href="https://blogs.oracle.com/treydrake/entry/resurrecting_the_java_ldap_centric">Resurrecting The Java LDAP Centric API</a>. Sadly, this effort soon staled, as it seemed that <em>JNDI2</em> was not anymore an urgency for <strong>Sun</strong>. We decided to go on but the pace was slow.</p>
@@ -194,7 +205,7 @@
 <li>An easy to use <strong>API</strong></li>
 <li>An <strong>API</strong> taking advantage of the new <strong>Java</strong> construction (generics, ellipsis, NIO)</li>
 </ul>
-<h2 id="result">Result</h2>
+<h2 id="result">Result<a class="headerlink" href="#result" title="Permanent link">&para;</a></h2>
 <p>The newly defined <strong>API</strong> fulfill all those aspects. </p>
 <p>We also wanted to make this <strong>API</strong> available for the masses. The Apache Software Foundation value quality and community over code, which means we think that the code is the result of a collaborative work, our users being a part of this collaboration. Every bug a user find, it's an opportunity to provide a better version of the <strong>API</strong>.</p>
 <p>At he end, we are proud to deliver an <strong>API</strong> which is used in the Apache Directory Server, but also in the Ldap Browser. </p>

Modified: websites/staging/directory/trunk/content/api/user-guide/1.4-preparation-to-code.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/1.4-preparation-to-code.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/1.4-preparation-to-code.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,7 +173,18 @@
     </div>
 
 
-<h1 id="14-preparation-to-code">1.4 - Preparation to code</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="14-preparation-to-code">1.4 - Preparation to code<a class="headerlink" href="#14-preparation-to-code" title="Permanent link">&para;</a></h1>
 <p>In order to develop with the <strong>Apache Directory LDAP API</strong>, you first have to use a <strong>Java 6</strong> JDK or higher. </p>
 <p>Second, you have to download the <strong><a href="http://directory.apache.org/api/downloads.html">API</a></strong>. This package contains not only the <strong>LDAP API</strong>, but also all the needed jars (like <em>commons-lang</em>, <em>slf4j</em>...).</p>
 <p>If you are using <strong>Maven</strong>, you don't even have to refer all the libraries that are found in the package, they will be deduced automatically. You will just have to add a dependency on <em>api-all.jar</em> :</p>

Modified: websites/staging/directory/trunk/content/api/user-guide/2-basic-ldap-api-usage.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/2-basic-ldap-api-usage.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/2-basic-ldap-api-usage.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,11 +173,22 @@
     </div>
 
 
-<h1 id="2-basic-ldap-api-usage">2 - Basic LDAP API usage (...)</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="2-basic-ldap-api-usage">2 - Basic LDAP API usage (...)<a class="headerlink" href="#2-basic-ldap-api-usage" title="Permanent link">&para;</a></h1>
 <p>We provide three different set of methods to send requests to the <strong>LDAP</strong> server :
 <em> A first set which is the simplest, where the methods don't return a response, except the <em>search</em> and <em>compare</em> methods</em> A second set, for advanced users, giving full control to the user
 * A third set allowing the user to send asynchronous requests.</p>
-<h2 id="contents">Contents</h2>
+<h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="2.1-connection-disconnection.html">2.1 - Connection and disconnection</a></li>
 <li><a href="2.2-binding-unbinding.html">2.2 - Binding and unbinding (...)</a></li>

Modified: websites/staging/directory/trunk/content/api/user-guide/2.1-connection-disconnection.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/2.1-connection-disconnection.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/2.1-connection-disconnection.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,18 +173,29 @@
     </div>
 
 
-<h1 id="21-connection-and-disconnection">2.1 - Connection and disconnection</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="21-connection-and-disconnection">2.1 - Connection and disconnection<a class="headerlink" href="#21-connection-and-disconnection" title="Permanent link">&para;</a></h1>
 <p><strong>LDAP</strong> is a protocol which requires the user to be connected - and likely identified - in order to be able to send requests to the server. We maintain this connection potentially forever. What make the <strong>LDAP</strong> protocol different from, say, the <strong>HTTP</strong> protocol is that the connection must be issued explicitly. Let's see how we do that.</p>
-<h2 id="opening-a-connection">Opening a connection</h2>
+<h2 id="opening-a-connection">Opening a connection<a class="headerlink" href="#opening-a-connection" title="Permanent link">&para;</a></h2>
 <p>We can open a secure or a standard connection. </p>
-<h3 id="standard-connection">Standard connection</h3>
+<h3 id="standard-connection">Standard connection<a class="headerlink" href="#standard-connection" title="Permanent link">&para;</a></h3>
 <p>We can first establish a standard connection, where the data are sent and received in clear text (encoded in ASN.1 BER, but still not encrypted). This example expose the way it's done :</p>
 <div class="codehilite"><pre><span class="n">LdapConnection</span> <span class="n">connection</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LdapNetworkConnection</span><span class="o">(</span> <span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">389</span> <span class="o">);</span>
 </pre></div>
 
 
 <p>Here, we just created an unsafe connection locally, using the 389 port. Quite simple...</p>
-<h3 id="secure-connection">Secure connection</h3>
+<h3 id="secure-connection">Secure connection<a class="headerlink" href="#secure-connection" title="Permanent link">&para;</a></h3>
 <p>Although the <strong>LDAPS</strong> (<strong>LDAP</strong> over <strong>SSL</strong>) is now considered as deprecated, many people continue to use it. The big advantage of not using <strong>LDAPS</strong> is that you don't need to setup two different listening ports (one for <strong>LDAP</strong> -389- and another one for <strong>LDAPS</strong> -636- ).</p>
 <p>The only difference with the previous example is that we have to tell the connection that it has to use <strong>SSL</strong>, by passing <strong><em>true</em></strong> as a third parameter (incidentally, passing <strong><em>false</em></strong> set a unsafe connection).</p>
 <p>Here is an example</p>
@@ -192,7 +203,7 @@
 </pre></div>
 
 
-<h2 id="maintaining-the-connection-opened">Maintaining the connection opened</h2>
+<h2 id="maintaining-the-connection-opened">Maintaining the connection opened<a class="headerlink" href="#maintaining-the-connection-opened" title="Permanent link">&para;</a></h2>
 <p>We keep the connection opened for a limited period of time, defaulting to 30 seconds. This might be not long enough, so one can change this delay by calling the <em>setTimeOut()</em> method :</p>
 <div class="codehilite"><pre><span class="n">LdapConnection</span> <span class="n">connection</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LdapNetworkConnection</span><span class="o">(</span> <span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">389</span> <span class="o">);</span>
 <span class="n">connection</span><span class="o">.</span><span class="na">setTimeOut</span><span class="o">(</span> <span class="mi">0</span> <span class="o">);</span>
@@ -204,7 +215,7 @@
 <blockquote>
 <p><strong>Note:</strong> Setting a value equal or below 0 will keep the connection opened for ever (or a soon as the connection is not explicitly closed).</p>
 </blockquote>
-<h2 id="closing-the-connection">Closing the connection</h2>
+<h2 id="closing-the-connection">Closing the connection<a class="headerlink" href="#closing-the-connection" title="Permanent link">&para;</a></h2>
 <p>Once you don't need to use the connection anymore (remember that hodling a connection keeps a session opened on the server, and a socket opened between the client and the server), then you have to close it. This is done by calling the <em>close()</em> method :</p>
 <div class="codehilite"><pre><span class="n">LdapConnection</span> <span class="n">connection</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LdapNetworkConnection</span><span class="o">(</span> <span class="s">&quot;localhost&quot;</span><span class="o">,</span> <span class="mi">389</span> <span class="o">);</span>
 <span class="o">...</span>
@@ -212,7 +223,7 @@
 </pre></div>
 
 
-<h2 id="using-a-pool-of-connections">Using a pool of connections</h2>
+<h2 id="using-a-pool-of-connections">Using a pool of connections<a class="headerlink" href="#using-a-pool-of-connections" title="Permanent link">&para;</a></h2>
 <p>Creating a connection is expensive. If you are to reuse a connection over and over, or if you are writing an application that will need many LDAP conenctions, you may want to use a pool of connections.</p>
 <p>This is slightly more complex than simply opening a new connection, as you have a lot of parametrs that can come into play when creating a pool.
 Here is an example of creation of a pool of connections :</p>

Modified: websites/staging/directory/trunk/content/api/user-guide/2.10-ldap-connection-template.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/2.10-ldap-connection-template.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/2.10-ldap-connection-template.html Sun Jul  5 22:34:35 2015
@@ -104,7 +104,7 @@
     </ul>
     <h5>Downloads</h5>
     <ul>
-	    <li><a href="./../../api/downloads.html">Version 1.0.0-M30</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
+	    <li><a href="./../../api/downloads.html">Version 1.0.0-M31</a>&nbsp;&nbsp;<IMG src="./../../images/new_badge.gif" alt="" style="margin-bottom:-3px;" border="0"></li>
         <li><a href="./../../api/download-old-versions.html">Older versions</a></li>
     </ul>
     <h5>Getting Started</h5>
@@ -173,7 +173,18 @@
     </div>
 
 
-<h1 id="210-why-use-the-ldapconnectiontemplate">2.10 - Why use the LdapConnectionTemplate?</h1>
+<style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h1 id="210-why-use-the-ldapconnectiontemplate">2.10 - Why use the LdapConnectionTemplate?<a class="headerlink" href="#210-why-use-the-ldapconnectiontemplate" title="Permanent link">&para;</a></h1>
 <p>The LdapConnectionTemplate provides simplified access to the API functions.  It does so by</p>
 <ul>
 <li><a href="#managing-connections">Managing Connections</a></li>
@@ -184,7 +195,7 @@
 <li><a href="#other-useful-methods">Other Useful Methods</a></li>
 </ul>
 <p>The concept is basically that of the Template Method design pattern in that it does all the boiler plate work for you and hands back control as necessary.</p>
-<h2 id="managing-connections">Managing Connections</h2>
+<h2 id="managing-connections">Managing Connections<a class="headerlink" href="#managing-connections" title="Permanent link">&para;</a></h2>
 <p>The connection template manages connections through a connection pool.  The connection pool must be supplied to the constructor:</p>
 <div class="codehilite"><pre><span class="n">LdapConnectionConfig</span> <span class="n">config</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LdapConnectionConfig</span><span class="o">();</span>
 <span class="n">config</span><span class="o">.</span><span class="na">setLdapHost</span><span class="o">(</span> <span class="n">hostname</span> <span class="o">);</span>
@@ -218,14 +229,14 @@
 
 
 <p>This may look like a lot, but most of it is optional and it is the last you will have to think about connections.</p>
-<h2 id="providing-factory-methods-for-model-objects">Providing Factory Methods For Model Objects</h2>
+<h2 id="providing-factory-methods-for-model-objects">Providing Factory Methods For Model Objects<a class="headerlink" href="#providing-factory-methods-for-model-objects" title="Permanent link">&para;</a></h2>
 <p>The connection template implements an interface called ModelFactory.  Any implementation of this factory can be injected into the template once it is constructed.  By default, it uses ModelFactoryImpl which in turn constructs the standard Apache LDAP API model objects.  This abstractions frees you from having to be concerned with implementation details while still giving you the power to override the default behavior as you see fit.</p>
 <div class="codehilite"><pre><span class="n">ModelFactory</span> <span class="n">modelFactory</span> <span class="o">=</span> <span class="k">new</span> <span class="n">MyCustomModelFactory</span><span class="o">();</span>
 <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">setModelFactory</span><span class="o">(</span> <span class="n">modelFactory</span> <span class="o">);</span>
 </pre></div>
 
 
-<h2 id="providing-crud-methods">Providing CRUD Methods</h2>
+<h2 id="providing-crud-methods">Providing CRUD Methods<a class="headerlink" href="#providing-crud-methods" title="Permanent link">&para;</a></h2>
 <p>The standard CRUD methods are provided (<em>though in this case Add, Lookup, Modify, Delete</em>) with a couple useful overloads.  Add, Delete, and Modify all provide at least 2 approaches.  The first is creating your own XxxRequest objects and supplying that to the method.  These request objects can be created using the ModelFactory methods provided by LdapConnectionTemplate.  The second, more elegant solution, is to use the DN and RequestBuilder approach.  This approach will generate the request for you from the internal ModelFactory and provide it to a callback for you to fill in the details.  This has the added benefit of translating any LdapException's that may occur (usually due to model implementation setter methods) to LdapRuntimeException, to remove the <strong><em>need</em></strong> for try/catch blocks.  Now for some examples:</p>
 <p>Add provides the standard approaches of supplying your own AddRequest and using RequestBuilder, as well as a third shortcut approach where you supply all the attributes instead of a RequestBuilder:</p>
 <div class="codehilite"><pre><span class="c1">// using RequestBuilder</span>
@@ -299,7 +310,7 @@
 
 
 <p>More information on EntryMapper can be found in the <a href="#handling-search-result-iteration">Handling Search Result Iteration</a> section.</p>
-<h2 id="handling-search-result-iteration">Handling Search Result Iteration</h2>
+<h2 id="handling-search-result-iteration">Handling Search Result Iteration<a class="headerlink" href="#handling-search-result-iteration" title="Permanent link">&para;</a></h2>
 <p>Searching usually contains a lot of boiler plate code for build requests and iterating through responses.  This template does the work for you. It iterates over the entire result set, feeds each entry through an EntryMapper, and collects the results into the list returned to the caller.  All you have to do is provide the EntryMapper for mapping a single entry to a domain object.  EntryMapper itself is a very simple interface with one method.  As you saw before in the lookup documentation, they are typically defined as static members of your service classes:</p>
 <div class="codehilite"><pre><span class="c1">// typically mappers are reused, so define a static member</span>
 <span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">EntryMapper</span> <span class="n">muppetEntryMapper</span> <span class="o">=</span>
@@ -352,7 +363,7 @@
 
 
 <p>This has the added benefit of ensuring that your search filter has been property encoded per <a href="https://tools.ietf.org/html/rfc4515.html#section-3">RFC4515 section 3</a>.  For more information, see <a href="/api/user-guide/2.11-filter-builder.html">Filter Builder</a>.</p>
-<h2 id="providing-simplified-password-policy-aware-authenticationpassword-modification-methods">Providing Simplified, Password Policy Aware, Authentication/Password Modification Methods</h2>
+<h2 id="providing-simplified-password-policy-aware-authenticationpassword-modification-methods">Providing Simplified, Password Policy Aware, Authentication/Password Modification Methods<a class="headerlink" href="#providing-simplified-password-policy-aware-authenticationpassword-modification-methods" title="Permanent link">&para;</a></h2>
 <p>One of the most common uses of LDAP is as an identity provider.  As such, the most common operation is authentication, and password management.  If your LDAP server supports the <a href="http://tools.ietf.org/html/draft-behera-ldap-password-policy-10">password policy control</a> then the authenticate method is very handy:</p>
 <div class="codehilite"><pre><span class="c1">// throws PasswordException if authentication fails</span>
 <span class="n">PasswordWarning</span> <span class="n">warning</span> <span class="o">=</span> <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">authenticate</span><span class="o">(</span> 
@@ -382,7 +393,7 @@
 
 
 <p>If you modify the password as an administrator, then the oldPassword is not required, and if your password policy is set to, the password reset flag will be set causing a PasswordWarning to be returned the next time authenticate was called for that user.</p>
-<h2 id="other-useful-methods">Other Useful Methods</h2>
+<h2 id="other-useful-methods">Other Useful Methods<a class="headerlink" href="#other-useful-methods" title="Permanent link">&para;</a></h2>
 <p>The template provides a method that will check the response and throw an exception if the request was not successful.  It was designed to be chained:</p>
 <div class="codehilite"><pre><span class="c1">// using DN only</span>
 <span class="n">DeleteResponse</span> <span class="n">response</span> <span class="o">=</span> <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">responseOrException</span><span class="o">(</span>