opendj3/src/main/docbkx/dev-guide/chap-authenticating.xml
@@ -35,7 +35,7 @@ operation to perform is a bind operation. The bind operation authenticates the client to the directory.</para> <section> <section xml:id="simple-auth"> <title>Simple Authentication</title> <para>You perform simple authentication by binding with the distinguished @@ -98,13 +98,13 @@ than an administrator.</para> </section> <section> <section xml:id="simple-auth-with-starttls-or-ssl"> <title>Start TLS and SSL Authentication</title> <para>TODO</para> </section> <section> <section xml:id="sasl-auth"> <title>SASL Authentication</title> <para>TODO</para> opendj3/src/main/docbkx/dev-guide/chap-best-practices.xml
@@ -34,92 +34,92 @@ <para>Follow the advice in this chapter to write effective, maintainable, high performance directory client applications.</para> <section> <section xml:id="specify-ldapv3"> <title>Specify LDAPv3</title> <para>TODO</para> </section> <section> <section xml:id="authenticate-correctly"> <title>Authenticate Correctly</title> <para>TODO</para> </section> <section> <section xml:id="limit-connection-overhead"> <title>Limit Connection Overhead</title> <para>TODO</para> </section> <section> <section xml:id="handle-inactivity-timeouts"> <title>Handle Potential Inactivity Timeouts</title> <para>TODO</para> </section> <section> <section xml:id="retrieve-entries-intelligently"> <title>Retrieve Entries Intelligently</title> <para>TODO</para> </section> <section> <section xml:id="write-simple-conforming-filters"> <title>Write Simple, Conforming LDAP Filters</title> <para>TODO</para> </section> <section> <section xml:id="make-modifications-specific"> <title>Make Modifications Specific</title> <para>TODO</para> </section> <section> <section xml:id="trust-result-codes"> <title>Trust Result Codes</title> <para>TODO</para> </section> <section> <section xml:id="limit-dealings-with-groups"> <title>Limit Dealings With Groups</title> <para>TODO</para> </section> <section> <section xml:id="read-the-dse"> <title>Read the DSE</title> <para>TODO</para> </section> <section> <section xml:id="limit-resource-use"> <title>Use Resource-intensive Features Sparingly</title> <para>TODO</para> </section> <section> <section xml:id="avoid-hard-coding"> <title>Avoid Hard-coding Certain Information</title> <para>TODO</para> </section> <section> <section xml:id="reuse-schemas"> <title>Reuse Schemas Where Possible</title> <para>TODO</para> </section> <section> <section xml:id="handle-referrals"> <title>Handle Referrals</title> <para>TODO</para> </section> <section> <section xml:id="directory-not-relational-db"> <title>Treat a Directory as a Directory</title> <para>TODO</para> </section> <section> <section xml:id="check-result-codes"> <title>Troubleshooting: Check Result Codes</title> <para>TODO</para> </section> <section> <section xml:id="check-log-files"> <title>Troubleshooting: Check Server Log Files</title> <para>TODO</para> </section> <section> <section xml:id="inspect-network-packets"> <title>Troubleshooting: Inspect Network Packets</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-controls.xml
@@ -33,7 +33,7 @@ <para>This chapter demonstrates how to use LDAP controls.</para> <section> <section xml:id="about-ldap-controls"> <title>About LDAP Controls</title> <para>Controls provide a mechanism whereby the semantics and arguments of existing LDAP operations may be extended. One or more controls may be @@ -43,107 +43,107 @@ <emphasis>response controls</emphasis>.</para> </section> <section> <section xml:id="get-supported-controls"> <title>Determining Supported Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-assertion-request-control"> <title>Assertion Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-authorization-identity-control"> <title>Authorization Identity Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-entry-change-notification-control"> <title>Entry Change Notification Response Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-get-effective-rights-control"> <title>Get Effective Rights Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-manage-dsait-control-control"> <title>Manage DSAIT Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-matched-values-request-control"> <title>Matched Values Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-password-expired-control"> <title>Password Expired Response Control</title> <para>TODO</para> </section> <section> <section xml:id="use-password-expiring-control"> <title>Password Expiring Response Control</title> <para>TODO</para> </section> <section> <section xml:id="use-password-policy-controls"> <title>Password Policy Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-permissive-modify-request-control"> <title>Permissive Modify Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-persistent-search-request-control"> <title>Persistent Search Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-post-read-control"> <title>Post-Read Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-pre-read-control"> <title>Pre-Read Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-proxy-authz-control"> <title>Proxied Authorization Request Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-server-side-sort-control"> <title>Server-Side Sort Controls</title> <para>TODO</para> </section> <section> <section xml:id="use-simple-paged-results-control"> <title>Simple Paged Results Control</title> <para>TODO</para> </section> <section> <section xml:id="use-subentry-request-control"> <title>Sub-entries Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-subtree-delete-control"> <title>Subtree Delete Request Control</title> <para>TODO</para> </section> <section> <section xml:id="use-vlv-control"> <title>Virtual List View Controls</title> <para>TODO</para> </section> <section> <section xml:id="custom-control"> <title>Custom Controls</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-extended-ops.xml
@@ -33,38 +33,38 @@ <para>This chapter demonstrates how to use LDAP extended operations.</para> <section> <section xml:id="about-ldap-extended-operations"> <title>About LDAP Extended Operations</title> <para>Extended operations allow additional operations to be defined for services not already available in the protocol</para> </section> <section> <section xml:id="get-supported-extended-operations"> <title>Determining Supported Extended Operations</title> <para>TODO</para> </section> <section> <section xml:id="use-cancel-extended-operation"> <title>Cancel Extended Operation</title> <para>TODO</para> </section> <section> <section xml:id="use-password-modify-extended-operation"> <title>Password Modify Extended Operation</title> <para>TODO</para> </section> <section> <section xml:id="use-starttls-extended-operation"> <title>Start TLS Extended Operation</title> <para>TODO</para> </section> <section> <section xml:id="use-who-am-i-extended-operation"> <title>Who am I? Extended Operation</title> <para>TODO</para> </section> <section> <section xml:id="custom-extended-operation"> <title>Custom Extended Operations</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-get-sdk.xml
@@ -34,9 +34,7 @@ <para>This chapter introduces OpenDJ LDAP SDK, demonstrating how to get the software and to build a first basic directory client application.</para> <!-- TODO: Mavenized SDK, where to find the Javadoc. --> <section> <section xml:id="about-opendj-ldap-sdk"> <title>About OpenDJ LDAP SDK</title> <para>OpenDJ LDAP SDK provides a set of modern, developer-friendly Java APIs @@ -54,7 +52,7 @@ supported by modern LDAP servers.</para> </section> <section> <section xml:id="prepare-ldap-server"> <title>Preparing an LDAP Server</title> <para>Install an LDAP server such as OpenDJ directory server that you can @@ -75,9 +73,7 @@ Java 6 by running the following command.</para> <screen>$ java -version java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-9M3326) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)</screen> java version "1.6.0_24"</screen> <procedure xml:id="install-stable-sdk"> <title>To Install the Latest Stable SDK</title> @@ -94,43 +90,43 @@ </step> <step> <para>Unzip the bundle, <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>.zip</filename>, <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion}?>.zip</filename>, where you want to install the SDK.</para> <screen>$ unzip opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>.zip</screen> <screen>$ unzip opendj-ldap-toolkit-<?eval ${currentSDKversion}?>.zip</screen> </step> <step> <para>Unpack the OpenDJ LDAP SDK documentation, <filename>opendj-ldap-sdk-<?eval ${currentSDKversion} ?>-javadoc.jar</filename>, <filename>opendj-ldap-sdk-<?eval ${currentSDKversion}?>-javadoc.jar</filename>, under the SDK install directory.</para> <screen>$ mkdir opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>/javadoc $ cd opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>/javadoc $ jar -xf /path/to/opendj-ldap-sdk-<?eval ${currentSDKversion} ?>-javadoc.jar</screen> <screen>$ mkdir opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/javadoc $ cd opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/javadoc $ jar -xf /path/to/opendj-ldap-sdk-<?eval ${currentSDKversion}?>-javadoc.jar</screen> </step> <step> <para>Add the tools to your PATH.</para> <screen>(UNIX) $ export PATH=/path/to/opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>/bin:$PATH</screen> $ export PATH=/path/to/opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/bin:$PATH</screen> <screen>(Windows) C:\>set PATH=\\path\to\opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>\bat:%PATH%</screen> C:\>set PATH=\\path\to\opendj-ldap-toolkit-<?eval ${currentSDKversion}?>\bat:%PATH%</screen> </step> <step> <para> Add the OpenDJ LDAP SDK for the APIs, the I18N core library, Grizzly I/O framework for the transport, and GlassFish management APIs to your CLASSPATH, typically found under <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>/lib/</filename>.</para> <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/lib/</filename>.</para> <screen>(UNIX) $ export CLASSPATH=/path/to/lib/gmbal-api-only-3.0.0-b023.jar:$CLASSPATH $ export CLASSPATH=/path/to/lib/grizzly-framework-2.1.2.jar:$CLASSPATH $ export CLASSPATH=/path/to/lib/i18n-core-1.2.0.jar:$CLASSPATH $ export CLASSPATH=/path/to/lib/management-api-3.0.0-b012.jar:$CLASSPATH $ export CLASSPATH=/path/to/lib/opendj-ldap-sdk-<?eval ${currentSDKversion} ?>.jar:$CLASSPATH $ export CLASSPATH=/path/to/lib/opendj-ldap-sdk-<?eval ${currentSDKversion}?>.jar:$CLASSPATH </screen> <screen>(Windows) C:\>set CLASSPATH=\\path\to\lib\gmbal-api-only-3.0.0-b023.jar:%CLASSPATH% C:\>set CLASSPATH=\\path\to\lib\grizzly-framework-2.1.2.jar:%CLASSPATH% C:\>set CLASSPATH=\\path\to\lib\i18n-core-1.2.0.jar:%CLASSPATH% C:\>set CLASSPATH=\\path\to\lib\management-api-3.0.0-b012.jar:%CLASSPATH% C:\>set CLASSPATH=\\path\to\lib\opendj-ldap-sdk-<?eval ${currentSDKversion} ?>.jar:%CLASSPATH%</screen> C:\>set CLASSPATH=\\path\to\lib\opendj-ldap-sdk-<?eval ${currentSDKversion}?>.jar:%CLASSPATH%</screen> </step> </procedure> @@ -183,22 +179,22 @@ </step> <step> <para>Unzip the tools and libraries included in the file, <filename>opendj3/opendj-ldap-toolkit/target/opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>.zip</filename>.</para> <filename>opendj3/opendj-ldap-toolkit/target/opendj-ldap-toolkit-<?eval ${currentSDKversion}?>.zip</filename>.</para> </step> <step> <para>Add the <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/bin</filename> (UNIX) or <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>\bat</filename> (UNIX) or <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion}?>\bat</filename> (Windows) directory to your PATH.</para> </step> <step> <para>Set your CLASSPATH to include the OpenDJ LDAP SDK library, <filename>opendj-ldap-sdk-<?eval ${currentSDKversion} ?>.jar</filename>, <filename>opendj-ldap-sdk-<?eval ${currentSDKversion}?>.jar</filename>, the I18N core library, <filename>i18n-core-1.2.0.jar</filename>, the Grizzly framework, <filename>grizzly-framework-2.1.2.jar</filename>, and the GlassFish management APIs, <filename>gmbal-api-only-3.0.0-b023.jar</filename> & <filename>management-api-3.0.0-b012.jar</filename> under <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion} ?>/lib/</filename>.</para> under <filename>opendj-ldap-toolkit-<?eval ${currentSDKversion}?>/lib/</filename>.</para> </step> <step> <para>Find the OpenDJ LDAP SDK documentation under <link @@ -306,4 +302,3 @@ facsimileTelephoneNumber: +1 408 555 1992</screen> </section> </chapter> opendj3/src/main/docbkx/dev-guide/chap-getting-directory-info.xml
@@ -36,17 +36,17 @@ entries and attributes can be stored in a directory, over protocol. OpenDJ SDK allows you to look up that information in your client application.</para> <section> <section xml:id="read-root-dse"> <title>Reading Root DSEs</title> <para>TODO</para> </section> <section> <section xml:id="check-ldapv3-support"> <title>Checking For LDAPv3 Support</title> <para>TODO</para> </section> <section> <section xml:id="get-schema-information"> <title>Getting Schema Information</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-ldif.xml
@@ -34,7 +34,7 @@ <para>OpenDJ SDK provides capabilities for working with LDAP Data Interchange Format content. This chapter demonstrates how to use those capabilities.</para> <section> <section xml:id="about-ldif"> <title>About LDIF</title> <para>LDAP Data Interchange Format provides a mechanism for representing directory data in text format. LDIF data is typically used to initialize @@ -43,12 +43,12 @@ backup format.</para> </section> <section> <section xml:id="writing-ldif"> <title>Writing LDIF</title> <para>TODO</para> </section> <section> <section xml:id="reading-ldif"> <title>Reading LDIF</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-multithreading.xml
@@ -33,12 +33,12 @@ <para>TODO</para> <section> <section xml:id="async-operations"> <title>Asynchronous Operations</title> <para>TODO</para> </section> <section> <section xml:id="connection-pooling"> <title>Connection Pooling</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-reading.xml
@@ -37,42 +37,42 @@ <link xlink:href="http://mcraig.org/ldif/Example.ldif">available online</link>.</para> <section> <section xml:id="about-searching"> <title>Search Objects & Methods</title> <para>TODO</para> </section> <section> <section xml:id="about-filters"> <title>Working With Search Filters</title> <para>TODO</para> </section> <section> <section xml:id="send-search-request"> <title>Sending a Search Request</title> <para>TODO</para> </section> <section> <section xml:id="get-search-results"> <title>Getting Search Results</title> <para>TODO</para> </section> <section> <section xml:id="abandon-search"> <title>Abandoning an Incomplete Search</title> <para>TODO</para> </section> <section> <section xml:id="handle-ldap-urls"> <title>Working With LDAP URLs</title> <para>TODO</para> </section> <section> <section xml:id="sort-search-results"> <title>Sorting Search Results</title> <para>TODO</para> </section> <section> <section xml:id="about-comparisons"> <title>Compare Objects & Methods</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-simple-proxy.xml
@@ -33,17 +33,17 @@ <para>TODO</para> <section> <section xml:id="load-balancing"> <title>Load Balancing</title> <para>TODO</para> </section> <section> <title>Managing Railover</title> <section xml:id="managing-failover"> <title>Performing Failover</title> <para>TODO</para> </section> <section> <section xml:id="dn-attr-rewriting"> <title>DN & Attribute Rewriting</title> <para>TODO</para> </section> opendj3/src/main/docbkx/dev-guide/chap-understanding-ldap.xml
@@ -47,7 +47,7 @@ entry belongs to, but also by her user identifier, her email address, or her telephone number, for example.</para> <section> <section xml:id="ldap-directory-history"> <title>How Directories & LDAP Evolved</title> <para>Phone companies have been managing directories for many decades. The @@ -91,7 +91,7 @@ technology.</para> </section> <section> <section xml:id="directory-data"> <title>Data In LDAP Directories</title> <para>LDAP directory data is organized into entries, similar to the entries for words in the dictionary, or for subscriber names in the phone book. @@ -105,14 +105,14 @@ gidNumber: 1000 givenName: Barbara homeDirectory: /home/bjensen l: Cupertino l: Cupertino mail: bjensen@example.com objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: posixAccount objectClass: top ou: People ou: People ou: Product Development roomNumber: 0209 sn: Jensen @@ -152,11 +152,14 @@ reflect the hierarchy of directory entries.</para> <mediaobject> <alt>Directory data hierarchy as seen in OpenDJ Control Panel.</alt> <imageobject> <imagedata fileref="images/data-organization.png" format="PNG" /> </imageobject> <caption><para>Hierarchy of directory data shown in the left pane of the Manage Entries browser</para></caption> <textobject> <para>You can see the hierarchy of directory data in the left pane of the Manage Entries browser.</para> </textobject> </mediaobject> <para>Barbara Jensen's entry is located under an entry with DN @@ -177,7 +180,7 @@ root entries it serves.</para></footnote></para> </section> <section> <section xml:id="ldap-client-server-communication"> <title>LDAP Client & Server Communication</title> <para>You may be used to web service client server communication, where each time the web client has something to request of the web server, a @@ -187,13 +190,16 @@ requests, and finally disconnects when done.</para> <mediaobject> <alt>Schematic of LDAP client-server session</alt> <imageobject> <imagedata fileref="images/ldap-lifecycle.png" format="PNG" /> </imageobject> <caption><para>Schematic of LDAP client-server session</para></caption> <textobject> <para>An LDAP client binds, performs operations, and then unbinds.</para> </textobject> </mediaobject> <itemizedlist> <itemizedlist xml:id="standard-ldap-operations"> <para>The standard operations are as follows.</para> <listitem> <para>Bind (authenticate). The first operation in an LDAP session involves @@ -259,7 +265,7 @@ </itemizedlist> </section> <section> <section xml:id="standard-ldapv3-extensions"> <title>Standard LDAPv3 & Extensions</title> <para>LDAP has standardized two mechanisms for extending the kinds of operations that directory servers can perform. One mechanism involves using @@ -271,7 +277,7 @@ Server Side Sort Request Control modifies a search to request that the directory server return entries to the client in sorted order. The Subtree Delete Request Control modifies a delete to request that the server also remove child entries of the entry targetted for deletion.</para> also remove child entries of the entry targeted for deletion.</para> <para>LDAP extended operations are additional LDAP operations not included in the original standard list. For example, the Cancel Extended Operation opendj3/src/main/docbkx/dev-guide/chap-using-the-sdk.xml
@@ -33,23 +33,18 @@ <para>TODO</para> <section> <section xml:id="sync-vs-async"> <title>Synchronous & Asynchronous Operations</title> <para>TODO</para> </section> <section> <section xml:id="error-handling"> <title>Managing Errors</title> <para>TODO</para> </section> <section> <section xml:id="referral-handling"> <title>Managing Referrals</title> <para>TODO</para> </section> <section> <title>Managing Failover</title> <para>TODO</para> </section> </chapter> opendj3/src/main/docbkx/dev-guide/chap-writing.xml
@@ -33,27 +33,27 @@ <para>TODO</para> <section> <section xml:id="about-writes"> <title>Objects & Methods For Updating Directory Data</title> <para>TODO</para> </section> <section> <section xml:id="adding-entries"> <title>Adding Directory Entries</title> <para>TODO</para> </section> <section> <section xml:id="modifying-attr-values"> <title>Modifying Directory Entry Attribute Values</title> <para>TODO</para> </section> <section> <section xml:id="renaming-entries"> <title>Renaming Directory Entries</title> <para>TODO</para> </section> <section> <section xml:id="deleting-entries"> <title>Deleting Directory Entries</title> <para>TODO</para> </section>