mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Maxim Thomas
01.20.2024 c19cb1ec29359a2f63f32753c54b837cb6998187
Generate man pages in the AsciiDoc format (#418)

54 files added
36 files modified
217577 ■■■■■ changed files
.github/workflows/deploy.yml 5 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentParser.java 2 ●●● patch | view | raw | blame | history
opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java 2 ●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/com/forgerock/opendj/cli/cli.properties 12 ●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgAppendProps.ftl 17 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgListItem.ftl 12 ●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgListSubtypes.ftl 40 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgReference.ftl 24 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgSubcommand.ftl 108 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgVarListEntry.ftl 10 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/dscfgVariableList.ftl 29 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/optionsRefSect1.ftl 80 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/refEntry.ftl 89 ●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/refSect1.ftl 25 ●●●●● patch | view | raw | blame | history
opendj-cli/src/main/resources/templates/refSect2.ftl 71 ●●●●● patch | view | raw | blame | history
opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java 10 ●●●● patch | view | raw | blame | history
opendj-config/src/main/resources/com/forgerock/opendj/dsconfig/dsconfig.properties 4 ●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/pom.xml 285 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/admin-guide/chap-pwd-policy.adoc 5 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_attributes.adoc 39 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_backendstat-examples.adoc 37 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_backup-examples.adoc 55 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_base64-examples.adoc 40 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_control-panel-examples.adoc 26 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_create-rc-script-examples.adoc 28 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-dsconfig-subcommands.adoc 124 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-dsconfig.adoc 28 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-psearch-info.adoc 67 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_dsconfig-examples.adoc 124 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_dsreplication-examples.adoc 71 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_encode-password-examples.adoc 49 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-1.adoc 29 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-5-6-other.adoc 35 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-80-89.adoc 31 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-89.adoc 29 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-gt0.adoc 29 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-ldap-89.adoc 37 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_export-ldif-examples.adoc 29 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_files.adoc 37 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_filters.adoc 23 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_import-ldif-examples.adoc 28 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapcompare-examples.adoc 42 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapcompare-exit-codes.adoc 49 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapdelete-examples.adoc 41 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapmodify-examples.adoc 129 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldappasswordmodify-examples.adoc 33 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapsearch-examples.adoc 88 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifdiff-examples.adoc 64 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifdiff-exit-codes.adoc 32 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifmodify-examples.adoc 66 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifsearch-examples.adoc 73 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_list-backends-examples.adoc 37 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_makeldif-examples.adoc 32 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_makeldif-see-also.adoc 22 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_manage-account-examples.adoc 47 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_manage-tasks-examples.adoc 32 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_rebuild-index-examples.adoc 28 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_restore-examples.adoc 55 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_setup-examples.adoc 42 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_start-ds-examples.adoc 26 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_status-examples.adoc 65 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_stop-ds-examples.adoc 29 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_uninstall-examples.adoc 37 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_upgrade-exit-codes.adoc 46 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_variablelist-ldap-controls.adoc 51 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_verify-index-examples.adoc 43 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_verify-index-exit-codes.adoc 34 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-dsjavaproperties.adoc 98 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-makeldif-template.adoc 270 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-opendj.adoc 76 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-windows-service.adoc 83 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/reference/admin-tools-ref.adoc 7052 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/asciidoc/reference/dsconfig-subcommands-ref.adoc 206465 ●●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/assembly/generated-doc-sources-assembly.xml 2 ●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/assembly/sdk-tools-man-pages-assembly.xml 128 ●●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/assembly/server-tools-man-page-sources-assembly.xml 2 ●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/assembly/server-tools-man-pages-assembly.xml 2 ●●● patch | view | raw | blame | history
opendj-doc-generated-ref/src/main/resources/asciidoc/extensions/nested-open-block.rb 21 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateGlobalAcisTableMojo.java 7 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java 2 ●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java 12 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateSchemaDocMojo.java 4 ●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/java/org/openidentityplatform/opendj/maven/doc/AsciidocConverterUtils.java 7 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/resources/org/forgerock/opendj/maven/doc/docs.properties 13 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/resources/templates/appendix-ldap-result-codes.ftl 74 ●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/resources/templates/log-message-reference.ftl 60 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/resources/templates/sec-locales-subtypes.ftl 61 ●●●●● patch | view | raw | blame | history
opendj-doc-maven-plugin/src/main/resources/templates/table-global-acis.ftl 60 ●●●● patch | view | raw | blame | history
opendj-ldap-toolkit/src/main/resources/com/forgerock/opendj/ldap/tools/tools.properties 8 ●●●● patch | view | raw | blame | history
pom.xml 2 ●●● patch | view | raw | blame | history
.github/workflows/deploy.yml
@@ -133,8 +133,9 @@
          GITHUB_TOKEN: ${{ github.token }}
        run:   |
          cd ${{ github.event.repository.name }}.wiki
          rm -rf docbkx
          cp -R ../opendj-doc-generated-ref/target/docbkx ../${{ github.event.repository.name }}.wiki
          rm -rf asciidoc
          mkdir asciidoc
          cp -R ../opendj-doc-generated-ref/target/asciidoc/pdf ../${{ github.event.repository.name }}.wiki/asciidoc
          git add -A
          git commit -a -m "upload docs after deploy ${{ github.sha }}"
          git push --quiet --force
opendj-cli/src/main/java/com/forgerock/opendj/cli/ArgumentParser.java
@@ -659,7 +659,7 @@
     * @return A String with line separators replaced by {@code </para><para>}.
     */
    String eolToNewPara(final LocalizableMessage input) {
        return input.toString().replaceAll(EOL, "</para><para>");
        return input.toString().replaceAll(EOL, "\n");
    }
    /**
opendj-cli/src/main/java/com/forgerock/opendj/cli/SubCommandArgumentParser.java
@@ -1132,7 +1132,7 @@
                Map<String, Object> info = new HashMap<>();
                if (subCommandUsageHandler != null) {
                    if (!doesHandleProperties(a)) {
                        nameOption = "<option>" + optionSynopsis + "</option>";
                        nameOption = "`" + optionSynopsis + "`";
                    }
                    // Let this build its own arbitrarily formatted additional info.
opendj-cli/src/main/resources/com/forgerock/opendj/cli/cli.properties
@@ -448,14 +448,14 @@
# Strings for generated reference documentation.
REF_TITLE_DESCRIPTION=Description
REF_TITLE_OPTIONS=Options
REF_INTRO_OPTIONS=The <command>%s</command> command takes the following options:
REF_INTRO_OPTIONS=The `%s` command takes the following options:
REF_DEFAULT=Default: %s
REF_TITLE_SUBCOMMANDS=Subcommands
REF_INTRO_SUBCOMMANDS=The <command>%s</command> command supports the following subcommands:
REF_INTRO_SUBCOMMANDS=The `%s` command supports the following subcommands:
REF_PART_TITLE_SUBCOMMANDS=%s Subcommands Reference
REF_PART_INTRO_SUBCOMMANDS=This section covers <command>%s</command> subcommands.
REF_DEFAULT_BACKEND_TYPE=Default: <literal>je</literal> for standard edition, \
  <literal>pdb</literal> for OEM edition.
REF_PART_INTRO_SUBCOMMANDS=This section covers `%s` subcommands.
REF_DEFAULT_BACKEND_TYPE=Default: `je` for standard edition, \
  `pdb` for OEM edition.
# Supplements to descriptions for generated reference documentation.
SUPPLEMENT_DESCRIPTION_CONTROLS=<xinclude:include href="variablelist-ldap-controls.xml" />
SUPPLEMENT_DESCRIPTION_CONTROLS=include::./_variablelist-ldap-controls.adoc[]
opendj-cli/src/main/resources/templates/dscfgAppendProps.ftl
@@ -12,13 +12,16 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<refsect1 xml:id="${id}">
  <title>${title}</title>
  <para>
   ${intro}
  </para>
[#${id}]
== ${title}
  ${list}
</refsect1>
${intro}
--
${list}
--
opendj-cli/src/main/resources/templates/dscfgListItem.ftl
@@ -12,14 +12,6 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<listitem>
 <para>
  <link
   <#-- Link to the Reference. Change this if the pages move to another document. -->
   xlink:href="reference#${id}"
   xlink:role="http://docbook.org/xlink/role/olink"
   xlink:show="new"
  ><command>${name}</command></link>: ${description}
 </para>
</listitem>
* xref:dsconfig-subcommands-ref.adoc#${id}[${name}, window=_blank]: ${description}
opendj-cli/src/main/resources/templates/dscfgListSubtypes.ftl
@@ -12,34 +12,22 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<variablelist>
 <para>
   ${dependencies}
 </para>
[open]
====
${dependencies}
 <para>
   ${typesIntro}
 </para>
${typesIntro}
 <#list children as child>
   <varlistentry>
     <term>${child.name}</term>
     <listitem>
       <para>
         ${child.default}
       </para>
       <para>
         ${child.enabled}
       </para>
       <para>
         ${child.link}
       </para>
     </listitem>
   </varlistentry>
<#list children as child>
`${child.name}`::
+
${child.default}
+
${child.enabled}
+
${child.link}
 </#list>
</variablelist>
====
opendj-cli/src/main/resources/templates/dscfgReference.ftl
@@ -12,24 +12,16 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
${marker}
<reference xml:id="${name}-subcommands-ref"
           xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${locale}"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://docbook.org/ns/docbook
                               http://docbook.org/xml/5.0/xsd/docbook.xsd"
           xmlns:xinclude="http://www.w3.org/2001/XInclude">
 <title>${title}</title>
[#${name}-subcommands-ref]
== ${title}
:leveloffset: 1
 <partintro>
  <para>
   ${partintro}
  </para>
 </partintro>
${partintro}
 <#list subcommands as subcommand>
 <xinclude:include href="man-${subcommand.id}.xml" />
 </#list>
</reference>
<#list subcommands as subcommand>
include::./man-${subcommand.id}.adoc[]
</#list>
opendj-cli/src/main/resources/templates/dscfgSubcommand.ftl
@@ -1,6 +1,5 @@
${marker}
<?xml version="1.0" encoding="UTF-8"?>
<!--
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
@@ -13,85 +12,58 @@
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2011-${year} ForgeRock AS.
-->
<refentry xml:id="${id}"
          xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${locale}"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://docbook.org/ns/docbook
                              http://docbook.org/xml/5.0/xsd/docbook.xsd"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xinclude="http://www.w3.org/2001/XInclude">
  Copyright 2011-2017 ForgeRock AS.
  Portions Copyright ${year} 3A Systems LLC.
////
 <info>
  <copyright>
   <year>${year}</year>
   <holder>2011-2017 ForgeRock AS. 2017-${year} Open Identity Platform Community</holder>
  </copyright>
 </info>
[#${id}]
= ${name}(1)
:doctype: manpage
:manmanual: Directory Server Tools
:mansource: OpenDJ
 <refmeta>
  <refentrytitle>${name}</refentrytitle><manvolnum>1</manvolnum>
  <refmiscinfo class="software">OpenDJ</refmiscinfo>
  <refmiscinfo class="version">${r"${project.version}"}</refmiscinfo>
 </refmeta>
== Name
${name} - ${purpose}
 <refnamediv>
  <refname>${name}</refname>
  <refpurpose>${purpose}</refpurpose>
 </refnamediv>
== Synopsis
 <refsynopsisdiv>
  <cmdsynopsis>
   <command>${name}</command>
   <arg choice="plain">${args}</arg>
  </cmdsynopsis>
 </refsynopsisdiv>
`${name}` ${args}
 <refsect1 xml:id="${id}-description">
  <title>${descTitle}</title>
[#${id}-description]
== ${descTitle}
  <para>
   ${description?ensure_ends_with(".")}
  </para>
${description?ensure_ends_with(".")}
  <#if info??>${info}</#if>
 </refsect1>
<#if info??>${info}</#if>
 <#if options??>
 <refsect1 xml:id="${id}-options">
  <title>${optionsTitle}</title>
<#if options??>
[#${id}-options]
== ${optionsTitle}
  <variablelist>
   <para>
    ${optionsIntro}
   </para>
${optionsIntro}
--
   <#list options as option>
   <varlistentry>
    <term><option>${option.synopsis?xml}</option></term>
    <listitem>
     <para>
      ${option.description?ensure_ends_with(".")}
     </para>
`${option.synopsis?xml}`::
${option.description?ensure_ends_with(".")}
     <#if option.info??>
       <#if option.info.usage??>${option.info.usage}</#if>
       <#if option.info.default??>
       <para>
        ${option.info.default}
       </para>
       <#if option.info.usage??>
+
${option.info.usage}
       </#if>
       <#if option.info.doc??>${option.info.doc}</#if>
       <#if option.info.default??>
+
${option.info.default}
       </#if>
       <#if option.info.doc??>
+
${option.info.doc}
       </#if>
     </#if>
    </listitem>
   </varlistentry>
   </#list>
  </variablelist>
 </refsect1>
 </#if>
 <#if propertiesInfo??>${propertiesInfo}</#if>
</refentry>
--
</#if>
<#if propertiesInfo??>
${propertiesInfo}
</#if>
opendj-cli/src/main/resources/templates/dscfgVarListEntry.ftl
@@ -12,10 +12,8 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<varlistentry>
  <term>${term}</term>
  <listitem>
    ${definition}
  </listitem>
</varlistentry>
${term}::
${definition}
opendj-cli/src/main/resources/templates/dscfgVariableList.ftl
@@ -12,29 +12,18 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015-2016 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<variablelist>
<#list properties as property>
${property.term}::
[open]
====
${property.descTitle}::
${property.description?xml}
  <varlistentry>
    <term>${property.term}</term>
    <listitem>
      <variablelist>
${property.list}
        <varlistentry>
          <term>${property.descTitle}</term>
          <listitem>
            <para>
              ${property.description?xml}
            </para>
          </listitem>
        </varlistentry>
====
        ${property.list}
      </variablelist>
    </listitem>
  </varlistentry>
</#list>
</variablelist>
</#list>
opendj-cli/src/main/resources/templates/optionsRefSect1.ftl
@@ -1,51 +1,43 @@
<#--
 # The contents of this file are subject to the terms of the Common Development and
 # Distribution License (the License). You may not use this file except in compliance with the
 # License.
 #
 # You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
 # specific language governing permission and limitations under the License.
 #
 # When distributing Covered Software, include this CDDL Header Notice in each file and include
 # the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
 # Header, with the fields enclosed by brackets [] replaced by your own identifying
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 #-->
<refsect1 xml:id="${name}-options">
  <title>${title}</title>
# The contents of this file are subject to the terms of the Common Development and
# Distribution License (the License). You may not use this file except in compliance with the
# License.
#
# You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
# specific language governing permission and limitations under the License.
#
# When distributing Covered Software, include this CDDL Header Notice in each file and include
# the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
# Header, with the fields enclosed by brackets [] replaced by your own identifying
# information: "Portions Copyright [year] [name of copyright owner]".
#
# Copyright 2015 ForgeRock AS.
# Portions Copyright 2024 3A Systems LLC.
#-->
  <para>
   ${intro}
  </para>
[#${name}-options]
== ${title}
  <#list groups as group>
    <variablelist>
${intro}
<#list groups as group>
    <#if group.description??>
      <para>
       ${group.description}
      </para>
.${group.description}
    </#if>
    <#list group.options as option>
      <varlistentry>
        <term><option>${option.synopsis?xml}</option></term>
        <listitem>
          <para>
            ${option.description?ensure_ends_with(".")}
          </para>
          <#if option.default??>
            <para>
              ${option.default}
            </para>
          </#if>
          <#if option.info??>${option.info}</#if>
        </listitem>
      </varlistentry>
    </#list>
    </variablelist>
--
  <#list group.options as option>
`${option.synopsis?xml}`::
${option.description?ensure_ends_with(".")}
    <#if option.default??>
+
${option.default}
    </#if>
    <#if option.info??>
+
${option.info}
    </#if>
  </#list>
</refsect1>
--
</#list>
opendj-cli/src/main/resources/templates/refEntry.ftl
@@ -1,4 +1,4 @@
<#--
////
 # The contents of this file are subject to the terms of the Common Development and
 # Distribution License (the License). You may not use this file except in compliance with the
 # License.
@@ -12,75 +12,38 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 #-->
<?xml version="1.0" encoding="UTF-8"?>
<!--
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
 # Portions ${year} 3A Systems LLC.
 #
////
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
[#${name}-1]
= ${name}(1)
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
:doctype: manpage
:manmanual: Directory Server Tools
:mansource: OpenDJ
  Copyright 2011-${year} ForgeRock AS.
-->
<refentry xml:id="${name}-1"
          xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${locale}"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://docbook.org/ns/docbook
                              http://docbook.org/xml/5.0/xsd/docbook.xsd"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xinclude="http://www.w3.org/2001/XInclude">
== Name
${name} - ${shortDesc}
 <info>
  <copyright>
   <year>${year}</year>
   <holder>2011-2017 ForgeRock AS. 2017-${year} Open Identity Platform Community</holder>
  </copyright>
 </info>
== Synopsis
`${name}` <#if args??>`${args}`</#if>
 <refmeta>
  <refentrytitle>${name}</refentrytitle><manvolnum>1</manvolnum>
  <refmiscinfo class="software">OpenDJ</refmiscinfo>
  <refmiscinfo class="version">${r"${project.version}"}</refmiscinfo>
 </refmeta>
[#${name}-description]
== ${descTitle}
 <refnamediv>
  <refname>${name}</refname>
  <refpurpose>${shortDesc}</refpurpose>
 </refnamediv>
${description?ensure_ends_with(".")}
 <refsynopsisdiv>
  <cmdsynopsis>
   <command>${name}</command>
   <#if args??><arg choice="plain">${args}</arg></#if>
  </cmdsynopsis>
 </refsynopsisdiv>
<#if info??>${info}</#if>
 <refsect1 xml:id="${name}-description">
   <title>${descTitle}</title>
<#if optionSection??>
${optionSection}
</#if>
   <para>
     ${description?ensure_ends_with(".")}
   </para>
<#if subcommands??>
${subcommands}
</#if>
   <#if info??>${info}</#if>
 </refsect1>
 <#if optionSection??>
   ${optionSection}
 </#if>
 <#if subcommands??>
   ${subcommands}
 </#if>
 <#if trailingSectionString??>
   ${trailingSectionString}
 </#if>
</refentry>
<#if trailingSectionString??>
${trailingSectionString}
</#if>
opendj-cli/src/main/resources/templates/refSect1.ftl
@@ -12,21 +12,18 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<refsect1 xml:id="${name}-subcommands">
  <title>${title}</title>
  <#if info??>
    ${info}
  </#if>
[#${name}-subcommands]
== Subcommands
  <para>
   ${intro}
  </para>
<#if info??>
${info}
</#if>
  <#if isItemizedList??><itemizedlist></#if>
  <#list subcommands as subcommand>
   ${subcommand}
  </#list>
  <#if isItemizedList??></itemizedlist></#if>
</refsect1>
${intro}
<#list subcommands as subcommand>
${subcommand}
</#list>
opendj-cli/src/main/resources/templates/refSect2.ftl
@@ -12,54 +12,43 @@
 # information: "Portions Copyright [year] [name of copyright owner]".
 #
 # Copyright 2015 ForgeRock AS.
 # Portions Copyright 2024 3A Systems LLC.
 #-->
<refsect2 xml:id="${id}">
  <title>${name}</title>
  <para>
   ${description?ensure_ends_with(".")}
  </para>
[#${id}]
=== ${name}
  <#if info??>${info}</#if>
${description?ensure_ends_with(".")}
  <#if options??>
    <refsect3 xml:id="${id}-options">
      <title>${optionsTitle}</title>
<#if info??>${info}</#if>
      <variablelist>
        <para>
         ${optionsIntro}
        </para>
<#if options??>
[#${id}-options]
==== ${optionsTitle}
        <#list options as option>
--
          <varlistentry>
            <term><option>${option.synopsis?xml}</option></term>
            <listitem>
             <para>
               ${option.description?ensure_ends_with(".")}
             </para>
<#list options as option>
`${option.synopsis?xml}`::
${option.description?ensure_ends_with(".")}
<#if option.info??>
+
<#if option.info.usage??>${option.info.usage}</#if>
<#if option.info.default??>
+
${option.info.default}
</#if>
<#if option.info.doc??>
+
${option.info.doc}
</#if>
</#if>
</#list>
             <#if option.info??>
               <#if option.info.usage??>${option.info.usage}</#if>
--
               <#if option.info.default??>
                  <para>
                    ${option.info.default}
                  </para>
               </#if>
</#if>
               <#if option.info.doc??>${option.info.doc}</#if>
             </#if>
            </listitem>
          </varlistentry>
        </#list>
      </variablelist>
    </refsect3>
  </#if>
  <#if propertiesInfo??>
    ${propertiesInfo}
  </#if>
</refsect2>
<#if propertiesInfo??>
${propertiesInfo}
</#if>
opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/DSConfig.java
@@ -128,9 +128,9 @@
     */
    private final class DSConfigSubCommandUsageHandler implements SubCommandUsageHandler {
        /** Marker to open a DocBook XML paragraph. */
        private String op = "<para>";
        private String op = "";
        /** Marker to close a DocBook XML paragraph. */
        private String cp = "</para>";
        private String cp = "";
        @Override
        public String getArgumentAdditionalInfo(SubCommand sc, Argument a, String nameOption) {
@@ -496,14 +496,14 @@
                @Override
                public String visitEnum(EnumPropertyDefinition prop, Void p) {
                    b.append("<variablelist>").append(EOL);
                    b.append(EOL);
                    final Class<?> en = prop.getEnumClass();
                    final Object[] constants = en.getEnumConstants();
                    for (Object enumConstant : constants) {
                        final LocalizableMessage valueSynopsis = prop.getValueSynopsis((Enum) enumConstant);
                        appendVarListEntry(b, enumConstant.toString(), op + valueSynopsis + cp);
                    }
                    b.append("</variablelist>").append(EOL);
                    b.append(EOL);
                    return null;
                }
@@ -576,7 +576,7 @@
        }
        private String getLink(String target) {
            return " <xref linkend=\"" + target + "\" />";
            return " <<" + target + ">>";
        }
    }
opendj-config/src/main/resources/com/forgerock/opendj/dsconfig/dsconfig.properties
@@ -442,8 +442,8 @@
REF_DSCFG_STRING_1038=A String
REF_DSCFG_UNKNOWN_1039=Unknown
REF_SHORT_DESC_DSCONFIG_1040=manage OpenDJ directory server configuration
REF_DSCFG_DOC_TOOL_DESCRIPTION_1041=<xinclude:include href="description-dsconfig.xml" />
REF_DSCFG_DOC_SUBCOMMANDS_DESCRIPTION_1042=<xinclude:include href="description-dsconfig-subcommands.xml" />
REF_DSCFG_DOC_TOOL_DESCRIPTION_1041=include::./_description-dsconfig.adoc[]
REF_DSCFG_DOC_SUBCOMMANDS_DESCRIPTION_1042=include::./_description-dsconfig-subcommands.adoc[]
INFO_DESCRIPTION_BATCH=Reads from standard input a set of commands to be executed
INFO_DESCRIPTION_BATCH_FILE_PATH=Path to a batch file containing a set of commands to be executed
opendj-doc-generated-ref/pom.xml
@@ -13,6 +13,7 @@
  ~ information: "Portions Copyright [year] [name of copyright owner]".
  ~
  ~ Copyright 2016 ForgeRock AS.
  ~ Portions Copyright 2024 3A Systems LLC.
  -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
@@ -126,7 +127,7 @@
                        </goals>
                        <phase>prepare-package</phase>
                        <configuration>
                            <outputDirectory>${project.build.directory}/docbkx-sources/shared</outputDirectory>
                            <outputDirectory>${project.build.directory}/asciidoc/source/partials</outputDirectory>
                            <messageFileNames>
                                <!--
                                  For each .properties with messages of at least error severity,
@@ -165,7 +166,7 @@
                            <resultCodeSource>
                                ${project.build.directory}/dependency/org/forgerock/opendj/ldap/ResultCode.java
                            </resultCodeSource>
                            <xmlFile>${project.build.directory}/docbkx-sources/shared/appendix-ldap-result-codes.xml
                            <xmlFile>${project.build.directory}/asciidoc/source/partials/appendix-ldap-result-codes.adoc
                            </xmlFile>
                        </configuration>
                    </execution>
@@ -181,32 +182,15 @@
                            <extendedClasspath>
                                ${project.build.directory}/dependency/freemarker-${freemarker.version}.jar
                            </extendedClasspath>
                            <outputDir>${project.build.directory}/docbkx-sources/man-pages</outputDir>
                            <outputDir>${project.build.directory}/asciidoc/source/man-pages</outputDir>
                            <tools>
                                <tool>
                                    <name>addrate</name>
                                    <application>com.forgerock.opendj.ldap.tools.AddRate</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-80-89.xml</trailingSectionPath>
                                        <trailingSectionPath>addrate-examples.xml</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
                                <tool>
                                    <name>authrate</name>
                                    <application>com.forgerock.opendj.ldap.tools.AuthRate</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-89.xml</trailingSectionPath>
                                        <trailingSectionPath>authrate-examples.xml</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
                                <tool>
                                    <name>base64</name>
                                    <application>com.forgerock.opendj.ldap.tools.Base64</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                        <trailingSectionPath>base64-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                        <trailingSectionPath>_base64-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -214,9 +198,9 @@
                                    <name>ldapcompare</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDAPCompare</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>ldapcompare-exit-codes.xml</trailingSectionPath>
                                        <trailingSectionPath>files.xml</trailingSectionPath>
                                        <trailingSectionPath>ldapcompare-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_ldapcompare-exit-codes.adoc</trailingSectionPath>
                                        <trailingSectionPath>_files.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldapcompare-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -224,9 +208,9 @@
                                    <name>ldapdelete</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDAPDelete</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-ldap-89.xml</trailingSectionPath>
                                        <trailingSectionPath>files.xml</trailingSectionPath>
                                        <trailingSectionPath>ldapdelete-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-ldap-89.adoc</trailingSectionPath>
                                        <trailingSectionPath>_files.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldapdelete-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -234,9 +218,9 @@
                                    <name>ldapmodify</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDAPModify</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-ldap-89.xml</trailingSectionPath>
                                        <trailingSectionPath>files.xml</trailingSectionPath>
                                        <trailingSectionPath>ldapmodify-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-ldap-89.adoc</trailingSectionPath>
                                        <trailingSectionPath>_files.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldapmodify-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -245,9 +229,9 @@
                                    <application>com.forgerock.opendj.ldap.tools.LDAPPasswordModify
                                    </application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-ldap-89.xml</trailingSectionPath>
                                        <trailingSectionPath>files.xml</trailingSectionPath>
                                        <trailingSectionPath>ldappasswordmodify-examples.xml
                                        <trailingSectionPath>_exit-codes-0-ldap-89.adoc</trailingSectionPath>
                                        <trailingSectionPath>_files.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldappasswordmodify-examples.adoc
                                        </trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -256,11 +240,11 @@
                                    <name>ldapsearch</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDAPSearch</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>filters.xml</trailingSectionPath>
                                        <trailingSectionPath>attributes.xml</trailingSectionPath>
                                        <trailingSectionPath>exit-codes-0-ldap-89.xml</trailingSectionPath>
                                        <trailingSectionPath>files.xml</trailingSectionPath>
                                        <trailingSectionPath>ldapsearch-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_filters.adoc</trailingSectionPath>
                                        <trailingSectionPath>_attributes.adoc</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-ldap-89.adoc</trailingSectionPath>
                                        <trailingSectionPath>_files.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldapsearch-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -268,8 +252,8 @@
                                    <name>ldifdiff</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDIFDiff</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>ldifdiff-exit-codes.xml</trailingSectionPath>
                                        <trailingSectionPath>ldifdiff-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_ldifdiff-exit-codes.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldifdiff-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -277,8 +261,8 @@
                                    <name>ldifmodify</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDIFModify</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                        <trailingSectionPath>ldifmodify-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldifmodify-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -286,8 +270,8 @@
                                    <name>ldifsearch</name>
                                    <application>com.forgerock.opendj.ldap.tools.LDIFSearch</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                        <trailingSectionPath>ldifsearch-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                        <trailingSectionPath>_ldifsearch-examples.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
@@ -295,27 +279,9 @@
                                    <name>makeldif</name>
                                    <application>com.forgerock.opendj.ldap.tools.MakeLDIF</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-1.xml</trailingSectionPath>
                                        <trailingSectionPath>makeldif-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>makeldif-see-also.xml</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
                                <tool>
                                    <name>modrate</name>
                                    <application>com.forgerock.opendj.ldap.tools.ModRate</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-89.xml</trailingSectionPath>
                                        <trailingSectionPath>modrate-examples.xml</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
                                <tool>
                                    <name>searchrate</name>
                                    <application>com.forgerock.opendj.ldap.tools.SearchRate</application>
                                    <trailingSectionPaths>
                                        <trailingSectionPath>exit-codes-0-89.xml</trailingSectionPath>
                                        <trailingSectionPath>searchrate-examples.xml</trailingSectionPath>
                                        <trailingSectionPath>_exit-codes-0-1.adoc</trailingSectionPath>
                                        <trailingSectionPath>_makeldif-examples.adoc</trailingSectionPath>
                                        <trailingSectionPath>_makeldif-see-also.adoc</trailingSectionPath>
                                    </trailingSectionPaths>
                                </tool>
                            </tools>
@@ -340,7 +306,6 @@
                            </descriptors>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generated-doc-sources</id>
                        <goals>
@@ -385,14 +350,14 @@
                                    <extendedClasspath>
                                        ${project.build.directory}/dependency/freemarker-${freemarker.version}.jar
                                    </extendedClasspath>
                                    <outputDir>${project.build.directory}/docbkx-sources/man-pages</outputDir>
                                    <outputDir>${project.build.directory}/asciidoc/source/man-pages</outputDir>
                                    <tools>
                                        <tool>
                                            <name>backendstat</name>
                                            <application>org.opends.server.backends.pluggable.BackendStat</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>backendstat-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_backendstat-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -400,8 +365,8 @@
                                            <name>backup</name>
                                            <application>org.opends.server.tools.BackUpDB</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-1.xml</trailingSectionPath>
                                                <trailingSectionPath>backup-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-1.adoc</trailingSectionPath>
                                                <trailingSectionPath>_backup-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -410,8 +375,8 @@
                                            <application>org.opends.guitools.controlpanel.ControlPanelLauncher
                                            </application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>control-panel-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_control-panel-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -419,8 +384,8 @@
                                            <name>create-rc-script</name>
                                            <application>org.opends.server.tools.CreateRCScript</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>create-rc-script-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_create-rc-script-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -428,8 +393,8 @@
                                            <name>dsconfig</name>
                                            <application>org.forgerock.opendj.config.dsconfig.DSConfig</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>dsconfig-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_dsconfig-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -438,8 +403,8 @@
                                            <application>org.opends.server.tools.dsreplication.ReplicationCliMain
                                            </application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>dsreplication-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_dsreplication-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -447,8 +412,8 @@
                                            <name>encode-password</name>
                                            <application>org.opends.server.tools.EncodePassword</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-5-6-other.xml</trailingSectionPath>
                                                <trailingSectionPath>encode-password-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-5-6-other.adoc</trailingSectionPath>
                                                <trailingSectionPath>_encode-password-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -456,8 +421,8 @@
                                            <name>export-ldif</name>
                                            <application>org.opends.server.tools.ExportLDIF</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>export-ldif-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_export-ldif-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -465,8 +430,8 @@
                                            <name>import-ldif</name>
                                            <application>org.opends.server.tools.ImportLDIF</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>import-ldif-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_import-ldif-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -474,8 +439,8 @@
                                            <name>list-backends</name>
                                            <application>org.opends.server.tools.ListBackends</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>list-backends-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_list-backends-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -483,8 +448,8 @@
                                            <name>manage-account</name>
                                            <application>org.opends.server.tools.ManageAccount</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-89.xml</trailingSectionPath>
                                                <trailingSectionPath>manage-account-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-89.adoc</trailingSectionPath>
                                                <trailingSectionPath>_manage-account-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -492,8 +457,8 @@
                                            <name>manage-tasks</name>
                                            <application>org.opends.server.tools.ManageTasks</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>manage-tasks-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_manage-tasks-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -501,8 +466,8 @@
                                            <name>rebuild-index</name>
                                            <application>org.opends.server.tools.RebuildIndex</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>rebuild-index-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_rebuild-index-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -510,8 +475,8 @@
                                            <name>restore</name>
                                            <application>org.opends.server.tools.RestoreDB</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>restore-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_restore-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -519,8 +484,8 @@
                                            <name>setup</name>
                                            <application>org.opends.quicksetup.installer.SetupLauncher</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>setup-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_setup-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -528,8 +493,8 @@
                                            <name>start-ds</name>
                                            <application>org.opends.server.core.DirectoryServer</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>start-ds-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_start-ds-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -537,8 +502,8 @@
                                            <name>status</name>
                                            <application>org.opends.server.tools.status.StatusCli</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>status-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_status-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -546,8 +511,8 @@
                                            <name>stop-ds</name>
                                            <application>org.opends.server.tools.StopDS</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>stop-ds-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_stop-ds-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -555,8 +520,8 @@
                                            <name>uninstall</name>
                                            <application>org.opends.guitools.uninstaller.UninstallLauncher</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>exit-codes-0-gt0.xml</trailingSectionPath>
                                                <trailingSectionPath>uninstall-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_exit-codes-0-gt0.adoc</trailingSectionPath>
                                                <trailingSectionPath>_uninstall-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -564,7 +529,7 @@
                                            <name>upgrade</name>
                                            <application>org.opends.server.tools.upgrade.UpgradeCli</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>upgrade-exit-codes.xml</trailingSectionPath>
                                                <trailingSectionPath>_upgrade-exit-codes.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
@@ -572,8 +537,8 @@
                                            <name>verify-index</name>
                                            <application>org.opends.server.tools.VerifyIndex</application>
                                            <trailingSectionPaths>
                                                <trailingSectionPath>verify-index-exit-codes.xml</trailingSectionPath>
                                                <trailingSectionPath>verify-index-examples.xml</trailingSectionPath>
                                                <trailingSectionPath>_verify-index-exit-codes.adoc</trailingSectionPath>
                                                <trailingSectionPath>_verify-index-examples.adoc</trailingSectionPath>
                                            </trailingSectionPaths>
                                        </tool>
                                    </tools>
@@ -582,21 +547,58 @@
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-man-pages</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <configuration>
                                    <tasks>
                                        <copy todir="${project.build.directory}/asciidoc/source/man-pages">
                                            <fileset dir="${basedir}/src/main/asciidoc/man-pages" includes="**/*" />
                                        </copy>
                                        <copy todir="${project.build.directory}/asciidoc/source/partials">
                                            <fileset dir="${basedir}/src/main/asciidoc/man-pages" includes="**/*" />
                                            <fileset dir="${project.build.directory}/asciidoc/source/man-pages" includes="**/*" />
                                        </copy>
                                    </tasks>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctor-maven-plugin</artifactId>
                        <version>2.2.6</version>
                        <executions>
                            <execution>
                                <id>generate-manpage-doc</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>process-asciidoc</goal>
                                </goals>
                                <configuration>
                                    <requires>
                                        <require>${project.basedir}/src/main/resources/asciidoc/extensions/nested-open-block.rb</require>
                                    </requires>
                                    <backend>manpage</backend>
                                    <sourceDirectory>${project.build.directory}/asciidoc/source/man-pages</sourceDirectory>
                                    <outputDirectory>${project.build.directory}/asciidoc/man-pages</outputDirectory>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- Format man pages -->
                    <plugin>
                        <groupId>org.openidentityplatform.commons</groupId>
                        <artifactId>doc-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>build-man-pages</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>process</goal>
                                    <goal>build</goal>
                                    <goal>release</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>build-man-pages-asciidoc</id>
                                <phase>package</phase>
                                <goals>
@@ -618,55 +620,8 @@
                            <projectName>OpenDJ</projectName>
                            <projectVersion>${project.version}</projectVersion>
                            <releaseVersion>${project.version}</releaseVersion>
                            <buildReleaseZip>true</buildReleaseZip>
                            <googleAnalyticsId />
                            <isDraftMode>no</isDraftMode>
<!--                             <localeTag>en</localeTag> -->
                            <formats combine.self="override">
                                <format>man</format>
                                <format>epub</format>
                                <format>html</format>
                                <format>pdf</format>
                                <format>webhelp</format>
                                <format>xhtml5</format>
                                <format>bootstrap</format>
                            </formats>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>zip-docs</id>
                                <phase>package</phase>
                                <configuration>
                                    <target>
                                        <property name="compress_formats" value="webhelp,xhtml,html" />
                                        <ant antfile="${basedir}/src/main/ant/zip.xml">
                                            <target name="docs" />
                                        </ant>&gt;
                                    </target>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>ant-contrib</groupId>
                                <artifactId>ant-contrib</artifactId>
                                <version>${ant.contrib.version}</version>
                                <exclusions>
                                    <exclusion>
                                        <groupId>ant</groupId>
                                        <artifactId>ant</artifactId>
                                    </exclusion>
                                </exclusions>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <!-- Generate Artifacts -->
                    <plugin>
opendj-doc-generated-ref/src/main/asciidoc/admin-guide/chap-pwd-policy.adoc
@@ -821,7 +821,8 @@
a|Crypt
a|`crypt-password-storage-encryption-algorithm`
a|Specifies the crypt algorithm to use to encrypt new passwords.
 --
--
The following values are supported:
`unix`::
@@ -1008,7 +1009,7 @@
 --authzID "u:bjensen" \
 --newPassword '!ABcd$%^'
----
In the preceding example, the character set of ASCII punctuation, `!\"#\$%&\'\(\)*+,-./:\;\\<=\>?@[\\]^_\`{\|}~`, is hard to read because of all the escape characters. In practice it can be easier to enter sequences like that by using `dsconfig` in interactive mode, and letting it do the escaping for you. You can also use the `--commandFilePath {path}` option to save the result of your interactive session to a file for use in scripts later.
In the preceding example, the character set of ASCII punctuation, ``!\"#\$%&\'\(\)*+,-./:\;\\<=\>?@[\\]^_\`{\|}~``, is hard to read because of all the escape characters. In practice it can be easier to enter sequences like that by using `dsconfig` in interactive mode, and letting it do the escaping for you. You can also use the `--commandFilePath {path}` option to save the result of your interactive session to a file for use in scripts later.
An attempt to set an invalid password fails as shown in the following example:
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_attributes.adoc
New file
@@ -0,0 +1,39 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Attributes
The optional attribute list specifies the attributes to return in the entries found
by the search. In addition to identifying attributes by name such as `cn sn mail`
and so forth, you can use the following notations, too.
--
`*`::
Return all user attributes such as `cn`, `sn`, and `mail`.
`+`::
Return all operational attributes such as `etag` and `pwdPolicySubentry`.
`@objectclass`::
Return all attributes of the specified object class, where __objectclass__ is one of the object classes on the entries returned by the search.
`1.1`::
Return no attributes, only the DNs of matching entries.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_backendstat-examples.adoc
New file
@@ -0,0 +1,37 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example displays index information.
[source, console]
----
$ bin/backendstat dump-index  -n userRoot -b dc=example,dc=com -i id2childrencount
    Key (len 2): 1#52
    Value (len 8): 1
    Key (len 2): 2#52
    Value (len 8): 500000
    Key (len 9): Total Children Count
    Value (len 8): 500001
    Total Records: 3
    Total / Average Key Size: 13 bytes / 4 bytes
    Total / Average Data Size: 24 bytes / 8 bytes
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_backup-examples.adoc
New file
@@ -0,0 +1,55 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example backs up all user data while the server is online.
[source, console]
----
$ backup -p 4444 -D "cn=Directory Manager" -w password \
 -a -d /path/to/opendj/bak -t 0
Backup task 20110613143801866 scheduled to start ...
----
The following example schedules back up of all user data every night at 2 AM when the server is online, and
notifies \diradmin@example.com when finished, or on error.
[source, console]
----
$ backup -p 4444 -D "cn=Directory Manager" -w password -a \
 -d /path/to/opendj/bak --recurringTask "00 02 * * *" \
 --completionNotify diradmin@example.com --errorNotify diradmin@example.com
Recurring Backup task BackupTask-988d6adf-4d65-44bf-8546-6ea74a2480b0
scheduled successfully
----
The following example backs up all user data while the server is offline.
[source, console]
----
$ stop-ds
Stopping Server...
...
$ backup --backupAll --backupDirectory /path/to/opendj/bak
... msg=The backup process completed successfully
$ start-ds
... The Directory Server has started successfully
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_base64-examples.adoc
New file
@@ -0,0 +1,40 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following command shows the changes from the external change log
in human-readable format.
[source]
----
$ base64 decode -d YWRkOiBkZXNjcmlwdGlvbgpkZXNjcmlwdGlvbjogQSB0aGlyZCBjaGFuZ2UK\
LQpyZXBsYWNlOiBtb2RpZmllcnNOYW1lCm1vZGlmaWVyc05hbWU6IGNuPURpcmVjdG9yeSBNYW5hZ2V\
yLGNuPVJvb3QgRE5zLGNuPWNvbmZpZwotCnJlcGxhY2U6IG1vZGlmeVRpbWVzdGFtcAptb2RpZnlUaW\
1lc3RhbXA6IDIwMTEwNjEzMDcxMjEwWgotCg==
add: description
description: A third change
-
replace: modifiersName
modifiersName: cn=Directory Manager,cn=Root DNs,cn=config
-
replace: modifyTimestamp
modifyTimestamp: 20110613071210Z
-
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_control-panel-examples.adoc
New file
@@ -0,0 +1,26 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example starts the Control Panel on a remote host.
[source, console]
----
$ control-panel -r -h opendj.example.com -p 4444 &
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_create-rc-script-examples.adoc
New file
@@ -0,0 +1,28 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example adds a script to start OpenDJ at boot time on a Debian-based system,
and then updates the runlevel system to use the script.
[source, console]
----
$ sudo create-rc-script -f /etc/init.d/opendj -u opendj-user
$ sudo update-rc.d opendj
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-dsconfig-subcommands.adoc
New file
@@ -0,0 +1,124 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
The `dsconfig` command provides many subcommands.
Subcommands let you create, list, and delete entire configuration components, and also let you get and set component properties. Subcommands therefore have names that reflect these five actions.
* create-__component__
* list-__component__s
* delete-__component__
* get-__component__-prop
* set-__component__-prop
Here, __component__ names are names of managed object types. Subcommand __component__ names are lower-case, hyphenated versions of the friendly names. When you act on an actual configuration component, you provide the name of the component as an option argument.
For example, the Log Publisher component has these corresponding subcommands.
* `create-log-publisher`
* `list-log-publishers`
* `delete-log-publisher`
* `get-log-publisher-prop`
* `set-log-publisher-prop`
When you create or delete Log Publisher components and when you get and set their configuration properties, you provide the name of the actual log publisher, which you can find by using the `list-log-publishers` subcommand.
[source, console]
----
$ dsconfig \
 list-log-publishers \
 --hostname opendj.example.com \
 --port 4444 \
 --bindDN "cn=Directory Manager" \
 --bindPassword password \
 --trustAll
Log Publisher                 : Type                   : enabled
------------------------------:------------------------:--------
File-Based Access Logger      : file-based-access      : true
File-Based Audit Logger       : file-based-audit       : false
File-Based Debug Logger       : file-based-debug       : false
File-Based Error Logger       : file-based-error       : true
File-Based HTTP Access Logger : file-based-http-access : false
Replication Repair Logger     : file-based-error       : true
$ dsconfig \
 get-log-publisher-prop \
 --publisher-name "File-Based Access Logger" \
 --property rotation-policy \
 --hostname opendj.example.com \
 --port 4444 \
 --bindDN "cn=Directory Manager" \
 --bindPassword password \
 --trustAll
Property        : Value(s)
----------------:--------------------------------------------------------------
rotation-policy : 24 Hours Time Limit Rotation Policy, Size Limit Rotation
                : Policy
----
Many subcommands let you set property values. Notice in the reference for the subcommands below that specific options are available for handling multi-valued properties. Whereas you can assign a single property value by using the `--set` option, you assign multiple values to a multi-valued property by using the `--add` option. You can reset the values of the multi-valued property by using the `--reset` option.
Some property values take a time duration. Durations are expressed as numbers followed by units. For example `1 s` means one second, and `2 w` means two weeks. Some durations have minimum granularity or maximum units, so you cannot necessary specify every duration in milliseconds or weeks for example. Some durations allow you to use a special value to mean unlimited. Units are specified as follows.
* `ms`: milliseconds
* `s`: seconds
* `m`: minutes
* `h`: hours
* `d`: days
* `w`: weeks
Use the following options to view help for subcommands.
--
`dsconfig --help-all`::
Display all subcommands
`dsconfig --help-core-server`::
Display subcommands relating to core server
`dsconfig --help-database`::
Display subcommands relating to caching and back-ends
`dsconfig --help-logging`::
Display subcommands relating to logging
`dsconfig --help-replication`::
Display subcommands relating to replication
`dsconfig --help-security`::
Display subcommands relating to authentication and authorization
`dsconfig --help-user-management`::
Display subcommands relating to user management
--
For help with individual subcommands, either use `dsconfig subcommand --help`, or start `dsconfig` in interactive mode, without specifying a subcommand.
To view all component properties, use the `dsconfig list-properties` command.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-dsconfig.adoc
New file
@@ -0,0 +1,28 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
The `dsconfig` command is the primary command-line tool for viewing and editing OpenDJ configuration. When started without arguments, `dsconfig` prompts you for administration connection information, including the host name, administration port number, administrator bind DN and administrator password. The `dsconfig` command then connects securely to the directory server over the administration port. Once connected it presents you with a menu-driven interface to the server configuration.
When you pass connection information, subcommands, and additional options to `dsconfig`, the command runs in script mode and so is not interactive, though it can prompt you to ask whether to apply changes and whether to trust certificates (unless you use the `--no-prompt` and `--trustAll` options, respectively).
You can prepare `dsconfig` batch scripts by running the tool with the `--commandFilePath` option in interactive mode, then reading from the batch file with the `--batchFilePath` option in script mode. Batch files can be useful when you have many `dsconfig` commands to run and want to avoid starting the JVM for each command. Alternatively, you can read commands from standard input by using the `--batch` option.
The `dsconfig` command categorizes directory server configuration into __components__, also called __managed objects__. Actual components often inherit from a parent component type. For example, one component is a Connection Handler. An LDAP Connection Handler is a type of Connection Handler. You configure the LDAP Connection Handler component to specify how OpenDJ directory server handles LDAP connections coming from client applications.
Configuration components have __properties__. For example, the LDAP Connection Handler component has properties such as `listen-port` and `allow-start-tls`. You can set the component's `listen-port` property to `389` to use the default LDAP port number. You can set the component's `allow-start-tls` property to `true` to permit LDAP client applications to use StartTLS. Much of the configuration you do with `dsconfig` involves setting component properties.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_description-psearch-info.adoc
New file
@@ -0,0 +1,67 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
A persistent search allows the client to continue receiving new results whenever changes are made to data that is in the scope of the search, thus using the search as a form of change notification.
[open]
====
The optional `changetype` setting defines the kinds of updates that result in notification. If you do not set the `changetype`, the default behavior is to send notifications for all updates.
`add`::
Send notifications for LDAP add operations.
`del`,`delete`::
Send notifications for LDAP delete operations.
`mod`,`modify`::
Send notifications for LDAP modify operations.
`moddn`,`modrdn`,`modifydn`::
Send notifications for LDAP modify DN (rename and move) operations.
`all`,`any`::
Send notifications for all LDAP update operations.
====
[open]
====
The optional `changesonly` setting defines whether the server returns existing entries as well as changes.
`true`::
Do not return existing entries, but instead only notifications about changes.
+
This is the default setting.
`false`::
Also return existing entries.
====
[open]
====
The optional `entrychgcontrols` setting defines whether the server returns an Entry Change Notification control with each entry notification. The Entry Change Notification control provides additional information about the change that caused the entry to be returned by the search. In particular, it indicates the change type, the change number if available, and the previous DN if the change type was a modify DN operation.
`true`::
Do request the Entry Change Notification control.
+
This is the default setting.
`false`::
Do not request the Entry Change Notification control.
====
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_dsconfig-examples.adoc
New file
@@ -0,0 +1,124 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
Much of the __OpenDJ Administration Guide__ consists of `dsconfig` examples with text in between.
This section therefore remains short.
The following example starts `dsconfig` in interactive, menu-driven mode on the default port of the current host.
[source, console]
----
$ dsconfig -h opendj.example.com -p 4444 -D "cn=Directory Manager" -w password
>>>> OpenDJ configuration console main menu
What do you want to configure?
    1)   Access Control Handler               23)  Log Publisher
    2)   Access Log Filtering Criteria        24)  Log Retention Policy
    3)   Account Status Notification Handler  25)  Log Rotation Policy
    4)   Administration Connector             26)  Matching Rule
    5)   Alert Handler                        27)  Monitor Provider
    6)   Attribute Syntax                     28)  Password Generator
    7)   Backend                              29)  Password Policy
    8)   Backend Index                        30)  Password Storage Scheme
    9)   Backend VLV Index                    31)  Password Validator
    10)  Certificate Mapper                   32)  Plugin
    11)  Connection Handler                   33)  Plugin Root
    12)  Crypto Manager                       34)  Replication Domain
    13)  Debug Target                         35)  Replication Server
    14)  Entry Cache                          36)  Root DN
    15)  Extended Operation Handler           37)  Root DSE Backend
    16)  External Changelog Domain            38)  SASL Mechanism Handler
    17)  Global Configuration                 39)  Schema Provider
    18)  Group Implementation                 40)  Synchronization Provider
    19)  HTTP Authorization Mechanism         41)  Trust Manager Provider
    20)  HTTP Endpoint                        42)  Virtual Attribute
    21)  Identity Mapper                      43)  Work Queue
    22)  Key Manager Provider
    q)   quit
Enter choice:
----
The following example demonstrates generating a batch file that corresponds to an interactive session enabling
the debug log. The example then demonstrates using a modified batch file to disable the debug log.
[source, console]
----
$ dsconfig \
 --hostname opendj.example.com \
 --port 4444 \
 --bindDN "cn=Directory Manager" \
 --bindPassword password \
 --commandFilePath ~/enable-debug-log.batch
 ...
$ cat ~/enable-debug-log.batch
# dsconfig session start date: 19/Oct/2011:08:52:22 +0000
# Session operation number: 1
# Operation date: 19/Oct/2011:08:55:06 +0000
dsconfig set-log-publisher-prop \
          --publisher-name File-Based\ Debug\ Logger \
          --set enabled:true \
          --hostname opendj.example.com \
          --port 4444 \
          --trustStorePath /path/to/opendj/config/admin-truststore \
          --bindDN cn=Directory\ Manager \
          --bindPassword ****** \
          --no-prompt
$ cp ~/enable-debug-log.batch ~/disable-debug-log.batch
$ vi ~/disable-debug-log.batch
$ cat ~/disable-debug-log.batch
set-log-publisher-prop \
          --publisher-name File-Based\ Debug\ Logger \
          --set enabled:false \
          --hostname opendj.example.com \
          --port 4444 \
          --trustStorePath /path/to/opendj/config/admin-truststore \
          --bindDN cn=Directory\ Manager \
          --bindPassword password \
          --no-prompt
$ dsconfig --batchFilePath ~/disable-debug-log.batch --no-prompt
set-log-publisher-prop
--publisher-name
File-Based Debug Logger
--set
enabled:false
--hostname
opendj.example.com
--port
4444
--trustStorePath
/path/to/opendj/config/admin-truststore
--bindDN
cn=Directory Manager
--bindPassword
password
--no-prompt
$
----
Notice that the original command file looks like a shell script with the bind password
value replaced by asterisks. To pass the content as a batch file to `dsconfig`, strip `dsconfig` itself, and include t
he bind password for the administrative user or replace that option with an alternative, such as reading the password from a file.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_dsreplication-examples.adoc
New file
@@ -0,0 +1,71 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example enables and then initializes replication for a new replica
on `opendj2.example.com` from an existing replica on `opendj.example.com`.
[source, console]
----
$ dsreplication enable -I admin -w password -X -n -b dc=example,dc=com \
 --host1 opendj.example.com --port1 4444 --bindDN1 "cn=Directory Manager" \
 --bindPassword1 password --replicationPort1 8989 \
 --host2 opendj2.example.com --port2 4444 --bindDN2 "cn=Directory Manager" \
 --bindPassword2 password --replicationPort2 8989
Establishing connections ..... Done.
Checking registration information ..... Done.
Updating remote references on server opendj.example.com:4444 ..... Done.
Configuring Replication port on server opendj2.example.com:4444 ..... Done.
Updating replication configuration for baseDN dc=example,dc=com on server
 opendj.example.com:4444 ..... Done.
Updating replication configuration for baseDN dc=example,dc=com on server
 opendj2.example.com:4444 ..... Done.
Updating registration configuration on server
 opendj.example.com:4444 ..... Done.
Updating registration configuration on server
 opendj2.example.com:4444 ..... Done.
Updating replication configuration for baseDN cn=schema on server
 opendj.example.com:4444 ..... Done.
Updating replication configuration for baseDN cn=schema on server
 opendj2.example.com:4444 ..... Done.
Initializing registration information on server opendj2.example.com:4444 with
 the contents of server opendj.example.com:4444 ..... Done.
Initializing schema on server opendj2.example.com:4444 with the contents of
 server opendj.example.com:4444 ..... Done.
Replication has been successfully enabled.  Note that for replication to
 work you must initialize the contents of the base DN's that are being
  replicated (use dsreplication initialize to do so).
See
/var/.../opends-replication-7958637258600693490.log
for a detailed log of this operation.
$ dsreplication initialize-all -I admin -w password -X -n -b dc=example,dc=com \
 -h opendj.example.com -p 4444
Initializing base DN dc=example,dc=com with the contents from
 opendj.example.com:4444: 160 entries processed (100 % complete).
Base DN initialized successfully.
See
/var/.../opends-replication-5020375834904394170.log
for a detailed log of this operation.
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_encode-password-examples.adoc
New file
@@ -0,0 +1,49 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example encodes a password, and also shows comparison of a password with the encoded value.
[source, console]
----
$ encode-password -l
3DES
AES
BASE64
BLOWFISH
CLEAR
CRYPT
MD5
RC4
SHA
SMD5
SSHA
SSHA256
SSHA384
SSHA512
$ encode-password -c secret12 -s CRYPT
Encoded Password:  "{CRYPT}ZulJ6Dy3TFnrE"
$ encode-password -c secret12 -s CRYPT -e "{CRYPT}ZulJ6Dy3TFnrE" -r
The provided clear-text and encoded passwords match
$ echo $?
6
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-1.adoc
New file
@@ -0,0 +1,29 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
1::
An error occurred.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-5-6-other.adoc
New file
@@ -0,0 +1,35 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
5::
The `-r` option was used, and the compare did not match.
6::
The `-r` option was used, and the compare did match.
other::
An error occurred.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-80-89.adoc
New file
@@ -0,0 +1,31 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
80::
The command could not complete due to an input/output error.
89::
An error occurred while parsing the command-line arguments.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-89.adoc
New file
@@ -0,0 +1,29 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions copyright [year] [name of copyright owner]".
  Copyright 2017 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
89::
An error occurred while parsing the command-line arguments.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-gt0.adoc
New file
@@ -0,0 +1,29 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
> 0::
An error occurred.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_exit-codes-0-ldap-89.adoc
New file
@@ -0,0 +1,37 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
__ldap-error__::
An LDAP error occurred while processing the operation.
+
LDAP result codes are described in
     link:http://tools.ietf.org/html/rfc4511#appendix-A[RFC 4511, window=_blank].
     Also see the additional information for details.
89::
An error occurred while parsing the command-line arguments.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_export-ldif-examples.adoc
New file
@@ -0,0 +1,29 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example exports data to a file, `Example.ldif`, with the server offline.
[source, console]
----
$ export-ldif -b dc=example,dc=com -n userRoot -l ../ldif/Example.ldif
... category=BACKEND severity=INFORMATION ...
...Exported 160 entries and skipped 0 in 0 seconds (average rate 1428.6/sec)
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_files.adoc
New file
@@ -0,0 +1,37 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Files
You can use `~/.opendj/tools.properties` to set the defaults for bind DN, host name,
and port number as in the following example.
[source, ini]
----
hostname=directory.example.com
port=1389
bindDN=uid=kvaughan,ou=People,dc=example,dc=com
ldapcompare.port=1389
ldapdelete.port=1389
ldapmodify.port=1389
ldappasswordmodify.port=1389
ldapsearch.port=1389
----
The location on Windows is `%UserProfile%/.opendj/tools.properties`.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_filters.adoc
New file
@@ -0,0 +1,23 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Filters
The filter argument is a string representation of an LDAP search filter as in
`(cn=Babs Jensen)`, `(&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))`,
or `(cn:caseExactMatch:=Fred Flintstone)`.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_import-ldif-examples.adoc
New file
@@ -0,0 +1,28 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example imports the content of a file, `Example.ldif`, with the server offline.
[source, console]
----
$ import-ldif -b dc=example,dc=com -n userRoot -l /path/to/Example.ldif
... category=RUNTIME_INFORMATION severity=NOTICE...
... msg=Import LDIF environment close took 0 seconds
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapcompare-examples.adoc
New file
@@ -0,0 +1,42 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following examples demonstrate comparing Babs Jensen's UID.
The following example uses a matching UID value.
[source, console]
----
$ ldapcompare -p 1389 uid:bjensen uid=bjensen,ou=people,dc=example,dc=com
Comparing type uid with value bjensen in entry
uid=bjensen,ou=people,dc=example,dc=com
Compare operation returned true for entry
uid=bjensen,ou=people,dc=example,dc=com
----
The following example uses a UID value that does not match.
[source, console]
----
$ ldapcompare -p 1389 uid:beavis uid=bjensen,ou=people,dc=example,dc=com
Comparing type uid with value beavis in entry
uid=bjensen,ou=people,dc=example,dc=com
Compare operation returned false for entry
uid=bjensen,ou=people,dc=example,dc=com
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapcompare-exit-codes.adoc
New file
@@ -0,0 +1,49 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
5::
The LDAP compare operation did not match.
6::
The `-m` option was used,
     and the LDAP compare operation did match.
__ldap-error__::
An LDAP error occurred while processing the operation.
+
LDAP result codes are described in
     link:http://tools.ietf.org/html/rfc4511#appendix-A[RFC 4511, window=_blank].
     Also see the additional information for details.
89::
An error occurred while parsing the command-line arguments.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapdelete-examples.adoc
New file
@@ -0,0 +1,41 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following command deletes a user entry from the directory.
[source]
----
$ ldapdelete -p 1389 -D "cn=Directory Manager" -w password \
 uid=bjensen,ou=people,dc=example,dc=com
Processing DELETE request for uid=bjensen,ou=people,dc=example,dc=com
DELETE operation successful for DN uid=bjensen,ou=people,dc=example,dc=com
----
The following command deletes the `ou=Groups` entry
  and all entries underneath `ou=Groups`.
[source]
----
$ ldapdelete -p 1389 -D "cn=Directory Manager" -w password -x \
 ou=groups,dc=example,dc=com
Processing DELETE request for ou=groups,dc=example,dc=com
DELETE operation successful for DN ou=groups,dc=example,dc=com
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapmodify-examples.adoc
New file
@@ -0,0 +1,129 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates use of the command to add an entry to the directory.
[source, console]
----
$ cat newuser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
facsimileTelephoneNumber: +1 408 555 1213
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: New
cn: New User
cn: Real Name
telephoneNumber: +1 408 555 1212
sn: Jensen
roomNumber: 1234
homeDirectory: /home/newuser
uidNumber: 10389
mail: newuser@example.com
l: South Pole
ou: Product Development
ou: People
gidNumber: 10636
$ ldapmodify -p 1389 -a -f newuser.ldif \
 -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
Processing ADD request for uid=newuser,ou=People,dc=example,dc=com
ADD operation successful for DN uid=newuser,ou=People,dc=example,dc=com
----
The following listing shows a UNIX shell script that adds a user entry.
[source, shell]
----
#!/bin/sh
#
# Add a new user with the ldapmodify utility.
#
usage(){
        echo "Usage: $0 uid firstname lastname"
        exit 1
}
[[ $# -lt 3 ]] && usage
LDAPMODIFY=/path/to/opendj/bin/ldapmodify
HOST=opendj.example.com
PORT=1389
ADMIN=uid=kvaughan,ou=people,dc=example,dc=com
PWD=bribery
$LDAPMODIFY -h $HOST -p $PORT -D $ADMIN -w $PWD -a <<EOF
dn: uid=$1,ou=people,dc=example,dc=com
uid: $1
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: $2 $3
givenName: $2
sn: $3
mail: $1@example.com
EOF
----
The following example demonstrates adding a Description attribute to the new user's entry.
[source, console]
----
$ cat newdesc.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
changetype: modify
add: description
description: A new user's entry
$ ldapmodify -p 1389 -f newdesc.ldif \
 -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
Processing MODIFY request for uid=newuser,ou=People,dc=example,dc=com
MODIFY operation successful for DN uid=newuser,ou=People,dc=example,dc=com
----
The following example demonstrates changing the Description attribute for the new user's entry.
[source, console]
----
$ cat moddesc.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
changetype: modify
replace: description
description: Another description
$ ldapmodify -p 1389 -f moddesc.ldif \
 -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
Processing MODIFY request for uid=newuser,ou=People,dc=example,dc=com
MODIFY operation successful for DN uid=newuser,ou=People,dc=example,dc=com
----
The following example demonstrates deleting the new user's entry.
[source, console]
----
$ cat deluser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
changetype: delete
$ ldapmodify -p 1389 -f deluser.ldif \
 -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
Processing DELETE request for uid=newuser,ou=People,dc=example,dc=com
DELETE operation successful for DN uid=newuser,ou=People,dc=example,dc=com
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldappasswordmodify-examples.adoc
New file
@@ -0,0 +1,33 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates a user changing their own password.
[source]
----
$ cat /tmp/currpwd.txt /tmp/newpwd.txt
bribery
secret12
$ ldappasswordmodify -p 1389 -C /tmp/currpwd.txt --newPasswordFile /tmp/newpwd.txt \
 -D uid=kvaughan,ou=people,dc=example,dc=com -w bribery
The LDAP password modify operation was successful
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldapsearch-examples.adoc
New file
@@ -0,0 +1,88 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example searches for entries with UID containing `jensen`, returning only DNs and uid values.
[source, console]
----
$ ldapsearch -p 1389 -b dc=example,dc=com "(uid=*jensen*)" uid
dn: uid=ajensen,ou=People,dc=example,dc=com
uid: ajensen
dn: uid=bjensen,ou=People,dc=example,dc=com
uid: bjensen
dn: uid=gjensen,ou=People,dc=example,dc=com
uid: gjensen
dn: uid=jjensen,ou=People,dc=example,dc=com
uid: jjensen
dn: uid=kjensen,ou=People,dc=example,dc=com
uid: kjensen
dn: uid=rjensen,ou=People,dc=example,dc=com
uid: rjensen
dn: uid=tjensen,ou=People,dc=example,dc=com
uid: tjensen
Result Code:  0 (Success)
----
You can also use `@objectclass` notation in the attribute list to return the attributes of a particular object class. The following example shows how to return attributes of the `inetOrgPerson` object class.
[source, console]
----
$ ldapsearch -p 1389 -b dc=example,dc=com "(uid=bjensen)" @inetorgperson
dn: uid=bjensen,ou=People,dc=example,dc=com
givenName: Barbara
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uid: bjensen
cn: Barbara Jensen
cn: Babs Jensen
telephoneNumber: +1 408 555 1862
sn: Jensen
roomNumber: 0209
mail: bjensen@example.com
l: San Francisco
ou: Product Development
ou: People
facsimileTelephoneNumber: +1 408 555 1992
----
You can use `+` in the attribute list to return all operational attributes, as in the following example.
[source, console]
----
$ ldapsearch -p 1389 -b dc=example,dc=com "(uid=bjensen)" +
dn: uid=bjensen,ou=People,dc=example,dc=com
numSubordinates: 0
structuralObjectClass: inetOrgPerson
etag: 0000000073c29972
pwdPolicySubentry: cn=Default Password Policy,cn=Password Policies,cn=config
subschemaSubentry: cn=schema
hasSubordinates: false
entryDN: uid=bjensen,ou=people,dc=example,dc=com
entryUUID: fc252fd9-b982-3ed6-b42a-c76d2546312c
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifdiff-examples.adoc
New file
@@ -0,0 +1,64 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates use of the command with two small LDIF files.
[source]
----
$ cat /path/to/newuser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: changeme
$ cat /path/to/neweruser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: secret12
description: A new description.
$ ldifdiff -s /path/to/newuser.ldif -t /path/to/neweruser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
changetype: modify
add: userPassword
userPassword: secret12
-
delete: userPassword
userPassword: changeme
-
add: description
description: A new description.
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifdiff-exit-codes.adoc
New file
@@ -0,0 +1,32 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
No differences were found.
1::
Differences were found.
other::
An error occurred.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifmodify-examples.adoc
New file
@@ -0,0 +1,66 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates use of the command.
[source]
----
$ cat /path/to/newuser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: changeme
$ cat /path/to/newdiff.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
changetype: modify
add: userPassword
userPassword: secret12
-
delete: userPassword
userPassword: changeme
-
add: description
description: A new description.
$ ldifmodify -o neweruser.ldif /path/to/newuser.ldif /path/to/newdiff.ldif
$ cat neweruser.ldif
dn: uid=newuser,ou=People,dc=example,dc=com
uid: newuser
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: top
cn: New User
sn: User
ou: People
mail: newuser@example.com
userPassword: secret12
description: A new description.
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_ldifsearch-examples.adoc
New file
@@ -0,0 +1,73 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates use of the command.
[source]
----
$ ldifsearch -b dc=example,dc=com Example.ldif uid=bjensen
dn: uid=bjensen,ou=People,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uid: bjensen
userpassword: hifalutin
facsimiletelephonenumber: +1 408 555 1992
givenname: Barbara
cn: Barbara Jensen
cn: Babs Jensen
telephonenumber: +1 408 555 1862
sn: Jensen
roomnumber: 0209
homeDirectory: /home/bjensen
mail: bjensen@example.com
l: San Francisco
ou: Product Development
ou: People
uidNumber: 1076
gidNumber: 1000
----
You can also use `@__objectclass__`
  notation in the attribute list to return the attributes
  of a particular object class.
  The following example shows how to return attributes
  of the `posixAccount` object class.
[source]
----
$ ldifsearch -b dc=example,dc=com Example.ldif "(uid=bjensen)" @posixaccount
dn: uid=bjensen,ou=People,dc=example,dc=com
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uid: bjensen
userpassword: hifalutin
cn: Barbara Jensen
cn: Babs Jensen
homeDirectory: /home/bjensen
uidNumber: 1076
gidNumber: 1000
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_list-backends-examples.adoc
New file
@@ -0,0 +1,37 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates a successful run.
[source, console]
----
$ list-backends
Backend ID         : Base DN
-------------------:----------------------
adminRoot          : cn=admin data
ads-truststore     : cn=ads-truststore
backup             : cn=backups
config             : cn=config
monitor            : cn=monitor
myCompanyRoot      : "dc=myCompany,dc=com"
myOrgRoot          : o=myOrg
schema             : cn=schema
tasks              : cn=tasks
userRoot           : "dc=example,dc=com"
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_makeldif-examples.adoc
New file
@@ -0,0 +1,32 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example uses the default template to generate LDIF.
[source]
----
$ makeldif -o ../ldif/generated.ldif ../config/MakeLDIF/example.template
Processed 1000 entries
Processed 2000 entries
...
Processed 10000 entries
LDIF processing complete.  10003 entries written
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_makeldif-see-also.adoc
New file
@@ -0,0 +1,22 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== See Also
<<makeldif-template-5>>
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_manage-account-examples.adoc
New file
@@ -0,0 +1,47 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
For the following examples the directory admin user, Kirsten Vaughan,
has `ds-privilege-name: password-reset` and the following ACI on `ou=People,dc=example,dc=com`.
[source]
----
(target="ldap:///ou=People,dc=example,dc=com") (targetattr ="*||+")(
 version 3.0;acl "Admins can run amok"; allow(all) groupdn =
 "ldap:///cn=Directory Administrators,ou=Groups,dc=example,dc=com";)
----
The following command locks a user account.
[source, console]
----
$ manage-account -p 4444 -D "uid=kvaughan,ou=people,dc=example,dc=com" \
 -w bribery set-account-is-disabled -O true \
 -b uid=bjensen,ou=people,dc=example,dc=com -X
Account Is Disabled:  true
----
The following command unlocks a user account.
[source, console]
----
$ manage-account -p 4444 -D "uid=kvaughan,ou=people,dc=example,dc=com" \
 -w bribery clear-account-is-disabled \
 -b uid=bjensen,ou=people,dc=example,dc=com -X
Account Is Disabled:  false
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_manage-tasks-examples.adoc
New file
@@ -0,0 +1,32 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example demonstrates use of the command with a server that does daily backups at 2:00 AM.
[source, console]
----
$ manage-tasks -p 4444 -h opendj.example.com -D "cn=Directory Manager" \
 -w password -s
  ID                                Type    Status
  ---------------------------------------------------------------
  example-backup                    Backup  Recurring
  example-backup-20110622020000000  Backup  Waiting on start time
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_rebuild-index-examples.adoc
New file
@@ -0,0 +1,28 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example schedules a task to start immediately that rebuilds the `cn` (common name) index.
[source, console]
----
$ rebuild-index -p 4444 -h opendj.example.com -D "cn=Directory Manager" \
 -w password -b dc=example,dc=com -i cn -t 0
Rebuild Index task 20110607160349596 scheduled to start Jun 7, 2011 4:03:49 PM
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_restore-examples.adoc
New file
@@ -0,0 +1,55 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example schedules a restore as a task to begin immediately while OpenDJ directory server is online.
[source, console]
----
$ restore -p 4444 -D "cn=Directory Manager" -w password
 -d /path/to/opendj/bak -I 20110613080032 -t 0
Restore task 20110613155052932 scheduled to start Jun 13, 2011 3:50:52 PM CEST
----
The following example restores data while OpenDJ is offline.
[source, console]
----
$ stop-ds
Stopping Server...
...
$ restore --backupDirectory /path/to/opendj/bak/userRoot \
 --listBackups
Backup ID:          20120928102414Z
Backup Date:        28/Sep/2012:12:24:17 +0200
Is Incremental:     false
Is Compressed:      false
Is Encrypted:       false
Has Unsigned Hash:  false
Has Signed Hash:    false
Dependent Upon:     none
$ restore --backupDirectory /path/to/opendj/bak/userRoot \
 --backupID 20120928102414Z
[28/Sep/2012:12:26:20 +0200] ... msg=Restored: 00000000.jdb (size 355179)
$ start-ds
[28/Sep/2012:12:27:29 +0200] ... The Directory Server has started successfully
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_setup-examples.adoc
New file
@@ -0,0 +1,42 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following command installs OpenDJ directory server, enabling StartTLS and importing 100
example entries without interaction.
[source, console]
----
$ /path/to/opendj/setup --cli -b dc=example,dc=com -d 100 \
 -D "cn=Directory Manager" -w password -h opendj.example.com -p 1389 \
 --generateSelfSignedCertificate --enableStartTLS -n
OpenDJ version
 Please wait while the setup program initializes...
See /var/.../opends-setup-484...561.log for a detailed log of this operation.
Configuring Directory Server ..... Done.
Configuring Certificates ..... Done.
Importing Automatically-Generated Data (100 Entries) ......... Done.
Starting Directory Server .......... Done.
To see basic server configuration status and configuration you can launch
 /path/to/opendj/bin/status
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_start-ds-examples.adoc
New file
@@ -0,0 +1,26 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following command starts the server without displaying information about the startup process.
[source, console]
----
$ start-ds -Q
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_status-examples.adoc
New file
@@ -0,0 +1,65 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
[source, console]
----
$ status -D "cn=Directory Manager" -w password
          --- Server Status ---
Server Run Status:        Started
Open Connections:         1
          --- Server Details ---
Host Name:                localhost.localdomain
Administrative Users:     cn=Directory Manager
Installation Path:        /path/to/opendj
Version:                  OpenDJ version
Java Version:             version
Administration Connector: Port 4444 (LDAPS)
          --- Connection Handlers ---
Address:Port : Protocol    : State
-------------:-------------:---------
--           : LDIF        : Disabled
8989         : Replication : Enabled
0.0.0.0:161  : SNMP        : Disabled
0.0.0.0:636  : LDAPS       : Disabled
0.0.0.0:1389 : LDAP        : Enabled
0.0.0.0:1689 : JMX         : Disabled
          --- Data Sources ---
Base DN:                      dc=example,dc=com
Backend ID:                   userRoot
Entries:                      160
Replication:                  Enabled
Missing Changes:              0
Age of Oldest Missing Change: <not available>
Base DN:     dc=myCompany,dc=com
Backend ID:  myCompanyRoot
Entries:     3
Replication: Disabled
Base DN:     o=myOrg
Backend ID:  myOrgRoot
Entries:     3
Replication: Disabled
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_stop-ds-examples.adoc
New file
@@ -0,0 +1,29 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example restarts OpenDJ directory server.
[source, console]
----
$ stop-ds --restart
Stopping Server...
...The Directory Server has started successfully
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_uninstall-examples.adoc
New file
@@ -0,0 +1,37 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following command removes OpenDJ directory server without interaction.
[source, console]
----
$ /path/to/opendj/uninstall -a --cli -I admin -w password -n
Stopping Directory Server ..... Done.
Deleting Files under the Installation Path ..... Done.
The Uninstall Completed Successfully.
To complete the uninstallation, you must delete manually the following files
and directories:
/path/to/opendj/lib
See /var/.../opends-uninstall-3...0.log for a detailed log of this operation.
$ rm -rf /path/to/opendj
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_upgrade-exit-codes.adoc
New file
@@ -0,0 +1,46 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
2::
The command was run in non-interactive mode, but could not complete
     because confirmation was required to run a long or critical task.
+
See the error message or the log for details.
other::
An error occurred.
--
See the OpenDJ Installation Guide
  for an example upgrade process for OpenDJ directory server
  installed from the cross-platform (.zip) delivery.
Native packages (.deb, .rpm) perform more of the upgrade process,
  stopping OpenDJ if it is running,
  overwriting older files with newer files,
  running this utility,
  and starting OpenDJ if it was running when you upgraded the package(s).
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_variablelist-ldap-controls.adoc
New file
@@ -0,0 +1,51 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
[open]
====
For some __controloid__ values, you can replace object identifiers with user-friendly strings. The strings are listed here in lower case, but the case is not important. You can use camelCase if you prefer, for example.
`accountusable`,`accountusability`::
Account Usability Control, Object Identifier: 1.3.6.1.4.1.42.2.27.9.5.8
`authzid`,`authorizationidentity`::
Authorization Identity Request Control, Object Identifier: 2.16.840.1.113730.3.4.16
`effectiverights`,`geteffectiverights`::
Get Effective Rights Request Control, Object Identifier: 1.3.6.1.4.1.42.2.27.9.5.2
`managedsait`::
Manage DSAIT Request Control, Object Identifier: 2.16.840.1.113730.3.4.2
`noop`,`no-op`::
No-Op Control, Object Identifier: 1.3.6.1.4.1.4203.1.10.2
`pwpolicy`,`passwordpolicy`::
Password Policy Control, Object Identifier: 1.3.6.1.4.1.42.2.27.8.5.1
`realattrsonly`,`realattributesonly`::
Real Attributes Only Request Control, Object Identifier: 2.16.840.1.113730.3.4.17
`subtreedelete`,`treedelete`::
Subtree Delete Request Control, Object Identifier: 1.2.840.113556.1.4.805
`virtualattrsonly`,`virtualattributesonly`::
Virtual Attributes Only Request Control, Object Identifier: 2.16.840.1.113730.3.4.19
====
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_verify-index-examples.adoc
New file
@@ -0,0 +1,43 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Examples
The following example shows how to verify the `sn` (surname) index for completeness and
for errors. The messages shown are for a backend of type `pdb`.
The output is similar for other backend types:
[source, console]
----
$ verify-index -b dc=example,dc=com -i sn --clean --countErrors
[20/05/2015:14:24:18 +0200] category=...PDBStorage seq=0 severity=INFO
 msg=The PDB storage for backend 'userRoot' initialized
 to use 57528 buffers of 16384 bytes (total 920448kb)
[20/05/2015:14:24:18 +0200] category=...pluggable.VerifyJob seq=1 severity=INFO
 msg=Checked 478 records and found 0 error(s) in 0 seconds
 (average rate 3594.0/sec)
[20/05/2015:14:24:18 +0200] category=...pluggable.VerifyJob seq=2 severity=FINE
 msg=Number of records referencing more than one entry: 224
[20/05/2015:14:24:18 +0200] category=...pluggable.VerifyJob seq=3 severity=FINE
 msg=Number of records that exceed the entry limit: 0
[20/05/2015:14:24:18 +0200] category=...pluggable.VerifyJob seq=4 severity=FINE
 msg=Average number of entries referenced is 2.00/record
[20/05/2015:14:24:18 +0200] category=...pluggable.VerifyJob seq=5 severity=FINE
 msg=Maximum number of entries referenced by any record is 32
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/_verify-index-exit-codes.adoc
New file
@@ -0,0 +1,34 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
== Exit Codes
--
0::
The command completed successfully.
1::
The command was run in non-interactive mode, but could not complete because confirmation was required to run a long or critical task.
+
See the error message or the log for details.
0-255::
The number of errors in the index, as indicated for the `--countErrors` option.
--
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-dsjavaproperties.adoc
New file
@@ -0,0 +1,98 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
[#dsjavaproperties-1]
= dsjavaproperties(1)
:doctype: manpage
:manmanual: Directory Server Tools
:mansource: OpenDJ
== Name
dsjavaproperties â€” apply OpenDJ Java home and JVM settings
== Synopsis
`dsjavaproperties`
[#dsjavaproperties-description]
== Description
This utility can be used to change the java arguments and java home that are used by the different server commands.
Before launching the command, edit the properties file located in /path/to/opendj/config/java.properties to specify the java arguments and java home. When you have edited the properties file, run this command for the changes to be taken into account.
Note that the changes will only apply to this server installation. No modifications will be made to your environment variables.
[#dsjavaproperties-options]
== Options
The `dsjavaproperties` command takes the following options:
--
Utility input/output options:
`-Q | --quiet`::
Use quiet mode.
+
Default: false
--
--
General options:
`-V | --version`::
Display Directory Server version information.
+
Default: false
--
--
`-H | --help`::
Display this usage information.
+
Default: false
--
== Files
This command depends on the content of the `config/java.properties` file.
[#d1822e3730]
== Exit Codes
--
0::
The command completed successfully.
> 0::
An error occurred.
--
== Examples
The following example demonstrates a successful run.
[source, console]
----
$ dsjavaproperties
The operation was successful.  The server commands will use the java arguments
 and java home specified in the properties file located in
 /path/to/opendj/config/java.properties
----
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-makeldif-template.adoc
New file
@@ -0,0 +1,270 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2011-2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
[#makeldif-template-5]
= makeldif-template(5)
:doctype: manpage
:manmanual: Directory Server Tools
:mansource: OpenDJ
== Name
makeldif-template â€” template file for the make-ldif command
== Synopsis
[source]
----
# Comment lines start with #.
#
# Notice that this synopsis includes blank lines after entries.
# In the same way you would use blank lines after entries in normal LDIF,
# leave empty lines after "entries" in template files.
# Optionally include classes that define custom tags.
# Custom tag classes extend org.opends.server.tools.makeldif.Tag and
# must be on the class path when you run make-ldif.
#
include custom.makeldif.tag.ClassName
...
# Optionally define constants used in the template.
# To reference constants later, put brackets around the name: [constant-name]
#
define constant-name=value
...
# Define branches by suffix DN, such as the following:
#
#  dc=example,dc=com
#  ou=People,dc=example,dc=com
#  ou=Groups,dc=example,dc=com
#
# make-ldif generates the necessary object class definitions and RDNs.
#
# A branch can have subordinateTemplates that define templates to use for
# the branch entry.
#
# A branch can have additional attributes generated on the branch entry. See
# the Description below for more information on specifying attribute values.
#
branch: suffix-dn
[subordinateTemplate: template-name:number
...]
[attribute: attr-value
...]
...
# Define entries using templates.
#
# A template can extend another template.
# A template defines the RDN attribute(s) used for generated entries.
# A template can have a subordinateTemplate that defines a template to use for
# the generated entries.
#
# A template then defines attributes. See the Description below for more
# information on specifying attribute values.
#
template: template-name
[extends: template-name]
rdnAttr: attribute[+attribute ...]
[subordinateTemplate: template-name:number]
[attribute: attr-value
...]
...
----
== Description
Template files specify how to build LDIF. They allow you to define variables, insert random values from other files, and generally build arbitrarily large LDIF files for testing purposes. You pass template files to the `make-ldif` command when generating LDIF.
The Synopsis above shows the layout for a `make-ldif` template file. This section focuses on what you can do to specify entry attribute values, called __attr-value__ in the Synopsis section.
.Specifying Attribute Values
--
When specifying attribute values in `make-ldif` templates, you can use static text and constants that you have defined, enclosing names for constants in brackets, `[myConstant]`. You can use more than one constant per line, as in the following example.
[source, ldif]
----
description: Description for [org] under [suffix]
----
You can also use two kinds of tags when specifying attribute values. One kind of tag gets replaced with the value of another attribute in the generated entry. Such tags are delimited with braces, `{ }`. For example, if your template includes definitions for first name and last name attributes:
[source, ldif]
----
givenName: <first>
sn: <last>
----
Then you can define a mail attribute that uses the values of both attributes, and an initials attribute that takes the first character of each.
[source, ldif]
----
mail: {givenName}.{sn}@[myDomain]
initials: {givenName:1}{sn:1}
----
The other kind of tag is delimited with `<` and `>`, as shown above in the example with `<first>` and `<last>`. Tag names are not case sensitive. Many tags can take arguments separated by colons, `:`, from the tag names within the tag.
Use backslashes to escape literal start tag characters (`< [ {`) as shown in the following example, and to escape literal end tag characters within tags (`> ] }`).
[source, ldif]
----
scimMail: \{"emails": \[\{"value": "{mail}", "type": "work", "primary": true}]}
xml: \<id>{uid}\</id>
----
OpenDJ supports the following tags.
<DN>::
The DN tag gets replaced by the distinguished name of the current entry. An optional integer argument specifies the subcomponents of the DN to generate. For example, if the DN of the entry is `uid=bjensen,ou=People,dc=example,dc=com` `<DN:1>` gets replaced by `uid=bjensen`, and `<DN:-2>` gets replaced by `dc=example,dc=com`.
<File>::
The File tag gets replaced by a line from a text file you specify. The File tag takes a required argument, the path to the text file, and an optional second argument, either `random` or `sequential`. For the file argument, either you specify an absolute path to the file such as `<file:/path/to/myDescriptions>`, or you specify a path relative to the `/path/to/opendj/config/MakeLDIF/` directory such as `<file:streets>`. For the second argument, if you specify `sequential` then lines from the file are read in sequential order. Otherwise, lines from the file are read in random order.
<First>::
The first name tag gets replaced by a random line from `/path/to/opendj/config/MakeLDIF/first.names`. Combinations of generated first and last names are unique, with integers appended to the name strings if not enough combinations are available.
<GUID>::
The GUID tag gets replaced by a 128-bit, type 4 (random) universally unique identifier such as `f47ac10b-58cc-4372-a567-0e02b2c3d479`.
<IfAbsent>::
The IfAbsent tag takes as its first argument the name of another attribute, and optionally as its second argument a value to use. This tag causes the attribute to be generated only if the named attribute is not present on the generated entry. Use this tag when you have used `<Presence>` to define another attribute that is not always present on generated entries.
<IfPresent>::
The IfPresent takes as its first argument the name of another attribute, and optionally as its second argument a value to use. This tag causes the attribute to be generated only if the named attribute is also present on the generated entry. Use this tag when you have used `<Presence>` to define another attribute that is sometimes present on generated entries.
<Last>::
The last name tag gets replaced by a random line from `/path/to/opendj/config/MakeLDIF/last.names`. Combinations of generated first and last names are unique, with integers appended to the name strings if not enough combinations are available.
<List>::
The List tag gets replaced by one of the values from the list of arguments you provide. For example, `<List:bronze:silver:gold>` gets replaced with `bronze`, `silver`, or `gold`.
+
You can weight arguments to ensure some arguments are selected more often than others. For example, if you want two bronze for one silver and one gold, use `<List:bronze;2:silver;1:gold;1>`.
<ParentDN>::
The ParentDN tag gets replaced by the distinguished name of the parent entry. For example, if the DN of the entry is `uid=bjensen,ou=People,dc=example,dc=com`, `<ParentDN>` gets replaced by `ou=People,dc=example,dc=com`.
<Presence>::
The Presence tag takes a percent argument. It does not get replaced by a value itself, but instead results in the attribute being generated on the percentage of entries you specify in the argument. For example, `description: <Presence:50>A description` generates `description: A description` on half the entries.
<Random>::
The Random tag lets you generate a variety of random numbers and strings. The Random tag has the following subtypes, which you include as arguments, that is `<Random:subtype>`.
+
* `alpha:length`
* `alpha:minlength:maxlength`
* `numeric:length`
* `numeric:minvalue:maxvalue`
* `numeric:minvalue:maxvalue:format`, where __format__ is a link:http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html[java.text.DecimalFormat, window=\_blank] pattern
* `alphanumeric:length`
* `alphanumeric:minlength:maxlength`
* `chars:characters:length`
* `chars:characters:minlength:maxlength`
* `hex:length`
* `hex:minlength:maxlength`
* `base64:length`
* `base64:minlength:maxlength`
* `month`
* `month:maxlength`
* `telephone`, a telephone number starting with the country code `+1`
<RDN>::
The RDN tag gets replaced with the RDN of the entry. Use this in the template after you have specified `rdnAttr` so that the RDN has already been generated when this tag is replaced.
+
An optional integer argument specifies the subcomponents of the RDN to generate.
<Sequential>::
The Sequential tag gets replaced by a sequentially increasing generated integer. The first optional integer argument specifies the starting number. The second optional boolean argument specifies whether to start over when generating entries for a new parent entry. For example, `<Sequential>:42:true` starts counting from 42, and starts over when the parent entry changes from `o=Engineering` to `o=Marketing`.
<_DN>::
The _DN tag gets replaced by the DN of the current entry with underscores in the place of commas.
<_ParentDN>::
The _ParentDN tag gets replaced by the DN the parent entry with underscores in the place of commas.
--
== Examples
The following example generates 10 organization units, each containing 50 entries.
[source]
----
define suffix=dc=example,dc=com
define maildomain=example.com
define numusers=50
define numorgs=10
branch: [suffix]
branch: ou=People,[suffix]
subordinateTemplate: orgunit:[numorgs]
description: This is the People container
telephoneNumber: +33 00010002
template: orgunit
subordinateTemplate: person:[numusers]
rdnAttr: ou
ou: Org-<sequential:0>
objectClass: top
objectClass: organizationalUnit
description: This is the {ou} organizational unit
template: person
rdnAttr: uid
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
givenName: <first>
sn: <last>
cn: {givenName} {sn}
initials: {givenName:1}<random:chars:ABCDEFGHIJKLMNOPQRSTUVWXYZ:1>{sn:1}
employeeNumber: <sequential:0>
uid: user.{employeeNumber}
mail: {uid}@[maildomain]
userPassword: password
telephoneNumber: <random:telephone>
homePhone: <random:telephone>
pager: <random:telephone>
mobile: <random:telephone>
street: <random:numeric:5> <file:streets> Street
l: <file:cities>
st: <file:states>
postalCode: <random:numeric:5>
postalAddress: {cn}${street}${l}, {st}  {postalCode}
description: This is the description for {cn}.
----
== See Also
xref:#make-ldif-1[make-ldif(1)], the OpenDJ directory server template file `/path/to/opendj/config/MakeLDIF/example.template`
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-opendj.adoc
New file
@@ -0,0 +1,76 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2011-2015 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
[#opendj-5]
= opendj(5)
:doctype: manpage
:manmanual: OpenDJ
:mansource: OpenDJ
== Name
OpenDJ - a high-performance, highly-extensible, LDAPv3 compliant directory server
== Description
OpenDJ is a high-performance, highly-extensible, pure Java directory server.
The server is fully compliant with the LDAPv3 standard,
and passes all of the compliance, interoperability and security tests suites.
The directory server implements most of the standard
and experimental LDAP extensions defined in the IETF as RFCs or Internet-Drafts,
ensuring maximum interoperability with LDAP client applications.
OpenDJ software includes a rich set of APIs making the directory server easy to extend.
The directory server supports a loosely consistent multi-master replication model
that guarantees high availability of data for all operations, searches or updates.
While theoretically unlimited with regard to the number of masters,
the directory server has been stressed under heavy and durable load with four masters.
OpenDJ software includes:
* A graphical installation tool (`QuickSetup`) that enables you
to have a server configured, and up and running in less than 3 minutes
* A graphical control panel (`bin/control-panel`)
that displays server status information
and enables you to perform basic directory server administration
* A rich set of command-line utilities to perform
all online administrative tasks both interactively and with scripts
* Advanced security and password policies
* Advanced backup and restore capabilities
* Extensive user documentation
== Usage
See the `Installation Guide` for instructions
on getting started with OpenDJ directory server.
To install the directory server from IPS packages perform the following steps:
* As the root user, run the `configure` command
to create an instance of the directory server in a specific location,
running as a specific user.
* Run the `setup` command as this user
to install and configure the directory server instance.
* For additional configuration of the directory server,
use the `control-panel` and `dsconfig` commands.
opendj-doc-generated-ref/src/main/asciidoc/man-pages/man-windows-service.adoc
New file
@@ -0,0 +1,83 @@
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
  You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
  specific language governing permission and limitations under the License.
  When distributing Covered Software, include this CDDL Header Notice in each file and include
  the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2015-2016 ForgeRock AS.
  Portions Copyright 2024 3A Systems LLC.
////
[#windows-service]
= windows-service(1)
:doctype: manpage
:manmanual: Directory Server Tools
:mansource: OpenDJ
== Name
windows-service â€” register OpenDJ as a Windows Service
== Synopsis
`windows-service` {options}
== Description
This utility can be used to run OpenDJ directory server as a Windows Service.
== Service Options
--
`-c, --cleanupService serviceName`::
Disable the service and clean up the windows registry information associated with the provided service name
`-d, --disableService`::
Disable the server as a Windows service and stop the server
`-e, --enableService`::
Enable the server as a Windows service
`-s, --serviceState`::
Provide information about the state of the server as a Windows service
--
== General Options
--
`-V, --version`::
Display version information
`-?, -H, --help`::
Display usage information
--
== Exit Codes
--
0::
The command completed successfully.
> 0::
An error occurred.
--
== Example
The following command registers OpenDJ directory server as a Windows Service.
[source, console]
----
C:\path\to\opendj\bat> windows-service.bat --enableService
----
After running this command, you can manage the service using Windows administration tools.
opendj-doc-generated-ref/src/main/asciidoc/reference/admin-tools-ref.adoc
Diff too large
opendj-doc-generated-ref/src/main/asciidoc/reference/dsconfig-subcommands-ref.adoc
Diff too large
opendj-doc-generated-ref/src/main/assembly/generated-doc-sources-assembly.xml
@@ -27,7 +27,7 @@
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/docbkx-sources/shared</directory>
      <directory>${project.build.directory}/asciidoc/source/man-pages</directory>
      <outputDirectory />
    </fileSet>
  </fileSets>
opendj-doc-generated-ref/src/main/assembly/sdk-tools-man-pages-assembly.xml
@@ -24,237 +24,183 @@
  <!--
    Using <files> instead of <fileset> to avoid getting the full path.
    The .jar to has this file at /man-pages/man-addrate.xml for example.
    The .jar to has this file at /man-pages/man-addrate.adoc for example.
  -->
  <files>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-addrate.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-base64.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-authrate.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldapcompare.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-base64.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldapdelete.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldapcompare.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldapmodify.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldapdelete.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldappasswordmodify.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldapmodify.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldapsearch.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldappasswordmodify.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldifdiff.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldapsearch.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldifmodify.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldifdiff.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-ldifsearch.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldifmodify.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-makeldif.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-ldifsearch.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_attributes.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-makeldif.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_base64-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-modrate.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_description-psearch-info.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-searchrate.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-1.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/addrate-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-5-6-other.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/attributes.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-80-89.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/authrate-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-89.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/base64-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-gt0.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/description-makeldif.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_exit-codes-0-ldap-89.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/description-psearch-info.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_files.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/description-rate-tools.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_filters.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/description-resource-path.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldapcompare-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-1.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldapcompare-exit-codes.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-5-6-other.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldapdelete-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-80-89.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldapmodify-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-89.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldappasswordmodify-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-gt0.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldapsearch-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/exit-codes-0-ldap-89.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldifdiff-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/files.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldifdiff-exit-codes.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/filters.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldifmodify-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldapcompare-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_ldifsearch-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldapcompare-exit-codes.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_makeldif-examples.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldapdelete-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_makeldif-see-also.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldapmodify-examples.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/man-makeldif-template.adoc</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldappasswordmodify-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldapsearch-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldifdiff-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldifdiff-exit-codes.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldifmodify-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/ldifsearch-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/makeldif-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/makeldif-see-also.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/man-makeldif-template.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/modrate-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/searchrate-examples.xml</source>
    </file>
    <file>
      <outputDirectory>man-pages</outputDirectory>
      <source>${project.build.directory}/docbkx-sources/man-pages/variablelist-ldap-controls.xml</source>
      <source>${project.build.directory}/asciidoc/source/man-pages/_variablelist-ldap-controls.adoc</source>
    </file>
  </files>
opendj-doc-generated-ref/src/main/assembly/server-tools-man-page-sources-assembly.xml
@@ -27,7 +27,7 @@
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/docbkx-sources/man-pages</directory>
      <directory>${project.build.directory}/asciidoc/source/man-pages</directory>
      <outputDirectory />
    </fileSet>
  </fileSets>
opendj-doc-generated-ref/src/main/assembly/server-tools-man-pages-assembly.xml
@@ -27,7 +27,7 @@
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/docbkx/manpages/man-pages</directory>
      <directory>${project.build.directory}/asciidoc/man-pages</directory>
      <outputDirectory />
    </fileSet>
  </fileSets>
opendj-doc-generated-ref/src/main/resources/asciidoc/extensions/nested-open-block.rb
New file
@@ -0,0 +1,21 @@
# A custom block that allows open blocks to be nested using the
# example block container with the open block style.
#
# Usage:
#
#  [open]
#  ====
#  [open]
#  ======
#  nested
#  ======
#  ====
Asciidoctor::Extensions.register do
  block do
    named :open
    on_context :example
    process do |parent, reader, attrs|
      create_open_block parent, attrs
    end
  end
end
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateGlobalAcisTableMojo.java
@@ -26,6 +26,7 @@
import org.forgerock.opendj.ldap.DN;
import org.forgerock.opendj.ldap.Entry;
import org.forgerock.opendj.ldif.LDIFEntryReader;
import org.openidentityplatform.opendj.maven.doc.AsciidocConverterUtils;
import java.io.BufferedReader;
import java.io.File;
@@ -55,7 +56,7 @@
    private File configDotLdif;
    /** Output directory for source files. */
    @Parameter(defaultValue = "${project.build.directory}/docbkx-sources/shared")
    @Parameter(defaultValue = "${project.build.directory}/asciidoc/source/partials")
    private File outputDirectory;
    /** Holds documentation for an ACI. */
@@ -81,7 +82,7 @@
            throw new MojoFailureException(e.getMessage(), e);
        }
        File table = new File(outputDirectory, "table-global-acis.xml");
        File table = new File(outputDirectory, "table-global-acis.adoc");
        try {
            writeStringToFile(getGlobalAcisTable(), table);
        } catch (IOException e) {
@@ -130,7 +131,7 @@
                if (descriptions != null) {
                    aci.description = descriptions.get(aci.name);
                }
                aci.definition = attribute;
                aci.definition = AsciidocConverterUtils.escapeVerticalLine(attribute);
                allGlobalAcis.add(aci);
            }
        }
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateMessageFileMojo.java
@@ -317,7 +317,7 @@
            }
        }
        map.put("categories", categories);
        File file = new File(outputDirectory, "log-message-reference.xml");
        File file = new File(outputDirectory, "log-message-reference.adoc");
        try {
            createOutputDirectory();
            writeLogRef(file, "log-message-reference.ftl", map);
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateRefEntriesMojo.java
@@ -36,6 +36,7 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
@@ -114,7 +115,7 @@
     */
    private void generateManPageForTool(final CommandLineTool tool)
            throws MojoExecutionException, MojoFailureException {
        final File   manPage    = new File(outputDir, "man-" + tool.getName() + ".xml");
        final File   manPage    = new File(outputDir, "man-" + tool.getName() + ".adoc");
        final String toolScript = tool.getName();
        final String toolSects  = pathsToXIncludes(tool.getTrailingSectionPaths());
        final String toolClass  = tool.getApplication();
@@ -216,10 +217,11 @@
        // Assume xmlns:xinclude="http://www.w3.org/2001/XInclude",
        // as in the declaration of resources/templates/refEntry.ftl.
        final String nameSpace = "xinclude";
        final StringBuilder result = new StringBuilder();
        for (String path : paths) {
            result.append("<").append(nameSpace).append(":include href='").append(path).append("' />");
            result.append("include::./").append(path).append("[]")
                    .append(System.lineSeparator())
                    .append(System.lineSeparator());
        }
        return result.toString();
    }
@@ -268,7 +270,7 @@
                if (matcher.find()) {
                    writeToFile(builder.toString(), output);
                    builder.setLength(0);
                    output = new File(page.getParentFile(), "man-" + matcher.group(1) + ".xml");
                    output = new File(page.getParentFile(), "man-" + matcher.group(1) + ".adoc");
                    getLog().info("Writing man page: " + output.getPath());
                } else {
                    builder.append(line).append(System.getProperty("line.separator"));
@@ -289,7 +291,7 @@
     * @throws IOException  Failed to write the content of the input.
     */
    private void writeToFile(final String input, final File output) throws IOException {
        InputStream is = new ByteArrayInputStream(input.getBytes(Charset.forName("UTF-8")));
        InputStream is = new ByteArrayInputStream(input.getBytes(StandardCharsets.UTF_8));
        if (getLog().isDebugEnabled())
                getLog().debug(input);
        writeToFile(is, output);
opendj-doc-maven-plugin/src/main/java/org/forgerock/opendj/maven/doc/GenerateSchemaDocMojo.java
@@ -47,7 +47,7 @@
    private String locale;
    /** Output directory for source files. */
    @Parameter(defaultValue = "${project.build.directory}/docbkx-sources/shared")
    @Parameter(defaultValue = "${project.build.directory}/asciidoc/source/partials")
    private File outputDirectory;
    /**
@@ -59,7 +59,7 @@
    public void execute() throws MojoExecutionException, MojoFailureException {
        final Locale currentLocale = Locale.forLanguageTag(locale);
        final String localeReference = getLocalesAndSubTypesDocumentation(currentLocale);
        final File localeReferenceFile = new File(outputDirectory, "sec-locales-subtypes.xml");
        final File localeReferenceFile = new File(outputDirectory, "sec-locales-subtypes.adoc");
        try {
            writeStringToFile(localeReference, localeReferenceFile);
        } catch (IOException e) {
opendj-doc-maven-plugin/src/main/java/org/openidentityplatform/opendj/maven/doc/AsciidocConverterUtils.java
New file
@@ -0,0 +1,7 @@
package org.openidentityplatform.opendj.maven.doc;
public class AsciidocConverterUtils {
    public static String escapeVerticalLine(String text) {
        return text.replace("|", "\\|");
    }
}
opendj-doc-maven-plugin/src/main/resources/org/forgerock/opendj/maven/doc/docs.properties
@@ -52,15 +52,10 @@
LOG_REF_TITLE=Log Message Reference
LOG_REF_INDEXTERM=Logs
LOG_REF_INTRO=<olink targetdoc="admin-guide" targetptr="logging" /> describes logs. \
  Access and audit logs concern client operations               \
  rather than OpenDJ directory server and tools,                \
  and so are not listed here.                                   \
  Instead, this appendix covers severe and fatal error messages \
  for the directory server and its tools,                       \
  such as those logged in                                       \
  <filename>/path/to/opendj/logs/errors</filename>, and         \
  <filename>/path/to/opendj/logs/replication</filename>.
LOG_REF_INTRO=xref:../admin-guide/chap-monitoring.adoc#logging["Server Logs"] in the __Administration Guide__ describes \
  logs. Access and audit logs concern client operations rather than OpenDJ directory server and tools, and so are not \
  listed here. Instead, this appendix covers severe and fatal error messages for the directory server and its tools, \
  such as those logged in `/path/to/opendj/logs/errors`, and `/path/to/opendj/logs/replication`.
DOC_GLOBAL_ACIS_TABLE_TITLE=Default Global ACIs
DOC_GLOBAL_ACIS_TABLE_SUMMARY=OpenDJ directory server defines \
opendj-doc-maven-plugin/src/main/resources/templates/appendix-ldap-result-codes.ftl
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
@@ -12,63 +11,26 @@
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright ${year} ForgeRock AS.
-->
<#-- Comment text comes from the Javadoc, so the language is English. -->
<appendix xml:id="appendix-ldap-result-codes"
          xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://docbook.org/ns/docbook
                              http://docbook.org/xml/5.0/xsd/docbook.xsd"
          xmlns:xlink="http://www.w3.org/1999/xlink">
 <title>LDAP Result Codes</title>
  Copyright 2017 ForgeRock AS.
  Portions Copyright ${year} 3A Systems LLC.
////
 <para>
  ${classComment}
 </para>
[appendix]
[#appendix-ldap-result-codes]
== LDAP Result Codes
 <indexterm>
  <primary>LDAP</primary>
  <secondary>Result codes</secondary>
 </indexterm>
${classComment}
 <table pgwide="1">
  <title>OpenDJ LDAP Result Codes</title>
  <tgroup cols="3">
   <colspec colnum="1" colwidth="1*" />
   <colspec colnum="2" colwidth="2*" />
   <colspec colnum="3" colwidth="3*" />
.OpenDJ LDAP Result Codes
[cols="16%,33%,51%"]
|===
|Result Code |Name |Description
   <thead>
    <row>
     <entry>Result Code</entry>
     <entry>Name</entry>
     <entry>Description</entry>
    </row>
   </thead>
<#list resultCodes as resultCode>
a|${resultCode.intValue}
a|${resultCode.name}
a|${resultCode.comment}
   <tbody>
    <#list resultCodes as resultCode>
    <row valign="top">
     <entry>
      <para>
       ${resultCode.intValue}
      </para>
     </entry>
     <entry>
      <para>
       ${resultCode.name}
      </para>
     </entry>
     <entry>
      <para>
       ${resultCode.comment}
      </para>
     </entry>
    </row>
    </#list>
   </tbody>
</#list>
|===
  </tgroup>
 </table>
</appendix>
opendj-doc-maven-plugin/src/main/resources/templates/log-message-reference.ftl
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
@@ -12,46 +11,31 @@
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2012-${year} ForgeRock AS.
-->
<appendix xml:id="appendix-log-messages"
          xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${lang}"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://docbook.org/ns/docbook
                              http://docbook.org/xml/5.0/xsd/docbook.xsd"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:xinclude="http://www.w3.org/2001/XInclude">
  Copyright 2017 ForgeRock AS.
  Portions Copyright ${year} 3A Systems LLC.
////
 <title>${title}</title>
[appendix]
[#appendix-log-messages]
== ${title}
 <indexterm>
  <primary>${indexterm}</primary>
 </indexterm>
${intro}
 <para>
  ${intro}
 </para>
<#list categories as section>
[#${section.id}]
=== ${section.category}
 <#list categories as section>
 <section xml:id="${section.id}">
  <title>${section.category}</title>
  <variablelist>
--
  <#list section.entries as entry>
   <varlistentry xml:id="log-ref-${entry.xmlId}">
    <term>${entry.id}</term>
    <listitem>
     <para>
      ${entry.severity}
     </para>
[#log-ref-${entry.xmlId}]
${entry.id}::
     <para>
      ${entry.message?ensure_ends_with(".")}
     </para>
    </listitem>
   </varlistentry>
${entry.severity}
+
${entry.message?ensure_ends_with(".")}
  </#list>
  </variablelist>
 </section>
 </#list>
</appendix>
--
</#list>
opendj-doc-maven-plugin/src/main/resources/templates/sec-locales-subtypes.ftl
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
@@ -12,51 +11,31 @@
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright 2011-${year} ForgeRock AS.
-->
<section xml:id="sec-locales-subtypes"
         xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${lang}"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://docbook.org/ns/docbook
                             http://docbook.org/xml/5.0/xsd/docbook.xsd">
  Copyright 2017 ForgeRock AS.
  Portions Copyright ${year} 3A Systems LLC.
////
 <title>${title}</title>
[#sec-locales-subtypes]
=== ${title}
 <para>
  ${info}
 </para>
${info}
 <variablelist xml:id="supported-locales">
  <title>${locales.title}</title>
  <indexterm><primary>${locales.indexTerm}</primary></indexterm>
[#supported-locales]
.${locales.title}
  <#list locales.locales as locale>
  <varlistentry>
   <term>${locale.language}</term>
   <listitem>
    <para>
     ${locale.tag}
    </para>
<#list locales.locales as locale>
${locale.language}::
${locale.tag}
+
${locale.oid}
    <para>
     ${locale.oid}
    </para>
   </listitem>
  </varlistentry>
  </#list>
</#list>
 </variablelist>
[#supported-language-subtypes]
.${subtypes.title}
 <itemizedlist xml:id="supported-language-subtypes">
  <title>${subtypes.title}</title>
  <indexterm><primary>${subtypes.indexTerm}</primary></indexterm>
<#list subtypes.locales?sort_by("language") as subtype>
* ${subtype.language}, ${subtype.tag}
  <#list subtypes.locales?sort_by("language") as subtype>
  <listitem>
   <para>${subtype.language}, ${subtype.tag}</para>
  </listitem>
  </#list>
</#list>
 </itemizedlist>
</section>
opendj-doc-maven-plugin/src/main/resources/templates/table-global-acis.ftl
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
////
  The contents of this file are subject to the terms of the Common Development and
  Distribution License (the License). You may not use this file except in compliance with the
  License.
@@ -12,49 +11,20 @@
  Header, with the fields enclosed by brackets [] replaced by your own identifying
  information: "Portions Copyright [year] [name of copyright owner]".
  Copyright ${year} ForgeRock AS.
-->
<table xml:id="table-global-acis"
       xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="${lang}"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://docbook.org/ns/docbook
                           http://docbook.org/xml/5.0/xsd/docbook.xsd"
       pgwide="1">
 <title>${title}</title>
  Copyright 2017 ForgeRock AS.
  Portions Copyright ${year} 3A Systems LLC.
////
 <textobject>
  <para>
   ${summary}
  </para>
 </textobject>
[#table-global-acis]
.${title}
[cols="20%,40%,40%"]
|===
|${nameTitle} |${descTitle} |${defTitle}
 <tgroup cols="3">
  <colspec colnum="1" colwidth="1*"/>
  <colspec colnum="2" colwidth="2*" />
  <colspec colnum="3" colwidth="2*" />
<#list acis?sort_by("name") as aci>
a|${aci.name}
a|${aci.description}
a|`${aci.definition}`
</#list>
  <thead>
   <row>
    <entry>${nameTitle}</entry>
    <entry>${descTitle}</entry>
    <entry>${defTitle}</entry>
   </row>
  </thead>
  <tbody>
   <#list acis?sort_by("name") as aci>
   <row valign="top">
    <entry>
     <para>${aci.name}</para>        <!-- In English in config.ldif by default -->
    </entry>
    <entry>
     <para>${aci.description}</para> <!-- In English in config.ldif by default -->
    </entry>
    <entry>
     <para><literal>${aci.definition}</literal></para>
    </entry>
   </row>
   </#list>
  </tbody>
 </tgroup>
</table>
|===
opendj-ldap-toolkit/src/main/resources/com/forgerock/opendj/ldap/tools/tools.properties
@@ -393,7 +393,7 @@
REF_SHORT_DESC_SEARCHRATE=measure search throughput and response time
# Supplements to descriptions for generated reference documentation.
SUPPLEMENT_DESCRIPTION_RATE_TOOLS=<xinclude:include href="description-rate-tools.xml" />
SUPPLEMENT_DESCRIPTION_MAKELDIF=<xinclude:include href="description-makeldif.xml" />
SUPPLEMENT_DESCRIPTION_RESOURCE_PATH=<xinclude:include href="description-resource-path.xml" />
SUPPLEMENT_DESCRIPTION_PSEARCH_INFO=<xinclude:include href="description-psearch-info.xml" />
SUPPLEMENT_DESCRIPTION_RATE_TOOLS=include::./_description-rate-tools.adoc[]
SUPPLEMENT_DESCRIPTION_MAKELDIF=
SUPPLEMENT_DESCRIPTION_RESOURCE_PATH=
SUPPLEMENT_DESCRIPTION_PSEARCH_INFO=include::./_description-psearch-info.adoc[]
pom.xml
@@ -35,7 +35,7 @@
        <product.locales>ca_ES,es,de,fr,ja,ko,pl,zh_CN,zh_TW</product.locales>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <localized.jars.classifier>i18n</localized.jars.classifier>
        <commons.version>2.2.1</commons.version>
        <commons.version>2.2.2-SNAPSHOT</commons.version>
        <freemarker.version>2.3.31</freemarker.version>
        <grizzly-framework.version>2.3.35</grizzly-framework.version>
        <metrics-core.version>3.1.2</metrics-core.version>