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 2018/08/30 05:21:05 UTC

svn commit: r1034521 - in /websites/staging/directory/trunk/content: ./ api/user-guide/4.1-schema.html

Author: buildbot
Date: Thu Aug 30 05:21:05 2018
New Revision: 1034521

Log:
Staging update by buildbot for directory

Modified:
    websites/staging/directory/trunk/content/   (props changed)
    websites/staging/directory/trunk/content/api/user-guide/4.1-schema.html

Propchange: websites/staging/directory/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Aug 30 05:21:05 2018
@@ -1 +1 @@
-1839580
+1839632

Modified: websites/staging/directory/trunk/content/api/user-guide/4.1-schema.html
==============================================================================
--- websites/staging/directory/trunk/content/api/user-guide/4.1-schema.html (original)
+++ websites/staging/directory/trunk/content/api/user-guide/4.1-schema.html Thu Aug 30 05:21:05 2018
@@ -189,7 +189,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="41-schema">4.1 - Schema<a class="headerlink" href="#41-schema" title="Permanent link">&para;</a></h1>
-<p>TODO...</p>
+<p>A <strong>Schema</strong> is a set of elements that are used by the <strong>LDAP Server</strong> to describe the data that are stored. The top two elements are <strong>ObjectClass* and </strong>AttributeType<strong>. An </strong>ObjectClass<strong> is a container, describing what an </strong>LDAP<strong> entry can contain, while an </strong>AttributeType** describe each singe element stored in this container.</p>
+<p>The key here is that an <strong>LDAP</strong> entry uses <strong>ObjectClasses</strong> to list all the possible <strong>AttributeTypes</strong> that entry can contain, some of them being mandatory, some other optional.</p>
+<p>Now, there is more. We have many other <strong>Schema Objects</strong> that are colateral:</p>
+<ul>
+<li><strong>LdapComparator</strong> (<em>ApacheDS</em> specific)</li>
+<li><strong>DitContentRule</strong></li>
+<li><strong>DitStructureRule</strong></li>
+<li><strong>MatchingRule</strong></li>
+<li><strong>MatchingRuleUse</strong></li>
+<li><strong>NameForm</strong></li>
+<li><strong>Normalizer</strong> (<em>ApacheDS</em> specific)</li>
+<li><strong>Syntax</strong></li>
+<li><strong>SyntaxChecker</strong> (<em>ApacheDS</em> specific)</li>
+</ul>
+<p>Most of those elements are defined in <a href="https://tools.ietf.org/html/rfc4512">RFC 4512</a>, we have added three others (<strong>LDdapComparator</strong>, <strong>Normalizer</strong> and <strong>SyntaxChecker</strong>) in order to make the server easy to extend by adding some new ones.</p>
+<p>Those <strong>SchemaObjects</strong> are used to refine the relation between elements, or define their syntax, or some other constraints. The most important ones are <strong>LdapComparator</strong>, <strong>MatchingRule</strong>, <strong>Normalizer</strong>, <strong>Syntax</strong> and <strong>SyntaxChecker</strong>. All of them have dependencies, exposed in this picture:</p>
+<p><img alt="SchemaObjects relationship" src="images/SchemaObjects.png" /> </p>
 
 
     <div class="nav">