{"id":877,"date":"2010-07-27T12:38:38","date_gmt":"2010-07-27T12:38:38","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=877"},"modified":"2011-03-31T18:05:26","modified_gmt":"2011-03-31T18:05:26","slug":"compiling-the-openldap-xma-to-use-with-fim-2010","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/compiling-the-openldap-xma-to-use-with-fim-2010","title":{"rendered":"Compiling the OpenLDAP XMA to use with FIM 2010"},"content":{"rendered":"<p>It&#8217;s been a while since I&#8217;ve done anything with OpenLDAP. There&#8217;s no official MA but there is an open source one &#8211; however it was written for MIIS 2003 and I had to do some mucking around to get it working with the FIM 2010 Sync Service. Here is what I did.<\/p>\n<p><!--more--><\/p>\n<h2>Get the Right Source Code<\/h2>\n<p>There are actually two OpenLDAP XMAs available on sourceforge &#8211; the original Kernel Networks one, and a more recent update of it. I wasted a lot of time trying to recompile the Kernel one before I figured out that I really needed <a href=\"http:\/\/sourceforge.net\/projects\/openldap-xma\">this one<\/a>.<\/p>\n<p>Next &#8211; there is no point downloading the compiled version if you want to install it on FIM. You need to get the latest source code, and to do that you have to install a SVN tool (I used <a href=\"http:\/\/www.sliksvn.com\/en\/download\">SlikSVN<\/a>) and then run this command to retrieve the source code:<\/p>\n<p><code>svn co https:\/\/openldap-xma.svn.sourceforge.net\/svnroot\/openldap-xma openldap-xma<\/code><\/p>\n<h2>Compile<\/h2>\n<p>You need to have Visual Studio 2008 installed with the Visual C# options. Then you can open the OpenLDAP XMA.sln file and the project will be converted to 2008 format.<\/p>\n<h3>Reference<\/h3>\n<p>Next you need to change the reference to the old Microsoft. MetadirectoryServices library to the new Microsoft. MetadirectoryServicesEx library. You will file the library dll in\u00c2\u00a0\u00c2\u00a0C:\\Program Files\\Microsoft Forefront Identity Manager\\2010\\Synchronization Service\\Bin\\Assemblies.<\/p>\n<h3>Build Location<\/h3>\n<p>To have the compiled DLL\u00c2\u00a0put straight in\u00c2\u00a0the correct location, open the Properties of the OpenLDAP XMA project, click on the <strong>Build<\/strong> tab, and then change the <strong>Output<\/strong> location to the &lt;FIM Sync Service&gt;\\Extensions folder.<\/p>\n<p>You should now be able to compile the code.<\/p>\n<h2>Register the MA Type<\/h2>\n<p>I really couldn&#8217;t be bothered to work out how to compile the installation program, so this means I had to register the new MA type myself &#8211; but actually it&#8217;s pretty easy.<\/p>\n<p>In the MSIPackager\\Install Files folder you will find a file called <strong>OLXMAPackage.xml<\/strong>. Copy this file to &lt;FIM Sync Service&gt;\\UIShell\\XMLs\\PackagedMAs.<\/p>\n<p>Next open regedit and locate the key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\FIMSynchronizationService\\ManagementAgents. Add a new String Value called &#8220;OpenLDAP&#8221; with the value &#8220;{275E6505-9465-4460-A6EB-D1371C863858}&#8221;. (That value is taken from the XML file we just copied &#8211; I&#8217;m not sure if it ever changes in subsequent releases.)<\/p>\n<p>Now, when you restart the Synchronization Service Manager, you should find the new MA type listed in the Create Wizard.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been a while since I&#8217;ve done anything with OpenLDAP. There&#8217;s no official MA but there is an open source one &#8211; however it was written for MIIS 2003 and I had to do some mucking around to get it working with the FIM 2010 Sync Service. Here is what I did.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[42,46],"tags":[],"class_list":["post-877","post","type-post","status-publish","format-standard","hentry","category-fim-2010","category-openldap"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-e9","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=877"}],"version-history":[{"count":5,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/877\/revisions"}],"predecessor-version":[{"id":1370,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/877\/revisions\/1370"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}