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 2016/12/31 16:42:22 UTC

svn commit: r1003841 - in /websites/staging/directory/trunk/content: ./ api/user-guide/

Author: buildbot
Date: Sat Dec 31 16:42:22 2016
New Revision: 1003841

Log:
Staging update by buildbot for directory

Modified:
    websites/staging/directory/trunk/content/   (props changed)
    websites/staging/directory/trunk/content/api/user-guide/2.10-ldap-connection-template.html
    websites/staging/directory/trunk/content/api/user-guide/2.11-filter-builder.html
    websites/staging/directory/trunk/content/api/user-guide/4-schema-management.html
    websites/staging/directory/trunk/content/api/user-guide/4.2-schema-manager.html
    websites/staging/directory/trunk/content/api/user-guide/4.2.1.1-attribute-types.html
    websites/staging/directory/trunk/content/api/user-guide/4.2.1.2-object-classes.html
    websites/staging/directory/trunk/content/api/user-guide/4.2.1.3-syntaxes.html
    websites/staging/directory/trunk/content/api/user-guide/4.2.1.4-matching-rules.html
    websites/staging/directory/trunk/content/api/user-guide/4.2.1.8-name-forms.html

Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sat Dec 31 16:42:22 2016
@@ -1 +1 @@
-1776682
+1776795

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 Sat Dec 31 16:42:22 2016
@@ -193,7 +193,7 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="#providing-simplified-password-policy-aware-authenticationpassword-modification-methods">Providing Simplified, Password Policy Aware, Authentication/Password Modification Methods</a></li>
 <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>
+<p>Conceptually it uses the Template Method design pattern to do all of the boiler plate work for you.  It can give control back as needed for special cases.</p>
 <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>
@@ -230,9 +230,9 @@ h2:hover > .headerlink, h3:hover > .head
 </pre></div>
 
 
-<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>
+<p>This may look complicated, but most of the parameters are optional and it's an easy way for you to manage connections in a safe and efficient manner.</p>
 <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>
+<p>The connection template implements an interface called the 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 abstraction 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>
@@ -285,7 +285,7 @@ h2:hover > .headerlink, h3:hover > .head
 </pre></div>
 
 
-<p>Delete provides the 2 standard approaches plus an additional DN only option as that is most likely enough:</p>
+<p>Delete provides the 2 standard approaches plus an additional DN-only option as that is most likely enough:</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">delete</span><span class="o">(</span> 
     <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">newDn</span><span class="o">(</span> <span class="s">&quot;uid=misspiggy,ou=muppets,dc=muppets,dc=org&quot;</span> <span class="o">)</span> <span class="o">);</span>
@@ -313,7 +313,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 <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<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>
+<p>Searching usually contains a lot of boilerplate code for building requests and iterating through its responses.  This template does the work for you. It iterates over the entire result set, feeds each entry through an EntryMapper, and assembles the results into a list tht is 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>
     <span class="k">new</span> <span class="n">EntryMapper</span><span class="o">&lt;</span><span class="n">Muppet</span><span class="o">&gt;()</span> <span class="o">{</span>
@@ -339,7 +339,7 @@ h2:hover > .headerlink, h3:hover > .head
 </pre></div>
 
 
-<p>Now that is just plain <strong><em>SIMPLE</em></strong>.  The search method has many overloads to simplify use as it is the most common LDAP operation.  There is also a searchFirst method which provides all the same overloads and is designed to return the first matching result:</p>
+<p>Now that is just plain <strong><em>SIMPLE</em></strong>.  The search method has many overloads to simplify usages for the most common LDAP operations.  There is also a searchFirst method which provides all the same overloads and is designed to return the first matching result:</p>
 <div class="codehilite"><pre><span class="n">Muppet</span> <span class="n">kermit</span> <span class="o">=</span> <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">searchFirst</span><span class="o">(</span> 
     <span class="s">&quot;ou=muppets,dc=muppets,dc=org&quot;</span><span class="o">,</span> 
     <span class="s">&quot;(mail=kermitthefrog@muppets.org)&quot;</span><span class="o">,</span> 
@@ -366,7 +366,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 <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<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>
+<p>One of the most common usages 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> 
     <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">newDn</span><span class="o">(</span> <span class="s">&quot;uid=&quot;</span> <span class="o">+</span> <span class="n">uid</span> <span class="o">+</span> <span class="s">&quot;, ou=people, dc=example, dc=com&quot;</span> <span class="o">),</span>
@@ -382,7 +382,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 
 <p>In this case, if authentication failed, a PasswordException is thrown.  If authentication was successful, any warnings will be returned in the PasswordWarning object, or null will be returned if there are no warnings.</p>
-<p>Modifying a password is just as simple:</p>
+<p>Modifying a password is simple as well:</p>
 <div class="codehilite"><pre><span class="c1">// using administrator account to modify a users password</span>
 <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">modifyPassword</span><span class="o">(</span> <span class="n">userDn</span><span class="o">,</span> <span class="n">password</span> <span class="o">);</span>
 
@@ -396,7 +396,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 <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<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>
+<p>The template provides a method that checks the response and throws an exception if the request was unsuccessful.  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> 
     <span class="n">ldapConnectionTemplate</span><span class="o">.</span><span class="na">delete</span><span class="o">(</span> 

Modified: websites/staging/directory/trunk/content/api/user-guide/2.11-filter-builder.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/2.11-filter-builder.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/2.11-filter-builder.html Sat Dec 31 16:42:22 2016
@@ -184,7 +184,7 @@
 }
 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="211-the-filterbuildere">2.11 - The FilterBuilder(e)<a class="headerlink" href="#211-the-filterbuildere" title="Permanent link">&para;</a></h1>
-<p>This class is a builder for constructing well formed search filters according to <a href="https://tools.ietf.org/html/rfc4515.html">RFC 4515</a>. This builder is most convenient when you use static imports. For example:</p>
+<p>This class is a builder for constructing well formed search filters according to <a href="https://tools.ietf.org/html/rfc4515.html">RFC 4515</a>. This builder is most convenient when using static imports. For example:</p>
 <div class="codehilite"><pre> <span class="n">import</span> <span class="n">static</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">directory</span><span class="p">.</span><span class="n">ldap</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">search</span><span class="p">.</span><span class="n">FilterBuilder</span><span class="p">.</span><span class="n">and</span><span class="p">;</span>
  <span class="n">import</span> <span class="n">static</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">directory</span><span class="p">.</span><span class="n">ldap</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">search</span><span class="p">.</span><span class="n">FilterBuilder</span><span class="p">.</span><span class="n">equal</span><span class="p">;</span>
  <span class="n">import</span> <span class="n">static</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">directory</span><span class="p">.</span><span class="n">ldap</span><span class="p">.</span><span class="n">client</span><span class="p">.</span><span class="n">api</span><span class="p">.</span><span class="n">search</span><span class="p">.</span><span class="n">FilterBuilder</span><span class="p">.</span><span class="n">or</span><span class="p">;</span>
@@ -204,7 +204,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 
 <h2 id="and-filter">And filter<a class="headerlink" href="#and-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will &amp; together all of the supplied filters. For example:</p>
+<p>Returns a new FilterBuilder that will combine all of the supplied filters with a <strong>logical AND</strong> (&amp;). For example:</p>
 <div class="codehilite"><pre><span class="n">and</span><span class="p">(</span> <span class="n">equal</span><span class="p">(</span> &quot;<span class="n">givenName</span>&quot;<span class="p">,</span> &quot;<span class="n">kermit</span>&quot; <span class="p">),</span> <span class="n">equal</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">the</span> <span class="n">frog</span>&quot; <span class="p">)</span> <span class="p">).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 
@@ -212,7 +212,7 @@ h2:hover > .headerlink, h3:hover > .head
 <p>would result in the string: <em>(&amp;(givenName=kermit)(sn=the frog))</em></p>
 <p>Which would match all entries with a given name of kermit and a surname the frog.</p>
 <h2 id="or-filter">Or filter<a class="headerlink" href="#or-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will | together all of the supplied filters. For example:</p>
+<p>Returns a new FilterBuilder that will combine all of the supplied filters with a <strong>logical OR</strong> (|). For example:</p>
 <div class="codehilite"><pre><span class="n">or</span><span class="p">(</span> <span class="n">equal</span><span class="p">(</span> &quot;<span class="n">givenName</span>&quot;<span class="p">,</span> &quot;<span class="n">kermit</span>&quot; <span class="p">),</span> <span class="n">equal</span><span class="p">(</span> &quot;<span class="n">givenName</span>&quot;<span class="p">,</span> &quot;<span class="n">walter</span>&quot; <span class="p">)</span> <span class="p">).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 
@@ -220,7 +220,7 @@ h2:hover > .headerlink, h3:hover > .head
 <p>would result in the string: <em>(|(givenName=kermit)(givenName=walter))</em></p>
 <p>Which would match any entry with the givenName of either kermit or walter.</p>
 <h2 id="not-filter">Not filter<a class="headerlink" href="#not-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder for negating another filter. For example:</p>
+<p>Returns a new FilterBuilder for negating another filter (!). For example:</p>
 <div class="codehilite"><pre><span class="n">not</span><span class="p">(</span> <span class="n">present</span><span class="p">(</span> &quot;<span class="n">givenName</span>&quot; <span class="p">)</span> <span class="p">).</span><span class="n">toString</span><span class="p">();</span>
 </pre></div>
 
@@ -258,8 +258,7 @@ For example:</p>
 
 
 <p>would result in the string: <em>(cn:dn:=Kermit The Frog)</em></p>
-<p>Which would match entries with the common name Kermit The Frog even if the
-common name was only specified as part of the dn.</p>
+<p>Which would match entries with the common name Kermit The Frog even if the common name was only specified as part of the dn.</p>
 <div class="codehilite"><pre><span class="n">extensible</span><span class="p">(</span> &quot;<span class="n">cn</span>&quot;<span class="p">,</span> &quot;<span class="n">Kermit</span> <span class="n">The</span> <span class="n">Frog</span>&quot; <span class="p">)</span>
     <span class="p">.</span><span class="n">setMatchingRule</span><span class="p">(</span> &quot;<span class="n">caseExactMatch</span>&quot; <span class="p">)</span>
     <span class="p">.</span><span class="n">toString</span><span class="p">();</span>
@@ -267,8 +266,7 @@ common name was only specified as part o
 
 
 <p>would result in the string: <em>(cn:caseExactMatch:=Kermit The Frog)</em></p>
-<p>Which would match entries with the common name Kermit The Frog, using a case
-sensitive matcher.</p>
+<p>Which would match entries with the common name Kermit The Frog, using a case sensitive matcher.</p>
 <div class="codehilite"><pre><span class="n">extensible</span><span class="p">(</span> &quot;<span class="n">cn</span>&quot;<span class="p">,</span> &quot;<span class="n">Kermit</span> <span class="n">The</span> <span class="n">Frog</span>&quot; <span class="p">)</span>
     <span class="p">.</span><span class="n">useDnAttributes</span><span class="p">()</span>
     <span class="p">.</span><span class="n">setMatchingRule</span><span class="p">(</span> &quot;<span class="n">caseExactMatch</span>&quot; <span class="p">)</span>
@@ -277,8 +275,7 @@ sensitive matcher.</p>
 
 
 <p>would result in the string: <em>(cn:dn:caseExactMatch:=Kermit The Frog)</em></p>
-<p>Which would match entries with the common name Kermit The Frog, using a case
-sensitive matcher even if the name was only specified as part of the dn.</p>
+<p>Which would match entries with the common name Kermit The Frog, using a case sensitive matcher even if the name was only specified as part of the dn.</p>
 <div class="codehilite"><pre><span class="n">extensible</span><span class="p">(</span> &quot;<span class="n">Kermit</span> <span class="n">The</span> <span class="n">Frog</span>&quot; <span class="p">)</span>
     <span class="p">.</span><span class="n">setMatchingRule</span><span class="p">(</span> &quot;1<span class="p">.</span>2<span class="p">.</span>3<span class="p">.</span>4<span class="p">.</span>5<span class="p">.</span>6<span class="p">.</span>7&quot; <span class="p">)</span>
     <span class="p">.</span><span class="n">toString</span><span class="p">();</span>
@@ -286,8 +283,7 @@ sensitive matcher even if the name was o
 
 
 <p>would result in the string: <em>(:1.2.3.4.5.6.7:=Kermit The Frog)</em></p>
-<p>Which would match entries with any attribute whose value is Kermit The Frog, 
-using the <em>hypothetical</em> matching rule indicated by the oid 1.2.3.4.5.6.7.</p>
+<p>Which would match entries with any attribute whose value is Kermit The Frog, using the <em>hypothetical</em> matching rule indicated by the oid 1.2.3.4.5.6.7.</p>
 <h2 id="less-or-equal-filter">Less Or Equal Filter<a class="headerlink" href="#less-or-equal-filter" title="Permanent link">&para;</a></h2>
 <p>Returns a new FilterBuilder for testing lexicographical less than. For example:</p>
 <div class="codehilite"><pre><span class="n">lessThanOrEqual</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">mzzzzzz</span>&quot; <span class="p">).</span><span class="n">toString</span><span class="p">();</span>
@@ -313,7 +309,7 @@ using the <em>hypothetical</em> matching
 <p>would result in the string: <em>(l~=san fransico)</em></p>
 <p>Which MIGHT match results whose locality is San Francisco. The matching rule used to apply this filter is dependent on the server implementation.</p>
 <h2 id="startswith-filter">StartsWith Filter<a class="headerlink" href="#startswith-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will construct a SubString filter with an initial part, zero or more any parts, but no final part. For instance:</p>
+<p>Returns a new FilterBuilder that constructs a SubString filter with an initial part, zero or more any parts, but no final part. For example:</p>
 <div class="codehilite"><pre><span class="n">startsWith</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">Th</span>&quot;<span class="p">,</span> &quot;<span class="n">Soft</span>&quot;<span class="p">,</span> &quot;<span class="n">Foun</span>&quot; <span class="p">)).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 
@@ -321,7 +317,7 @@ using the <em>hypothetical</em> matching
 <p>would result in the string: <em>(sn=Th*Soft*Foun*)</em></p>
 <p>Which would match any entry with an sn starting with the string 'Th', followed by 'Soft', then 'Foun', like 'The Apache Software Foundation'.</p>
 <h2 id="endswith-filter">EndsWith Filter<a class="headerlink" href="#endswith-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will construct a SubString filter with no initial part, zero or more any parts, and a final part. For instance:</p>
+<p>Returns a new FilterBuilder that constructs a SubString filter with no initial part, zero or more any parts, and a final part. For instance:</p>
 <div class="codehilite"><pre><span class="n">endsWith</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">Soft</span>&quot;<span class="p">,</span> &quot;<span class="n">Foun</span>&quot;<span class="p">,</span> &quot;<span class="n">ion</span>&quot; <span class="p">)).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 
@@ -329,7 +325,7 @@ using the <em>hypothetical</em> matching
 <p>would result in the string: <em>(sn=*Soft*Foun*ion)</em></p>
 <p>Which would match any entry with an sn containing the string 'Soft' followed by 'Foun' ending in 'ion', like 'The Apache Software Foundation'.</p>
 <h2 id="contains-filter">Contains Filter<a class="headerlink" href="#contains-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will construct a SubString filter with no initial part, zero or more any parts, and no final part. For instance:</p>
+<p>Returns a new FilterBuilder that constructs a SubString filter with no initial part, zero or more any parts, and no final part. For instance:</p>
 <div class="codehilite"><pre><span class="n">contains</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">Soft</span>&quot;<span class="p">,</span> &quot;<span class="n">Foun</span>&quot; <span class="p">)).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 
@@ -337,7 +333,7 @@ using the <em>hypothetical</em> matching
 <p>would result in the string: <em>(sn=*Soft*Foun*)</em></p>
 <p>Which would match any entry with an sn containing the string 'Soft' followed by 'Foun', like 'The Apache Software Foundation'.</p>
 <h2 id="substring-filter">Substring Filter<a class="headerlink" href="#substring-filter" title="Permanent link">&para;</a></h2>
-<p>Returns a new FilterBuilder that will construct a SubString filter with an initial part, zero or more any parts, and a final part. For instance:</p>
+<p>Returns a new FilterBuilder that constructs a SubString filter with an initial part, zero or more any parts, and a final part. For instance:</p>
 <div class="codehilite"><pre><span class="n">substring</span><span class="p">(</span> &quot;<span class="n">sn</span>&quot;<span class="p">,</span> &quot;<span class="n">The</span>&quot;<span class="p">,</span> &quot;<span class="n">Soft</span>&quot;<span class="p">,</span> &quot;<span class="n">Foun</span>&quot;<span class="p">,</span> &quot;<span class="n">ion</span>&quot; <span class="p">)).</span><span class="n">toString</span><span class="p">()</span>
 </pre></div>
 

Modified: websites/staging/directory/trunk/content/api/user-guide/4-schema-management.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4-schema-management.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4-schema-management.html Sat Dec 31 16:42:22 2016
@@ -184,8 +184,8 @@
 }
 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="4-schema-management">4 - Schema Management<a class="headerlink" href="#4-schema-management" title="Permanent link">&para;</a></h1>
-<p>All the LDAP servers have a schema, and this schema is used to define what are the accepted elements, and their syntax.</p>
-<p>A LDAP Schema is a complex combinaison of many schema elements. We will define here what are those schema elements, and how we organize them. Last, not least, we will explain how to leverage the schema on the client side.</p>
+<p>Every LDAP server necessarily has a schema that's used to define its accepted data elements along with their rules for usage (syntax).</p>
+<p>An LDAP Schema is a complex combination of many schema elements. Here's we'll define those schema elements and how to organize them. Last, but not least, we'll explain how to leverage the schema on the client side.</p>
 <h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="4.1-schema.html">Schema</a></li>

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2-schema-manager.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2-schema-manager.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2-schema-manager.html Sat Dec 31 16:42:22 2016
@@ -184,7 +184,7 @@
 }
 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="42-schema-manager">4.2 - Schema Manager<a class="headerlink" href="#42-schema-manager" title="Permanent link">&para;</a></h1>
-<p>The API and the ApacheDS server have to keep the schema elements available. This is done through what we call the <strong>SchemaManager</strong>. It hides all the internal structure from the users.</p>
+<p>The API and the ApacheDS server components must to keep schema elements available to interroate and use. This is done through what we call a <strong>SchemaManager</strong>. It hides the internal structure of the schema objects from the users.</p>
 <h2 id="contents">Contents<a class="headerlink" href="#contents" title="Permanent link">&para;</a></h2>
 <ul>
 <li><a href="4.2.1-schema-objects.html">SchemaObjects</a><ul>
@@ -203,30 +203,29 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="4.2.43-schema-loader.html">SchemaLoader</a></li>
 </ul>
 <h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">&para;</a></h2>
-<p>The <strong>SchemaManager</strong> stores all the Schema elements (<strong><a href="">AttributeTypes (e)</a></strong>, <strong><a href="">ObjectClasses (e)</a></strong>, ... Internally, we store those elements into what we call the <strong>Registries</strong>, which are hives where each Schema Objects are stored. Each schema element has a dedicated <strong>Registry</strong>. Think of it as a Map which returns a reference to a specific Schema Element when you know it's name or its OID.</p>
-<div class="codehilite"><pre><span class="n">Note</span> <span class="o">:</span> <span class="k">each</span> <span class="n">Schema</span> <span class="n">Element</span> <span class="k">is</span> <span class="n">properly</span> <span class="n">defined</span> <span class="n">by</span> <span class="n">one</span> <span class="n">of</span> <span class="n">its</span> <span class="n">names</span> <span class="n">or</span> <span class="n">its</span> <span class="n">OID</span><span class="o">.</span> <span class="n">The</span> <span class="n">OID</span> <span class="k">is</span> <span class="n">unique</span> <span class="n">across</span> <span class="n">all</span> <span class="n">the</span> <span class="n">schema</span> <span class="n">elements</span><span class="o">,</span>
-<span class="n">when</span> <span class="n">the</span> <span class="n">name</span> <span class="n">can</span> <span class="n">be</span> <span class="n">used</span> <span class="k">in</span> <span class="n">different</span> <span class="n">schema</span> <span class="n">element</span> <span class="o">(</span><span class="k">for</span> <span class="n">instance</span><span class="o">,</span> <span class="n">the</span> <span class="o">**</span><span class="n">audio</span><span class="o">**</span> <span class="n">AttributeType</span> <span class="n">or</span> <span class="n">ObjectClass</span><span class="o">)</span>
+<p>The <strong>SchemaManager</strong> stores all the Schema elements (<strong><a href="">AttributeTypes (e)</a></strong>, <strong><a href="">ObjectClasses (e)</a></strong>, ... Internally, we store these elements into what is call a <strong>Registries</strong>.  Registries are hives where each Schema Object is stored. Each schema element has a dedicated <strong>Registry</strong> associated with it. Think of it as a Map which returns a reference to a specific Schema Element according to its name or OID.</p>
+<div class="codehilite"><pre><span class="n">Note</span> <span class="o">:</span> <span class="k">each</span> <span class="n">Schema</span> <span class="n">Element</span> <span class="k">is</span> <span class="n">properly</span> <span class="n">defined</span> <span class="n">by</span> <span class="n">one</span> <span class="n">of</span> <span class="n">its</span> <span class="n">names</span> <span class="n">or</span> <span class="n">OID</span><span class="o">.</span> <span class="n">The</span> <span class="n">OID</span> <span class="n">must</span> <span class="n">be</span> <span class="n">unique</span> <span class="n">across</span> <span class="n">all</span> <span class="n">schema</span> <span class="n">elements</span><span class="o">,</span> <span class="n">when</span> <span class="n">the</span> <span class="n">name</span> <span class="n">can</span> <span class="n">be</span> <span class="n">used</span> <span class="k">in</span> <span class="n">different</span> <span class="n">schem
 a</span> <span class="n">element</span> <span class="o">(</span><span class="k">for</span> <span class="n">instance</span><span class="o">,</span> <span class="n">the</span> <span class="o">**</span><span class="n">audio</span><span class="o">**</span> <span class="n">AttributeType</span> <span class="n">or</span> <span class="n">ObjectClass</span><span class="o">)</span>
 </pre></div>
 
 
-<p>From the user point of view, the <strong>SchemaManager</strong> is seen as a representation of the available LDAP schema elements. It can of course be extended, or modified, by adding or removing some schema elements. For historic reasons, the schema elements are gathered into what we call a <strong>schema</strong>. Usually, this is what you load into a <strong>schemaManager</strong></p>
-<p>The server has one instance of a <strong>SchemaManager</strong>, which is used internally, and a user won't control it, in any case. On the client side, we can load a <strong>SchemaManager</strong> either from the server (and then we have a duplicated instance), or from existing schema files. We can even create a brand new <strong>SchemaManager</strong> and fill it with all what we need.</p>
+<p>From the user point of view, the <strong>SchemaManager</strong> is seen as a representation of the available LDAP schema elements. It can of course be extended, or modified, by adding or removing schema elements. For historic reasons, the schema elements are gathered into what we call a <strong>schema</strong>. Usually, this is what you load into a <strong>schemaManager</strong></p>
+<p>The server has one instance of a <strong>SchemaManager</strong>, which is used internally, and a users aren't allowed to control it. On the client side, we can load a <strong>SchemaManager</strong> either from the server (which will be a duplicated instance), or from existing schema files. We can even create a brand new <strong>SchemaManager</strong> and fill it with anything needed.</p>
 <h2 id="the-various-pieces-of-the-puzzle">The various pieces of the puzzle...<a class="headerlink" href="#the-various-pieces-of-the-puzzle" title="Permanent link">&para;</a></h2>
-<p>Creating a <strong>SchemaManager</strong> results in a complex structure to be created, and involves a lot of other helper class to be used. We will separate the description in three groups :</p>
+<p>Creating a <strong>SchemaManager</strong> results in a complex structure being created, and involves a lot of other helper class. We will separate the description into three groups:</p>
 <ul>
 <li>The elements stored in the <strong>SchemaManager</strong></li>
 <li>The containers in which those <strong>SchemaObject</strong> instances are stored, called <strong>Registries</strong></li>
 <li>The classes used to initialize the <strong>SchemaManager</strong>, called the <strong>SchemaLoader</strong> (whch comes in various flavors)</li>
 </ul>
 <h2 id="getting-a-schemamanager">Getting a SchemaManager<a class="headerlink" href="#getting-a-schemamanager" title="Permanent link">&para;</a></h2>
-<p>The very first thing when you want to have access to the schema elements is to access to the <strong>SchemaManager</strong>. This can be done in many ways :</p>
+<p>The very first thing we do to access the schema elements is to gain access to the <strong>SchemaManager</strong>. This can be done in many ways:</p>
 <ul>
 <li>you can create one from scratch, and load it with the elements you want</li>
 <li>you can use a default <strong>SchemaManager</strong>, with some default schema elements</li>
 <li>you can create a <strong>SchemaManager</strong>, and load the schema elements from a destination</li>
 <li>last, not least - and probably the most interesting possibility -, you can connect to a LDAP server and load the schema from it.</li>
 </ul>
-<p>We will show how to proceed in those four use cases.</p>
+<p>We will show how to proceed in each of these four use cases.</p>
 <h2 id="using-a-schemamanager">Using a SchemaManager<a class="headerlink" href="#using-a-schemamanager" title="Permanent link">&para;</a></h2>
 <p>Let's first assume you have an instance of a <strong>SchemaManager</strong> (we will see later how to get such an instance). </p>
 

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2.1.1-attribute-types.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2.1.1-attribute-types.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2.1.1-attribute-types.html Sat Dec 31 16:42:22 2016
@@ -184,7 +184,7 @@
 }
 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="4211-attributetypes">4.2.1.1 - AttributeTypes<a class="headerlink" href="#4211-attributetypes" title="Permanent link">&para;</a></h1>
-<p>The <strong>AttributeType</strong> <strong>SchemaObject</strong> expose some extra parameters. Here is the description as found in RFC 4512 :</p>
+<p>The <strong>AttributeType</strong> <strong>SchemaObject</strong> exposes extra parameters. Here is the description as found in RFC 4512 :</p>
 <div class="codehilite"><pre>4<span class="p">.</span>1<span class="p">.</span>2<span class="p">.</span>  <span class="n">Attribute</span> <span class="n">Types</span>
 
 <span class="n">Attribute</span> <span class="n">Type</span> <span class="n">definitions</span> <span class="n">are</span> <span class="n">written</span> <span class="n">according</span> <span class="n">to</span> <span class="n">the</span> <span class="n">ABNF</span><span class="p">:</span>
@@ -212,7 +212,7 @@ h2:hover > .headerlink, h3:hover > .head
 </pre></div>
 
 
-<p>The follwing methods have been added to cover the ones that are not already present in the <strong>SchemaObject</strong> interface :</p>
+<p>The follwing methods have been added to cover ones not already present within the <strong>SchemaObject</strong> interface :</p>
 <ul>
 <li>getEquality() : returns the <strong>MatchingRule</strong> instance used to control the equality of the <strong>AttributeType</strong></li>
 <li>getEqualityName() : returns the name of the EQUALITY <strong>MatchingRule</strong>.</li>
@@ -239,7 +239,7 @@ h2:hover > .headerlink, h3:hover > .head
 <li>isUser() : tells if the <strong>AttributeType</strong> is a USER_APPLICATIONS attribute</li>
 <li>isUserModifiable() : tells if the <strong>AttributeType</strong> is modifiable or not</li>
 </ul>
-<p>What is important to know is that an <strong>AttributeType</strong> may inherit some characteristics from a <strong>SUP</strong> <strong>AttributeType</strong>. For instance, the <strong>Syntax</strong>, <strong>MatchingRules</strong>, etc. In any case, if you don't define the specific characteristics for a give <strong>AttributeType</strong>, they will be inherited from its parent, if there is one.</p>
+<p>What is important to know is that an <strong>AttributeType</strong> may inherit some characteristics from a <strong>SUP</strong> <strong>AttributeType</strong>. For example, the <strong>Syntax</strong>, <strong>MatchingRules</strong>, etc. In any case, if you don't define the specific characteristics for a given <strong>AttributeType</strong>, they'll be inherited from its parent -- if there is one.</p>
 
 
     <div class="nav">

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2.1.2-object-classes.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2.1.2-object-classes.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2.1.2-object-classes.html Sat Dec 31 16:42:22 2016
@@ -184,7 +184,7 @@
 }
 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="4212-objectclasses">4.2.1.2 - ObjectClasses<a class="headerlink" href="#4212-objectclasses" title="Permanent link">&para;</a></h1>
-<p>The <strong>ObjectClass</strong> is representing thelist of mandatory and optional <strong>AttributeType</strong>s</p>
+<p>The <strong>ObjectClass</strong> represents the list of mandatory and optional <strong>AttributeType</strong>s</p>
 <p>Here is the description as found in RFC 4512 :</p>
 <div class="codehilite"><pre> <span class="n">ObjectClassDescription</span> <span class="p">=</span> <span class="n">LPAREN</span> <span class="n">WSP</span>
      <span class="n">numericoid</span>                 <span class="p">;</span> <span class="n">object</span> <span class="n">identifier</span>
@@ -202,7 +202,7 @@ h2:hover > .headerlink, h3:hover > .head
 
 
 <p>Each <strong>ObjectClass</strong> as a type (ABSTRACT, STRUCTURAL or AUXILIARY) and may inherit from another <strong>ObjectClass</strong></p>
-<p>The important part of the <strong>ObjectClass</strong> is the <strong>AttributeType</strong> definition : not only it lists all the <strong>AttributeTypes</strong> defined in itself, but also all the inherited ones. Note that you may have an optionnal <strong>AttributeType</strong> defined in a parent, which is made mandatory.</p>
+<p>The important part of the <strong>ObjectClass</strong> is the <strong>AttributeType</strong> definition : not only does it list all of the <strong>AttributeTypes</strong> defined in the list itself, but it also contains the inherited attribute types. Note that you may have an optional <strong>AttributeType</strong> defined in a parent, which is made mandatory.</p>
 <p>The available methods are :</p>
 <ul>
 <li>getMayAttributeTypeOids() : gets the list of optional <strong>AttributeType</strong>s (proper and inherited)</li>

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2.1.3-syntaxes.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2.1.3-syntaxes.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2.1.3-syntaxes.html Sat Dec 31 16:42:22 2016
@@ -184,7 +184,7 @@
 }
 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="4213-syntaxes">4.2.1.3 - Syntaxes<a class="headerlink" href="#4213-syntaxes" title="Permanent link">&para;</a></h1>
-<p>The <strong>LdapSyntax</strong> class implements the LDAP <strong>Syntax</strong>s schema objects. A <strong>Syntax</strong> defines a constraints applied to the <strong>AttributeType</strong> value. Here is the TFC description of a <strong>Syntax</strong> :</p>
+<p>The <strong>LdapSyntax</strong> class implements the LDAP <strong>Syntax</strong>s schema objects. A <strong>Syntax</strong> defines constraints applied to the <strong>AttributeType</strong> value. Here is the RFC description of a <strong>Syntax</strong> :</p>
 <div class="codehilite"><pre> <span class="n">SyntaxDescription</span> <span class="p">=</span> <span class="n">LPAREN</span> <span class="n">WSP</span>
      <span class="n">numericoid</span>                 <span class="p">;</span> <span class="n">object</span> <span class="n">identifier</span>
      <span class="p">[</span> <span class="n">SP</span> &quot;<span class="n">DESC</span>&quot; <span class="n">SP</span> <span class="n">qdstring</span> <span class="p">]</span>  <span class="p">;</span> <span class="n">description</span>
@@ -195,7 +195,7 @@ h2:hover > .headerlink, h3:hover > .head
 <p>The important part of the <strong>Syntax</strong> is its <strong>OID</strong> which is used in the <strong>AttributeType</strong> and <strong>MatchingRule</strong>.</p>
 <p>In order to enforce a <strong>Syntax</strong>, the <strong>LDAP API</strong> is associated with a <strong>SyntaxChecker</strong>, which is a Java class (see the chapter about ApacheDS Schema Elements).</p>
 <h2 id="methods">Methods<a class="headerlink" href="#methods" title="Permanent link">&para;</a></h2>
-<p>The two important methods you might use are :</p>
+<p>The are the two most important methods that you might need:</p>
 <ul>
 <li>getSyntaxChecker() : retreive the associated class that is used to check a syntax</li>
 <li>isHumanReadable() : tells if the AttributeType is a String or a byte[]</li>

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2.1.4-matching-rules.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2.1.4-matching-rules.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2.1.4-matching-rules.html Sat Dec 31 16:42:22 2016
@@ -184,23 +184,23 @@
 }
 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="4214-matchingrules">4.2.1.4 - MatchingRules<a class="headerlink" href="#4214-matchingrules" title="Permanent link">&para;</a></h1>
-<p>A <strong>MatchingRule</strong> is used when processing a search <strong>Filter</strong> evaluation, or a <strong>Compare</strong> or <strong>Modify</strong> operation. An <strong>AttributeType</strong> can define up to 3 types of <strong>MatchingRule</strong> :</p>
+<p>A <strong>MatchingRule</strong> is used when processing search requests using <strong>Filter</strong>s, or a <strong>Compare</strong> or during <strong>Modify</strong> operations. An <strong>AttributeType</strong> defines up to 3 types of <strong>MatchingRule</strong>s:</p>
 <ul>
 <li>EQUALITY : for comparisons for equality</li>
 <li>ORDERING : for comparisons involving the &lt;= or &gt;= operators</li>
 <li>SUBSTR : for comparisons involving substrings, like '<em>xyz' or 'x</em>z'</li>
 </ul>
-<p>There are a few extra parameter that are defined in the <strong>MatchingRule</strong> class :</p>
+<p>There are a few extra parameters that are defined in the <strong>MatchingRule</strong> class:</p>
 <ul>
 <li>getSyntax() : gets the <strong>Syntax</strong> instance associated with the <strong>MatchingRule</strong></li>
 <li>getSyntaxOid() : gets the <strong>Syntax</strong> OID associated with the <strong>MatchingRule</strong></li>
 </ul>
-<p>We also have 2 specific methods that are used to compare or normalize a value :</p>
+<p>We also have 2 specific methods that are used to compare or normalize a value:</p>
 <ul>
 <li>getLdapComparator() : gets the <strong>LdapComparator</strong> to use to compare 2 values</li>
 <li>getNormalizer() : gets the <strong>Normalizer</strong> used to normalize a value</li>
 </ul>
-<p>Those are convenient methods, specifically when you will need to compare two values.</p>
+<p>Those are convenient methods, specifically when you need to compare two values.</p>
 <p>A <strong>MatchingRule</strong> instance is associated with a <strong>LdapSyntax</strong> and a <strong>Normalizer</strong> because it may need to get information about the attribute value check and normalization. It also contains a reference to the associated <strong>LdapComparator</strong>.</p>
 
 

Modified: websites/staging/directory/trunk/content/api/user-guide/4.2.1.8-name-forms.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.2.1.8-name-forms.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.2.1.8-name-forms.html Sat Dec 31 16:42:22 2016
@@ -165,7 +165,7 @@
         </div>
         <div class="nav_next">
         
-            <a href="4.2.1.9-apacheds-schema-eleemnts.html">4.2.1.9 - ApacheDS Schema Elements</a>
+            <a href="4.2.1.9-apacheds-schema-elements.html">4.2.1.9 - ApacheDS Schema Elements</a>
 		
         </div>
         <div class="clearfix"></div>
@@ -200,7 +200,7 @@ h2:hover > .headerlink, h3:hover > .head
         </div>
         <div class="nav_next">
         
-            <a href="4.2.1.9-apacheds-schema-eleemnts.html">4.2.1.9 - ApacheDS Schema Elements</a>
+            <a href="4.2.1.9-apacheds-schema-elements.html">4.2.1.9 - ApacheDS Schema Elements</a>
 		
         </div>
         <div class="clearfix"></div>