Let me share some thoughts and experience on the topic.
HR-LDAR-Importer is a great tool, which allows to easily and what is very import quickly prepare import file to update Blueprint database. The utility is documented and useful, but is there anything else that can make Blueprint better?
Sometimes LDAP and Blueprint databases are used to address different needs. For example, one can get reliable email address stored in LDAP (mostly because they use Exchange as email server) and Printer Cost Centers are stored in Blueprint. This way to use HR-LDAP-Importer we would need to make a customer change his behavior and organize Blueprint Cost Center’s in LDAP somehow. Another example would be a customer unwilling to change anything inside a Blueprint database except for, let say, email and FullName of a user and leaving all the rest of the information unchanged. Somehow, Blueprint allows Blueprint Administrator to register a user without entering any Budget Center or Location Group information, however if you try to import HR file those fields are required, so if, let say, Blueprint database is already configured for 5000 users with their respective Cost Centers and Location Groups but that info lacks in LDAP, you will face some difficulties using HR-LDAP-Importer
This document attempts to describe a way to automate csv file creation that contains information both from actual Blueprint Database and selective LDAP fields. Import of the file into Blueprint can be achieved with PharosSystems.Blueprint.Utilities.HrLdapImporter.exe
What is necessary for us?
- Identify current Blueprint Users inside a Blueprint database (by current Blueprint Users I mean those users that are shown in Blueprint Administrator)
- Identify which LDAP attributes we need to be updated for those users and create LDAP view containing those attributes for each user
- Combine current Blueprint database information and those we got on step #2 to a result view
- Create csv from the result view
#1 is easy - we’re going to create a View inside psreports database, let’s call it LDAP_CURRENT_USER, that contains all Blueprint Current Users with all the information available and necessary for futher import
#2 is not so hard to do - we’re going to create a View inside psreports database that contains all LDAP users with all the parameters we need to be updated for our current users
#3 we will do inner join operation on the two views in order to get source view for our csv file
#4 we will use SSIS which is SQL Server Integration Services to export view #3 into import.csv file
Creating and scheduling SSIS package (#4) is not described here. In case anyone's interesting, please let me know, and I’ll update the document.
Hope this will save someday someone their time and efforts in Blueprint \ LDAP integration.