Create an iterator connector 

Create an iterator connector to perform a sequential read of your entire user directory.


About this task

As part of the iteration process, you need to join all the data that is relevant to the data population mapping for a particular user into the work entry of the iterator assembly line. The only output should be a work entry that contains all the attributes for that user. Joining all the data together in a single step allows you to optimize the iteration process more efficiently over time.

After developing your iterator connector, the next step is to export it. You must then restart the Tivoli Directory Integrator configuration editor to make the adapter file visible to the Profiles TDI solution. To test the adapter, configure the Profiles TDI solution to use your adapter for data iteration. You can then test the adapter using the collect_dns and sync_all_dns_hash_source scripts provided by the TDI solution.


Procedure

Create a source repository iterator connector by completing the following steps:

  1. Develop your iterator assembly line.

  2. Export your iterator solution by completing the following steps:

      Note: You can package the iterator connector together with the lookup assembly line, which is best practice although not a required step.

      1. Shift-click the assembly lines that comprise your iterator solution in the IBM Tivoli Directory Integrator Config Editor.

      2. Right-click a member of the selected assembly line group and select Publish.

      3. In the Publish window, enter a name for your solution in the Package ID field. For example, myIterateAdapter.

      4. Optional: Enter additional information, such as a version number or a help URL for future administrators.

      5. Assuming you followed the development environment set-up guide outlined in the topic, Setting up your development environment, select the packages directory located in your IBM Connections TDI solution from the File Path drop-down menu, and then click Finish.

          Note: If you are using Tivoli Directory Integrator 7.0 Fix Pack 5, when you export your connector, any references to .properties file resources are removed. If the only .properties file you are referencing is the Profile properties file, profiles_tdi.properties, run the command fixup_tdi_adapters.sh (AIX or Linux™) or fixup_tdi_adapters.bat (Microsoft™ Windows™) located in the root of the TDI solution directory. Running this command readds the reference to the profiles property store to your adapter.xml file. If you are referencing your own .properties file, you need to open the adapter.xml file and manually edit the <Stores> section of the XML file. Fix Pack 6 is expected to resolve this issue.

  3. To make the adapter file visible to the Profiles TDI solution, restart the Tivoli Directory Integrator Config Editor.

      If the Tivoli Directory Integrator server is not recycled during testing, it might not detect the existence of the new adapter.xml file. Recycling the Config Editor stops and starts the embedded Tivoli Directory Integrator server.

  4. Configure the Profiles TDI solution to use your adapter for data iteration by completing the following steps:

    1. Open the profiles_tdi.properties file in a text editor.

    2. Copy the following line, removing the comment notation:

        #source_repository_iterator_assemblyline={name-of-your-adapter.xml}:/AssemblyLines/{name-of-your-ITERATOR-al}

    3. Substitute {name-of-your-adapter.xml} with the package ID entered in step 2c.

    4. Substitute {name-of-your-ITERATOR-al} with the name of your iterator assembly line.

        The line should now look similar to the following:

        source_repository_iterator_assemblyline=myIterateAdapter:/AssemblyLines/iterate_over_csv_file

    5. Save your changes and then close the profiles_tdi.properties file.

  5. Test your solution and configuration by using the following scripts in the Profiles TDI solution.

    1. To verify that you are able to iterate and to ensure that you are selecting the users that you are expecting, run the following script.

      • AIX or Linux:

          ./collect_dns.sh

      • Microsoft Windows:

          collect_dns.bat

        You can then review the resulting collect.dns script to ensure that you have the results that you are expecting.

    2. To confirm that you are selecting all the data associated with the user that you want, use the sync_all_dns_hash_source assembly line.

      1. To use it most effectively, first change the default value of property sync_updates_hash_partitions from 10 to 1. Changing the value like this ensures that all the results of the iteration end up in a single file rather than being spread across 10 separate files.

      2. After changing the configuration, run the following command:

        • AIX or Linux:

            runAl.sh sync_all_dns_hash_source

        • Microsoft Windows:

            runAl.bat sync_all_dns_hash_source

        • After the script has completed, examine the contents of the file {TDISOLNDIR}/sync_updates/0.ldiff. The file contains a full LDIFF representing all the data returned by the work entry of your assembly line.

      3. When you are satisfied with the result, change the value of the sync_updates_hash_partitions setting back to the default 10.


Parent topic

Use a custom source repository connector


Related tasks


Setting up your development environment
Create a lookup connector


   

 

});

+

Search Tips   |   Advanced Search