{"id":128,"date":"2008-07-11T14:05:58","date_gmt":"2008-07-11T14:05:58","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=128"},"modified":"2009-04-05T07:51:31","modified_gmt":"2009-04-05T07:51:31","slug":"string-to-relational-dn-export-flows","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/string-to-relational-dn-export-flows","title":{"rendered":"String to relational DN export flows"},"content":{"rendered":"<p>Thanks to <a href=\"http:\/\/www.microsoftidm.com\/\" target=\"_blank\">Joe Stepongzi<\/a>\u00c2\u00a0for pointing this one out to me:\u00c2\u00a0you can flow a metaverse <strong>string<\/strong> attribute direct to a connector space <strong>relational DN<\/strong> attribute, as long as the metaverse string holds a valid\u00c2\u00a0DN.<\/p>\n<p><!--more--><\/p>\n<p>This is particularly useful in group population.\u00c2\u00a0My <a href=\"https:\/\/www.wapshere.com\/missmiis\/?p=9\">usual\u00c2\u00a0method<\/a> uses relational DN attributes the whole way through, from importing CS to metaverse to exporting CS. To construct the rDNs, each CS must hold objects representing every possible group member.\u00c2\u00a0Get a\u00c2\u00a0few groups with 10,000+ members, and you may\u00c2\u00a0soon have hundreds of thousands of objects in your CS &#8230; and I won&#8217;t need to tell you what that does to your sync times and your transaction log.<\/p>\n<p>So, it turns out, you can at least reduce the pain for one half of the equation.<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<td><strong>Importing CS<\/strong><\/td>\n<td>\u00c2\u00a0<\/td>\n<td><strong>Metaverse<\/strong><\/td>\n<td>\u00c2\u00a0<\/td>\n<td><strong>Exporting CS<\/strong><\/td>\n<\/tr>\n<tr>\n<td>String attribute<\/td>\n<td>\u00e2\u2020\u2019<\/td>\n<td>String attribute<\/td>\n<td>\u00e2\u2020\u2019<\/td>\n<td>rDN attribute<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Now the big hurdle here is that\u00c2\u00a0you need to\u00c2\u00a0get hold of\u00c2\u00a0those DN strings in the first place, and have confidence that they are correct. I overcome with another SQL MA that exports the DN to a table. I then have some SQL trickery going on in the background to generate a table of member lists with the ready-made DNs.<\/p>\n<p>This has been particularly useful in a multi-forest implementation where I needed to populate some groups with Foreign Security Objects from another forest. The FSO takes the form of a DN which I constructed from the foreign SSID, and then by using this method I was able to\u00c2\u00a0put them into groups.<\/p>\n<p>Now according to Joe there is another half to this equation where you can also effectively output a group composed of string DN members to AD &#8211; however you can&#8217;t use the native AD MA, you have to use an XMA and LDIF files. This method has several notable benefits:<\/p>\n<ul>\n<li>LDIF allows you to add and remove individual group members &#8211; you don&#8217;t have to repopulate the entire group,<\/li>\n<li>As you&#8217;re no longer dealing with reference DN attributes in the exporting MA, you won&#8217;t need all those thousands of placeholder objects representing the members, which leads directly to<\/li>\n<li>Drastically reduced sync times and goodbye to <a href=\"http:\/\/tech.groups.yahoo.com\/group\/MMSUG\/message\/16883\" target=\"_blank\">nightmare transaction log scenarios<\/a>!<\/li>\n<\/ul>\n<p>However I haven&#8217;t had an opportunity to try this out yet. If and when I do I shall return to the subject with more details.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thanks to Joe Stepongzi\u00c2\u00a0for pointing this one out to me:\u00c2\u00a0you can flow a metaverse string attribute direct to a connector space relational DN attribute, as long as the metaverse string holds a valid\u00c2\u00a0DN.<\/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":[22,34,28,5],"tags":[],"class_list":["post-128","post","type-post","status-publish","format-standard","hentry","category-groups","category-ilm2007","category-miis2003","category-sql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-24","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/128","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=128"}],"version-history":[{"count":1,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":439,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/128\/revisions\/439"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}