init-params

Specifies an input or output that contains the initialization parameters.

Description

As input, the DirXML engine uses the <init-params> element to send initialization parameters to the DriverShim, PublicationShim, and SubscriptionShim init routines. As a developer of a DirXML driver, you determine which of the optional configuration elements your driver requires. All drivers require a <driver-filter> element to be functional.

The DirXML driver uses the <init-params> element to send state information to the DirXML engine. The driver can include it in any <input> or <output> element.

Definition

  <!ELEMENT init-params    (authentication-info?,
                            driver-filter?,
                            driver-options?,
                            subscriber-options?,
                            publisher-options?,
                            driver-state?,
                            subscriber-state?,
                            publisher-state?)>
  
  

Elements

authentication-info
Specifies the information required to make a connection and log in to the external application.
driver-filter
Specifies which object classes and the attributes that the subscriber shim and publisher shim can synchronize with eDirectory.
driver-options
Specifies any configuration options which the driver shim requires during initialization and which the system administrator needs to supply values for.
subscriber-options
Specifies any configuration options which the subscription shim requires during initialization and which the system administrator needs to supply values for.
publisher-options
Specifies any configuration options which the publisher shim requires during initialization and which the system administrator needs to supply values for.
driver-state
Returns the driver state information that the DirXML driver saved when it was shut down.
subscriber-state
Returns the subscriber state information that the DirXML driver saved when it was shut down.
publisher-state
Returns the publisher state information that the DirXML driver saved when it was shut down.

Request Format

Command

The command may include any of the following optional elements:

  • <authentication-info> which is sent to the DriverShim, PublicationShim, and SubscriptionShim
  • <driver-filter> which is sent to the PublicationShim and the SubscriptionShim
  • <driver-options> which is sent to the DriverShim init routine
  • <subscriber-options> which is sent to the SubscriptionShim init routine
  • <publisher-options> which is sent to the PublicationShim init routine
  • <driver-state> which is sent to the DriverShim init routine
  • <subscriber-state> which is sent to the SubscriptionShim init routine
  • <publisher-state> which is sent to the PublicationShim init routine

Reply Format

The DriverShim, PublicationShim, and SubscriptionShim return a <status> element indicating whether the command was processed successfully.

The DirXML driver can also send with any <output> element an <init-params> element that contains <driver-state>, <publisher-state>, and <subscriber-state> elements.

Parent

Example

The following example shows what is sent as an input to the DriverShim, SubscriptionShim, and PublisherShim init methods as well as what is sent to the DriverShim getSchema method.

  <!-- for DriverShim.init() -->
  <init-params>
     <authentication-info>
        <server>localhost</server>
        <user>Fred</user>
        <password>foobar</password>
     </authentication-info>
     <driver-options>
         <!-- some driver defined driver options -->
     </driver-options>
     <driver-state>
         <!-- some driver defined driver state -->
     </driver-state>
  </init-params>
  
  <!-- for SubscriptionShim.init() -->
  <init-params>
     <authentication-info>
        <server>localhost</server>
        <user>Fred</user>
        <password>foobar</password>
     </authentication-info>
     <driver-filter type="subscriber">
        <allow-class class-name="User">
           <allow-attr attr-name="Telephone Number"/>
           <allow-attr attr-name="CN"/>
           <allow-attr attr-name="Surname"/>
           <allow-attr attr-name="Given Name"/>
           <allow-attr attr-name="Description"/>
           <allow-attr attr-name="Title"/>
  
           <allow-attr attr-name="Postal Address"/>
           <allow-attr attr-name="GUID"/>
           <allow-attr attr-name="Full Name"/>
        </allow-class>
        <allow-class class-name="Organizational Unit">
           <allow-attr attr-name="OU"/>
           </allow-class>
           <allow-class class-name="Organizational">
           <allow-attr attr-name="O"/>
        </allow-class>
     </driver-filter>
     <subscriber-options>
        <!-- some driver defined subscriber options -->
     </subscriber-options>
     <subscriber-state>
        <!-- some driver defined subscriber state -->
     </subscriber-state>
  </init-params>
  
  <!-- for PublicationShim.init() -->
  <init-params>
     <authentication-info>
        <server>localhost</server>
        <user>Fred</user>
        <password>foobar</password>
     </authentication-info>
     <driver-filter type="publisher">
        <allow-class class-name="User">
           <allow-attr attr-name="Telephone Number"/>
           <allow-attr attr-name="CN"/>
           <allow-attr attr-name="Surname"/>
           <allow-attr attr-name="Given Name"/>
           <allow-attr attr-name="Description"/>
           <allow-attr attr-name="Title"/>
           <allow-attr attr-name="Postal Address"/>
           <allow-attr attr-name="GUID"/>
           <allow-attr attr-name="Full Name"/>
        </allow-class>
        <allow-class class-name="Organizational Unit">
           <allow-attr attr-name="OU"/>
        </allow-class>
        <allow-class class-name="Organizational">
           <allow-attr attr-name="O"/>
        </allow-class>
     </driver-filter>
     <publisher-options>
        <!-- some driver defined publisher options -->
     </publisher-options>
     <publisher-state>
        <!-- some driver defined publisher state -->
     </publisher-state>
  </init-params>
  
  <!-- for DriverShim.getSchema() -->
  <init-params>
     <authentication-info>
        <server>localhost</server>
        <user>Fred</user>
        <password>foobar</password>
     </authentication-info>
     <driver-filter type="subscriber">
        <allow-class class-name="User">
           <allow-attr attr-name="Telephone Number"/>
           <allow-attr attr-name="CN"/>
           <allow-attr attr-name="Surname"/>
           <allow-attr attr-name="Given Name"/>
           <allow-attr attr-name="Description"/>
           <allow-attr attr-name="Title"/>
           <allow-attr attr-name="Postal Address"/>
           <allow-attr attr-name="GUID"/>
           <allow-attr attr-name="Full Name"/>
        </allow-class>
        <allow-class class-name="Organizational Unit">
           <allow-attr attr-name="OU"/>
        </allow-class>
        <allow-class class-name="Organizational">
           <allow-attr attr-name="O"/>
        </allow-class>
     </driver-filter>
     <driver-filter type="publisher">
        <allow-class class-name="User">
           <allow-attr attr-name="Telephone Number"/>
           <allow-attr attr-name="CN"/>
           <allow-attr attr-name="Surname"/>
           <allow-attr attr-name="Given Name"/>
           <allow-attr attr-name="Description"/>
           <allow-attr attr-name="Title"/>
           <allow-attr attr-name="Postal Address"/>
           <allow-attr attr-name="GUID"/>
           <allow-attr attr-name="Full Name"/>
        </allow-class>
        <allow-class class-name="Organizational Unit">
           <allow-attr attr-name="OU"/>
        </allow-class>
        <allow-class class-name="Organizational">
           <allow-attr attr-name="O"/>
        </allow-class>
     </driver-filter>
     <driver-options>
        <!-- some driver defined driver options -->
     </driver-options>
     <subscriber-options>
        <!-- some driver defined subscriber options -->
     </subscriber-options>
     <publisher-options>
        <!-- some driver defined publisher options -->
     </publisher-options>
     <driver-state>
        <!-- some driver defined driver state -->
     </driver-state>
     <subscriber-state>
        <!-- some driver defined subscriber state -->
     </subscriber-state>
     <publisher-state>
        <!-- some driver defined publisher state -->
     </publisher-state>
  </init-params>