tag:blogger.com,1999:blog-12437173289404403802024-03-13T06:07:35.575-07:00Identity ManagementRavihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-1243717328940440380.post-25581467100754600242017-12-15T19:57:00.000-08:002017-12-15T19:57:06.385-08:00IAM's New Playground Blockchain<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
<br /></div>
As we all are hearing buzzword bitcoin and blockchain everyday and every industry is evaluating use cases where Blockchain can be leveraged to solve conventional problems. IAM industry has also been started to use this new technology to build identity products and platforms.<br />
<br />
Please click on below link to know more how Blockchain is complementing IAM (Identity & Access Management) domain:<br />
<br />
<a href="https://blog.gemalto.com/security/2017/11/22/can-iam-solutions-benefit-blockchain/?sthash.WkMqQ4s6.mjjo" target="_blank">Can IAM solutions benefit from Blockchain?</a></div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com1tag:blogger.com,1999:blog-1243717328940440380.post-90541579813105112442015-10-30T14:29:00.001-07:002015-10-30T14:29:47.807-07:00Get started using Oracle Identity Manager 11gR2 PS3<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
<b><span style="color: blue;">Learn </span><span style="color: red;">Oracle </span><span style="color: blue;">Identity Manager</span><span style="color: red;"> 11gR2 PS3</span></b></div>
<div style="text-align: left;">
<b><span style="color: red;"><br /></span></b></div>
<div style="text-align: left;">
<ul class="vapList tableBased">
<li class="description">This introductory series of short Oracle by Example tutorials will help you get started using Oracle Identity Manager 11gR2 PS3. The tutorials in this series will help you learn how to:</li>
<ul>
<li>Install and prepare an Oracle Database for Oracle Identity and Access Management Suite</li>
<li>Setup an Oracle Identity Manager 11gR2 PS3 environment</li>
<li>Work with Oracle Identity Manager entities</li>
<li>Provision Oracle Identity Manager accounts using a connector</li>
</ul>
</ul>
<div>
<span style="color: purple;">Click below link to open up tutorial</span> - </div>
<div>
<br /></div>
<div>
<a href="https://apexapps.oracle.com/pls/apex/f?p=44785:24:8981898114856::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:12333,16" target="_blank">https://apexapps.oracle.com/pls/apex/f?p=44785:24:8981898114856::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:12333,16</a></div>
</div>
</div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com5tag:blogger.com,1999:blog-1243717328940440380.post-90647882248917424742015-10-30T14:22:00.000-07:002015-10-30T14:22:32.971-07:00Setting-up an Oracle Identity Manager 11gR2 PS3 environment<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<h1 class="" style="background-color: white; box-sizing: border-box; color: red; font-family: 'Helvetica Neue', Helvetica, 'Open Sans', arial, sans-serif; font-size: 2.286em; font-weight: normal; line-height: 1.063em; margin: 10px 0px;">
Setting-up an Oracle Identity Manager 11<i style="box-sizing: border-box; font-size: 32.02px;">g</i>R2 PS3 environment</h1>
<br />
<a href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/OIM_Getting_Started_Series/setup_oim_environment/setup_oim_11gr2ps3_environment.html" target="_blank">http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/oim/oim_11g/OIM_Getting_Started_Series/setup_oim_environment/setup_oim_11gr2ps3_environment.html</a></div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-34572279445009145162013-06-06T17:23:00.001-07:002013-06-06T17:23:38.378-07:00Propagate Changes from OIM User Profile to Target (Resources)<div dir="ltr" style="text-align: left;" trbidi="on">
Propagate the changes from OIM User profile to a target (resource e.g. OID or ODSEE)<br />
<br />
Go to Design Console and then open up the lookup table '<b><u><span style="color: red;">Lookup.USR_PROCESS_TRIGGERS</span></u></b>' and map the OIM User profile attributes with corresponding tasks e.g. 'USR_FIRST_NAME' is a user profile attribute and 'Change First Name' task is corresponding target Task name. With this configuration when you make changes to 'First Name' then the changes automatically propagates to Target e.g. ODSEE or OID.<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ipT0WkU26p4/UbEmhgbwyMI/AAAAAAAABfE/cBckuXtblDk/s1600/LookupTable.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="http://2.bp.blogspot.com/-ipT0WkU26p4/UbEmhgbwyMI/AAAAAAAABfE/cBckuXtblDk/s320/LookupTable.png" width="320" /></a></div>
<br /></div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-74511595258572245842013-04-17T19:05:00.001-07:002013-04-17T19:05:30.683-07:00Trusted User Recon Setup for OID-11.1.1.5.0 ICF Based Connector<div dir="ltr" style="text-align: left;" trbidi="on">
Oracle launched <span style="color: red;">OID-11.1.1.5.0</span> ICF connector which supports the following directory servers<div>
<div>
Oracle Directory Server Enterprise Edition (ODSEE), Oracle Internet Directory (OID), Oracle Unified Directory (OUD), and Novell eDirectory.</div>
</div>
<div>
<br /></div>
<div>
By default the connector is configured for Target User reconciliation if you want to configure the connector for Trusted User recon then make the following changes</div>
<div>
<br /></div>
<div>
1. Go to the design console and search for the lookup table '<b>Lookup.LDAP.Configuration</b>'.</div>
<div>
2. Update the decode value with '<b>Lookup.LDAP.UM.Configuration.Trusted</b>' of '<b>User Configuration Lookup</b>' code key as shown in picture.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-n0siJgwBtNM/UW9UQrXfdUI/AAAAAAAABeA/_SjLapkCHao/s1600/LDAP_Configuraiton.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-n0siJgwBtNM/UW9UQrXfdUI/AAAAAAAABeA/_SjLapkCHao/s1600/LDAP_Configuraiton.png" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
3. Save the changes.</div>
<div>
4. Run the Trusted User Recon job '<b>LDAP Connector Trusted User Reconciliation</b>'.</div>
</div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-11158125644205408042013-03-08T15:20:00.000-08:002013-03-21T09:55:42.645-07:00java.io.InvalidClassException: org.eclipse.persistence.indirection.IndirectList<div dir="ltr" style="text-align: left;" trbidi="on">
Due to Eclipselink.jar incompatibility within JDeveloper I faced the following exception:<br />
<br />
<br />
<span style="color: red;">Exception in thread "main" javax.ejb.EJBException: failed to unmarshal interface java.util.List; nested exception is: </span><br />
<span style="color: red;"><span class="Apple-tab-span" style="white-space: pre;"> </span>java.io.InvalidClassException: org.eclipse.persistence.indirection.IndirectList; local class incompatible: stream classdesc serialVersionUID = 4038061360325736360, local class serialVersionUID = -494763524358427112; nested exception is: java.io.InvalidClassException: org.eclipse.persistence.indirection.IndirectList; local class incompatible: stream classdesc serialVersionUID = 4038061360325736360, local class serialVersionUID = -494763524358427112</span><br />
<span style="color: red;">java.io.InvalidClassException: org.eclipse.persistence.indirection.IndirectList; local class incompatible: stream classdesc serialVersionUID = 4038061360325736360, local class serialVersionUID = -494763524358427112</span><br />
<div>
<br /></div>
<div>
<br /></div>
<div>
Solution:</div>
<div>
<br /></div>
<div>
Replace the Eclipselink.jar with the JAR file found at the following location:</div>
<div>
<br /></div>
<div>
Middleware_Home<middleware_home><middleware_home><middleware_home>\oracle_common\modules\oracle.toplink_11.1.1\eclipselink.jar</middleware_home></middleware_home></middleware_home></div>
<div>
<br /></div>
<div>
Compile and Run the program again and it will run without any problem.</div>
</div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-30923352243095061892013-03-06T08:36:00.000-08:002013-03-06T08:36:03.979-08:00Get OIM DB Connection<div dir="ltr" style="text-align: left;" trbidi="on">
We have OIM APIs to get connection to OIM DB and we can fire up a query to get data from OIM DB tables.<br />
<br />
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"></span></div>
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"> </span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">/**</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">* OIM DB Table: UPA_UD_FORMFIELDS</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">*Column Name: OLD_VALUE</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><br />
*/<br />
<br />
String query =<br />
"select * from UPA_UD_FORMFIELDS";</span><br />
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">Connection connection = Platform.getOperationalDS().getConnection();</span></div>
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">PreparedStatement prepared_statement = connection.prepareStatement(query);</span></div>
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">ResultSet resultSet = prepared_statement.executeQuery();</span></div>
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"></span></div>
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">String field_old_value = resultSet.getString("OLD_VALUE");</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"> </span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"> System.out.println("field_old_value: "+field_old_value);</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><br /></span>
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><br /></span>
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;">List of OIM DB tables:</span><br />
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><br /></span>
<span style="background-color: #f2f2f2; font-family: tahoma, verdana, sans-serif;"><a href="http://www.reachdba.com/showthread.php?701-OIM-List-of-Tables-and-Description">http://www.reachdba.com/showthread.php?701-OIM-List-of-Tables-and-Description</a></span><br />
</div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-31531130387080518292012-10-16T12:08:00.000-07:002013-06-27T11:28:30.203-07:00OIM 11gR1: Update Password Change Next Logon Status in OIM<div dir="ltr" style="text-align: left;" trbidi="on">
Use Case: When OIM admin or Java API resets a user's password then OIM always forces a user to reset the password on next OIM logon, to avoid the force reset password on next log in we have to update column 'USR_CHANGE_PWD_AT_NEXT_LOGON' in 'USR' table for that user.<br />
<br />
Note: It's not recommendation, it's just a work around.<br />
<br />
Approaches:<br />
<br />
#1.<br />
<br />
Get Database connection to OIM schema and update that column value using SQLDevelopr or any DB IDE<br />
<br />
SQL Satement:<br />
<span style="color: blue;">update usr set USR_CHANGE_PWD_AT_NEXT_LOGON='0' where usr_login = 'UserID';</span><br />
<br />
Where USR_CHANGE_PWD_AT_NEXT_LOGON=<span style="color: #990000;">'0'</span> means there is no force reset password on next logon.<br />
USR_CHANGE_PWD_AT_NEXT_LOGON=<span style="color: #990000;">'1'</span> means OIM forces the user to reset the password on next logon.<br />
<br />
#2.<br />
<br />
OIM Java API<br />
<br />
Note: Following JAR files used to run the following Java code. It's better you develop your code using JDeveloper IDE.<br />
<br />
<br />
<ol style="text-align: left;">
<li>xlDataObjects.jar (Path: middleware\iam_home\designconsole\lib)</li>
<li>oimclient.jar (Path: middleware\iam_home\designconsole\lib)</li>
</ol>
<br />
<br />
<br />
<br />
<i><span style="color: #38761d;">protected static void updatePasswordChangeNextLogonStatus(String oimUserId,</span></i><br />
<i><span style="color: #38761d;"> String logon_status_value) {</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> OIMClient oimClient = null;</span></i><br />
<i><span style="color: #38761d;"> tcDataProvider dbProvider = null;</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> try {</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> System.setProperty("java.security.auth.login.config",</span></i><br />
<i><span style="color: #38761d;"> "file:config/authwl.conf");</span></i><br />
<i><span style="color: #38761d;"> Hashtable<string string="string"> env = new Hashtable<string string="string">();</string></string></span></i><br />
<i><span style="color: #38761d;"> env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL,</span></i><br />
<i><span style="color: #38761d;"> "weblogic.jndi.WLInitialContextFactory");</span></i><br />
<i><span style="color: #38761d;"> env.put(OIMClient.JAVA_NAMING_PROVIDER_URL,</span></i><br />
<i><span style="color: #38761d;"> "t3://" + hostname + ":" + port);</span></i><br />
<i><span style="color: #38761d;"> oimClient = new OIMClient(env);</span></i><br />
<i><span style="color: #38761d;"> oimClient.login(username, password.toCharArray());</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> XLClientSecurityAssociation.setClientHandle(oimClient);</span></i><br />
<i><span style="color: #38761d;"> PreparedStatementUtil pstmt = new PreparedStatementUtil();</span></i><br />
<i><span style="color: #38761d;"> dbProvider = new tcDataBaseClient();</span></i><br />
<i><span style="color: #38761d;"> String query =</span></i><br />
<i><span style="color: #38761d;"> "update usr set USR_CHANGE_PWD_AT_NEXT_LOGON='" + logon_status_value +</span></i><br />
<i><span style="color: #38761d;"> "' where USR_LOGIN='" + oimUserId + "'";</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> pstmt.setStatement(dbProvider, query);</span></i><br />
<i><span style="color: #38761d;"> pstmt.executeUpdate();</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> } catch (tcDataSetException ex) {</span></i><br />
<i><span style="color: #38761d;"> logger.error(ex.getMessage(), ex);</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> } catch (LoginException loginEx) {</span></i><br />
<i><span style="color: #38761d;"> logger.error(loginEx.getMessage(), loginEx);</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> } catch (tcDataAccessException ex) {</span></i><br />
<i><span style="color: #38761d;"> logger.error(ex.getMessage(), ex);</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> } finally {</span></i><br />
<i><span style="color: #38761d;"> </span></i><span style="color: #38761d;"><i> if (dbProvider != null) {</i></span><br />
<span style="color: #38761d;"><i> try {</i></span><br />
<span style="color: #38761d;"><i> dbProvider.close();</i></span><br />
<span style="color: #38761d;"><i> } catch (Exception e) {</i></span><br />
<span style="color: #38761d;"><i> logger.error(e.getMessage(), e);</i></span><br />
<span style="color: #38761d;"><i> }</i></span><br />
<span style="color: #38761d;"><i> }</i></span><br />
<span style="color: #38761d;"><i> try {</i></span><br />
<span style="color: #38761d;"><i> XLClientSecurityAssociation.clearThreadLoginSession();</i></span><br />
<span style="color: #38761d;"><i> } catch (Exception e) {</i></span><br />
<span style="color: #38761d;"><i><br /></i></span>
<span style="color: #38761d;"><i> }</i></span><br />
<span style="color: #38761d;"><i> if (oimClient != null) {</i></span><br />
<span style="color: #38761d;"><i> oimClient.logout();</i></span><br />
<span style="color: #38761d;"><i> }</i></span><br />
<i><span style="color: #38761d;"> }</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"><br /></span></i>
<i><span style="color: #38761d;"> }</span></i><br />
<i><span style="color: #38761d;"><br /></span></i>
You can leverage the above Java code to update any column in USR table to modify any user's attribute but I would recommend to use this approach only when there is no direct API to update user's attribute.<br />
<br />
<br />
<br />
<br /></div>
Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-54105795198390798032011-12-22T16:33:00.000-08:002011-12-22T16:42:50.741-08:00OIM 11g - Export FailedIf you are getting the "<span >Export Failed</span>" message while trying to export metadata from Deployment Manager under <span >Identity Manager Advanced Administration</span> and you have applied all your tricks.<div><br /></div><div><p style="margin-top: 0px; margin-bottom: 0px; font-family: Tahoma, sans-serif; background-color: rgb(255, 255, 255); font-size: small; ">Perform the following steps:</p><ol style="font-family: Tahoma, sans-serif; background-color: rgb(255, 255, 255); font-size: small; "><li><p style="margin-top: 0px; margin-bottom: 0px; ">Modify your java.policy in the <span class="italic" style="font-style: italic; ">JRE_HOME</span>/lib/security/ directory.</p></li><li><p style="margin-top: 0px; margin-bottom: 0px; ">Replace the existing policy file content with the following:</p><pre space="preserve" class="oac_no_warn" style="font-size: 12px; ">grant{ permission java.security.AllPermission; }; </pre></li><li><p style="margin-top: 0px; margin-bottom: 0px; ">Restart the browser to laod the policy again. You can now export the data.</p><p style="margin-top: 0px; margin-bottom: 0px; "><br /></p><p style="margin-top: 0px; margin-bottom: 0px; ">For more information follow the URL: <a href="http://docs.oracle.com/cd/E25054_01/doc.1111/e14308/deploymgmt.htm#BABGBEIA">http://docs.oracle.com/cd/E25054_01/doc.1111/e14308/deploymgmt.htm#BABGBEIA</a></p><p style="margin-top: 0px; margin-bottom: 0px; "><br /></p><p style="margin-top: 0px; margin-bottom: 0px; ">I hope this would fix your file export issue.</p></li></ol></div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com1tag:blogger.com,1999:blog-1243717328940440380.post-47614954992270973522010-12-15T03:28:00.000-08:002010-12-15T03:42:29.111-08:00Display Child OrganizationsIf you want to display all the child organizations of a parent organization then use the following code :-<br /><br /><block name='test org' trace="true"><br /> <set name='finalChildOrgList'><br /> <list/><br /> </set><br /><br /> <set name='orgsList'><br /> <new class='java.util.ArrayList'/><br /> </set><br /> <set name='orgObject'><br /> <getobj><br /> <s>ObjectGroup:</s><br /> <s>Top</s> <span class="Apple-style-span"><i><<span class="Apple-style-span">!-- <b><span class="Apple-style-span">direct pass parent Orgnization (ObjectGroup Name) name </span></b>--></span></i></span><br /> </getobj><br /> </set><br /> <br /> <invoke name='getChildObjectGroups'><br /> <ref>orgObject</ref><br /> <ref>orgsList</ref><br /> </invoke><br /><br /> <dolist name='tempOrgName'><br /> <ref>orgsList</ref><br /> <appendAll name='finalChildOrgList'><br /> <invoke name='getDisplayName'><br /> <ref>tempOrgName</ref><br /> </invoke><br /> </appendAll><br /> </dolist><br /><br /> <cond><br /> <contains><br /> <ref>finalChildOrgList</ref><br /> <s>End User</s><br /> </contains><br /> <removeAll name='finalChildOrgList'><br /> <s>End User</s><br /> </removeAll><br /> </cond><br /><br /> <ref>finalChildOrgList</ref><br /> <br /> </block>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-48961345750784289942010-03-03T03:25:00.000-08:002010-03-03T04:56:18.749-08:00Scripted JDBC ResourceSun Identity Manager contains Scripted JDBC resource adapter to provide more flexibility to perform Database functions i.e execute vendor specific database stored procedures which are difficult to execute by using native Database Resource Adapters.<br /><br />Here are steps to configure and create a user account on Database by using Scripted JDBC resource adapter.<br /><br />Step 1#<br /><br />Make Scripted JDBC Resource available to IdM resource list after selecting the 'Configure Manager Resources' from 'Resource Type Actions' tab under Resource section.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Bgk4NnjxW5I/S45MCWz1DRI/AAAAAAAABFo/seZMBe5VMAo/s1600-h/1.png"></a><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Bgk4NnjxW5I/S45MCWz1DRI/AAAAAAAABFo/seZMBe5VMAo/s1600-h/1.png"><img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 282px; " src="http://3.bp.blogspot.com/_Bgk4NnjxW5I/S45MCWz1DRI/AAAAAAAABFo/seZMBe5VMAo/s320/1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444372602903923986" /></a><br /><br />Step 2 #<br /><br />Create a Database Table 'users'.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45Nfw6KByI/AAAAAAAABFw/-K4prz3vePA/s1600-h/2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 133px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45Nfw6KByI/AAAAAAAABFw/-K4prz3vePA/s320/2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444374207637620514" /></a><br /><br />Step 3 #<br /><br />Before adding Scripted JDBC resource in IdM let's first create Resource Actions which will actually Create , Update and Delete a user record on Scripted JDBC resource.<br /><br />To create Resource Actions just follow the conventions of either BeanShell or JavaScript (Rhino) which is located at following directory<br /><br />WS_HOME\idm\sample\ScriptedJdbc\SimpleTable\beanshell<br /><br />I have modified following Resource Actions just to create a new account on Scripted JDBC resource<br /><br />1.SimpleTable-createUser-bsh.xml<br />2.SimpleTable-getUser-bsh.xml<br /><br /><b><span class="Apple-style-span" style="color:#CC0000;">Note: GetUser Resource Action is required to implement for Scripted JDBC Resource Adapter to work properly.</span></b><br /><br />Here is my version of Create and GetUSer Resource Action<br /><br /><span style="font-weight:bold;"><span class="Apple-style-span" style="font-size:large;"><span class="Apple-style-span" style="color:#FF6600;">Demo-createUser-bsh</span></span></span><div><span class="Apple-style-span" style="color:#FF6600;"><span class="Apple-style-span" style="font-size:large;"><b><br /></b></span></span></div><div><span></span><span class="Apple-style-span" style="color:#FF6600;"><span class="Apple-style-span" style="font-size:large;"><b><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><waveset></waveset></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><resourceaction name="'Demo-createUser-bsh'"></resourceaction></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> <restypeaction restype="'ScriptedJDBC'" actiontype="'BeanShell'"></restypeaction></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> <act></act></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">import java.sql.PreparedStatement;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">/*</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> * First define helper methods</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> */</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">void flushResults(PreparedStatement st) {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> try {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> int result = 1;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> boolean more = true;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> while (more) {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // what did we get?</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> int rowCount = st.getUpdateCount();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> if (rowCount >= 0) {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // this result is an update count</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // println("Result " + Util.itoa(result) +</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // " update count " + Util.itoa(rowCount));</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> } else {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // not an update count</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> ResultSet rs = st.getResultSet();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> if (rs != null) {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> rs.close();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> } else {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // no more</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> more = false;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> }</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> }</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> // with Oracle driver...</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> if (more)</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> more = st.getMoreResults();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> result++;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> } </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> }</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> catch (Throwable t) {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> t.printStackTrace();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> throw t;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> } </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">} </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">// START HERE</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">id = actionContext.get("id");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">conn = actionContext.get("conn");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">action = actionContext.get("action");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">errors = actionContext.get("errors");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">trace = actionContext.get("trace");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">password = actionContext.get("password");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">attrs = actionContext.get("attributes");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">StringBuffer sqlCmdBuf = new StringBuffer();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">sqlCmdBuf.append("INSERT INTO users ");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">sqlCmdBuf.append("(accountId,password,firstname,lastname,email)");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">sqlCmdBuf.append("VALUES(?,?,?,?,?)");</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">String sql = sqlCmdBuf.toString();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">PreparedStatement s = null;</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">try {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s = conn.prepareStatement(sql);</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.setString(1, id);</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.setString(2, password);</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.setString(3, attrs.get("firstname"));</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.setString(4, attrs.get("lastname"));</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.setString(5, attrs.get("email"));</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.execute();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> flushResults(s);</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">} finally {</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> if (s != null)</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> s.close();</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;">}</span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"> </span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"></span></span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="font-size:large;">Demo-getUser-bsh</span></span></div><div><span class="Apple-style-span" style="font-weight: normal;"><span class="Apple-style-span" style="color:#660000;"><span class="Apple-style-span" style="font-size:small;"></span></span></span></div></b></span></span><br /></div><div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><waveset></waveset></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><resourceaction name="Demo-getUser-bsh"></resourceaction></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> <restypeaction restype="ScriptedJDBC" actiontype="BeanShell"></restypeaction></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> <act></act></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">import java.sql.ResultSet;</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">import java.sql.PreparedStatement;</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">id = actionContext.get("id");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">conn = actionContext.get("conn");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">action = actionContext.get("action");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">errors = actionContext.get("errors");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">trace = actionContext.get("trace");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">result = actionContext.get("result");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">StringBuffer sqlCmdBuf = new StringBuffer();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">sqlCmdBuf.append("SELECT firstname,lastname,email FROM users");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">sqlCmdBuf.append(" where accountId = ?");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">String sql = sqlCmdBuf.toString();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">PreparedStatement st = null;</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">ResultSet res = null;</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">try {</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> st = conn.prepareStatement(sql);</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> st.setString(1, id);</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> res = st.executeQuery();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if ( res.next() ) {</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> // Populate attrMap with the queried user attributes</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> java.util.Map attrMap = new java.util.Hashtable();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> String firstname = res.getString("firstname");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if (firstname != null) { attrMap.put("firstname", firstname); }</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> String lastname = res.getString("lastname");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if (lastname != null) { attrMap.put("lastname", lastname); }</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> String email = res.getString("email");</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if (email != null) { attrMap.put("email", email); }</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> // Put the attrMap into the result</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> result.put("attrMap", attrMap); </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> }</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> } finally {</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if (res != null)</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> res.close();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> if (st != null)</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> st.close();</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> }</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"> </span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">Step 4#</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#330033;"><span class="Apple-style-span" style="font-size:small;">Now add Scripted JDBC Resource in IdM and configure the schema mapping for user account attributes</span></span></div><div><span class="Apple-style-span" style="color:#330033;"><br /></span></div></div>Step 4.1# Select Resource Type - Scripted JDBC</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45SV_AOTnI/AAAAAAAABF4/PGxLG1ZFzas/s1600-h/3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45SV_AOTnI/AAAAAAAABF4/PGxLG1ZFzas/s320/3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444379537180610162" /></a><br /><br />Step 4.2# Configure MySQL database table.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Bgk4NnjxW5I/S45TgtKU_-I/AAAAAAAABGA/gTdH_uQeZl0/s1600-h/4.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 281px;" src="http://3.bp.blogspot.com/_Bgk4NnjxW5I/S45TgtKU_-I/AAAAAAAABGA/gTdH_uQeZl0/s320/4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444380820881342434" /></a><br /><br />Step 4.3# Map customized Resource Action for Get User and Create User action<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45WsnKfgKI/AAAAAAAABGI/yJ6087XbC0o/s1600-h/5.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45WsnKfgKI/AAAAAAAABGI/yJ6087XbC0o/s320/5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444384323964731554" /></a><br /><br />Step 4.4# Resource Schema Mapping</div><div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45XX-laEdI/AAAAAAAABGQ/iSXquM7h6Ts/s1600-h/6.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 139px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45XX-laEdI/AAAAAAAABGQ/iSXquM7h6Ts/s320/6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444385068986012114" /></a><br /><br />Step 4.5# </div><div><br /></div><div>Finally, Scripted JDBC Resource appears in the Resource List to manage user accounts.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S45YHrx6abI/AAAAAAAABGY/vAN9HzBvGpg/s1600-h/7.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 177px;" src="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S45YHrx6abI/AAAAAAAABGY/vAN9HzBvGpg/s320/7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444385888571910578" /></a><br /><br />Step 5#. Create New User Account on Scripted JDBC Resource<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Bgk4NnjxW5I/S45Zb8S8_UI/AAAAAAAABGg/_QwqidHuPNU/s1600-h/8.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 249px;" src="http://4.bp.blogspot.com/_Bgk4NnjxW5I/S45Zb8S8_UI/AAAAAAAABGg/_QwqidHuPNU/s320/8.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444387336114470210" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45aC7luZRI/AAAAAAAABGo/PhK_G_J8c-c/s1600-h/9.png"><img style="text-align: left;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; cursor: pointer; width: 320px; height: 196px; " src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S45aC7luZRI/AAAAAAAABGo/PhK_G_J8c-c/s320/9.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5444388005939668242" /></a></div><br /><br />We can add our own customized Resource Actions to perform Database related operations.<br /><br />Use the following URL to get more information about Scripted JDBC Resource Adapter<br /><br /><a href="http://docs.sun.com/app/docs/doc/820-6551/giivs?a=view">http://docs.sun.com/app/docs/doc/820-6551/giivs?a=view</a>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-34374973851858566672010-02-20T10:44:00.000-08:002010-02-20T10:56:38.315-08:00Active Sync V/S ReconciliationAs we always hear about ActiveSync and Reconciliation processes and these two terms always confuse us a little bit. <br /><br />Here is a link that must help you to understand the difference between these two processes.<br /><br /><a href="http://idminsights.com/2009/11/26/whats-the-difference-between-reconciliation-and-active-sync/">whats-the-difference-between-reconciliation-and-active-sync</a>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com2tag:blogger.com,1999:blog-1243717328940440380.post-73856087675115482292010-01-11T10:37:00.000-08:002010-01-11T11:49:30.491-08:00Sun IdM Console in Action<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S0tyxEzwNFI/AAAAAAAABE0/KKerhbXFmWk/s1600-h/Sun_IdM_Console+Utility.JPG"><span><span></span></span><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 250px; height: 320px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S0tyxEzwNFI/AAAAAAAABE0/KKerhbXFmWk/s320/Sun_IdM_Console+Utility.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5425556363527861330" /></a><br /><span class="Apple-style-span" style="color:#3333FF;"><b>Sun Identity Manager comes with a very useful utility which is called "console".</b></span><div><span class="Apple-style-span" style="color:#3333FF;"><b>This utility is a command based interface that let a user to execute commands to perform actions on IdM components.</b></span></div><div><span class="Apple-style-span" style="color:#FF6600;"><span class="Apple-style-span" style="font-size:large;"><b><br /></b></span></span></div><div><span class="Apple-style-span" style="color:#FF6600;"><b><span class="Apple-style-span" style="font-size:large;">How to launch it?</span></b></span></div><div><span class="Apple-style-span" style="color:#FF6600;"><span class="Apple-style-span" style="font-size:medium;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="font-size:medium;">Here, I am explaining this utility with NetBeans IDE 6.5 for Sun Identity Manager 8.1.</span></span></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="font-size:medium;"><br /></span></span></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="font-size:medium;">Netbeans IDE must have Sun IdM plugin installed before to launch this utility.</span></span></div><div><span class="Apple-style-span" style="color:#333333;"><br /></span></div><div><span class="Apple-style-span" style="color:#333333;">Steps:</span></div><div><ol><li><span class="Apple-style-span" style="color: rgb(51, 51, 51); ">Go to project tab.</span></li><li><span class="Apple-style-span" style="color: rgb(51, 51, 51); ">Right click on IdM project as shown in pic.</span></li><li><span class="Apple-style-span" style="color: rgb(51, 51, 51); ">Click on Run LH Command and you would get a text field to enter your command</span></li><li><span class="Apple-style-span" style="color:#333333;">Type 'console' and hit the trigger 'OK'.</span></li></ol></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="font-size:medium;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S0t0yXfKyOI/AAAAAAAABE8/jDhoIhHBxno/s1600-h/LH_Console_input.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 63px;" src="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S0t0yXfKyOI/AAAAAAAABE8/jDhoIhHBxno/s200/LH_Console_input.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5425558584744921314" /></a>You will get a console screen under the output window of NetBeans IDE.</span></span></div><div><span class="Apple-style-span" style="color:#333333;"><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S0t2femeBFI/AAAAAAAABFE/cJwpqkFHjrM/s1600-h/LH_Console_Command_Screen.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 141px;" src="http://1.bp.blogspot.com/_Bgk4NnjxW5I/S0t2femeBFI/AAAAAAAABFE/cJwpqkFHjrM/s200/LH_Console_Command_Screen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5425560459260331090" /></a>Just type command 'help' and you will have a list of all available commands.</span></div><div><span class="Apple-style-span" style="color:#663366;"><br /></span></div><div><span class="Apple-style-span" style="color:#663366;">Let's try 'encrypt' command which is used to encrypt a password</span></div><div><span class="Apple-style-span" style="color:#663366;">Configurator> encrypt password</span></div><div><span class="Apple-style-span" style="color:#333333;"><div><span class="Apple-style-span" style="color:#663366;">1E6FE9F6D24D74B2:13B0E3B8:12339160537:-7FEE|jJ8rkCnJ6th14cGmXzYi0w==</span></div><div><span class="Apple-style-span" style="color:#663366;">Configurator> </span></div><div><span class="Apple-style-span" style="color:#663366;"><br /></span></div><div>'encrypt' command returns an encrypted value of input string as have seen in above example.</div><div><span class="Apple-style-span" style="color:#663366;"><br /></span></div><div><span class="Apple-style-span" style="color:#663366;"><b><span class="Apple-style-span" style="color:#660000;">Following are some important commands</span></b> </span></div><div><span class="Apple-style-span" style="color:#660000;"><b><br /></b><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S0uAchaGTwI/AAAAAAAABFU/X_TDUVbiIbk/s1600-h/LH_Console_UseFULL_Command_Screen.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 155px;" src="http://2.bp.blogspot.com/_Bgk4NnjxW5I/S0uAchaGTwI/AAAAAAAABFU/X_TDUVbiIbk/s320/LH_Console_UseFULL_Command_Screen.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5425571403590422274" /></a><br /></span></div><div><span class="Apple-style-span" style="color:#663366;"><br /></span></div></span></div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-63954880557190925282009-12-11T13:48:00.000-08:002009-12-11T14:04:54.086-08:00Explore Sun Identity Manager For Your OrganizationA cognitive journey to Sun Identity Manger Product to touch the power of SUN (Sun Microsystem)<div><br /></div><div><a href="https://www.sun.com/offers/details/buyers_guide_1008.xml">https://www.sun.com/offers/details/buyers_guide_1008.xml</a><br /><div><br /></div><div><span class="Apple-style-span" style="font-family:Arial;"><span class="Apple-style-span" style="font-size: medium; white-space: pre;">Click on above link to </span></span></div><span class="Apple-style-span" style="font-family: Arial, Helvetica, FreeSans, Luxi-sans, 'Nimbus Sans L', sans-serif; font-size: 21px; color: rgb(231, 111, 0); font-weight: bold; "><h1 style="font-size: 21px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 1px; padding-bottom: 0px; padding-left: 0px; text-decoration: none; font-weight: bold; color: rgb(231, 111, 0); ">Guide to Evaluating and Buying Identity Management</h1><div><br /></div><div><span class="Apple-style-span" style="color:#3366FF;"><span class="Apple-style-span" style="font-size: small;">from Sun's offer</span></span></div></span></div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-82474885373769415432009-06-16T11:54:00.000-07:002009-06-16T12:02:58.413-07:00Common Build Environment (CBE)<span class="Apple-style-span" style="color:#CC33CC;">Netbean IDE provides IDM plug-in to develop IDM application with CBE (Common Build Environment).</span><div><span class="Apple-style-span" style="color:#CC33CC;"><br />This CBE is very useful to handle complete IDM build process. </span><div><span class="Apple-style-span" style="color:#CC33CC;">Even it makes multiple environments build process easy and intuitive.</span><br /></div><div><span class="Apple-style-span" style="color:#CC33CC;"><br /></span></div><div><span class="Apple-style-span" style="color:#CC33CC;"><p class="MsoNormal"><span class="apple-style-span"><span style="mso-bidi-line-height:115%;font-size:9.0pt;"><span class="Apple-style-span" style="color:#33CC00;">Go to the below link to get the complete understanding of CBE:</span></span></span></p><p class="MsoNormal"><span class="Apple-style-span" style="color:#33CC00;"><span class="Apple-style-span" style="line-height: 18px;"><a href="http://wikis.sun.com/display/sunidmdev/Using+the+CBE#UsingtheCBE-FileReference">http://wikis.sun.com/display/sunidmdev/Using+the+CBE#UsingtheCBE-FileReference</a></span></span></p></span></div></div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-79061509104676020812009-06-16T11:29:00.000-07:002009-06-16T11:34:39.251-07:00How To Setup An IDM Project<span class="Apple-style-span" style="color:#FF6600;">Just imagine you are a newbie in Sun IDM development then you are definitely bogged down with<br />enormous new terminologies like build-process, XML imports and build-targets etc.<br />Now, you require a mentor who could teach you everything related to development and deployment of an IDM application. So, to get a quick insight into IDM platform and have a virtual mentor</span><div><span class="Apple-style-span" style="color:#FF6600;"><br /></span><span class="Apple-style-span" style="color:#000099;">Please follow the link…</span><br /><div><span class="Apple-style-span" style="color:#000099;"><br /></span></div><div><span class="Apple-style-span" style="color:#000099;"><a href="http://wikis.sun.com/display/sunidmdev/How+To+Setup+An+IDM+Project">http://wikis.sun.com/display/sunidmdev/How+To+Setup+An+IDM+Project</a></span></div></div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-39688234887945336282009-06-12T06:28:00.000-07:002009-06-12T07:15:06.401-07:00How to create groups in LDAP or Active Directory (AD) from Workflow<span class="Apple-style-span" style="font-family:'times new roman';"><span class="Apple-style-span" style="color:#3366FF;">As we know very well that LDAP or Active Directory(AD)is always being used to store data in hierarchical structure by making different-different Groups.<br /><br />The Groups in LDAP or AD can be expanded to any level in hierarchical structure.<br />There is always LDAP or AD Administrator who creates Groups in a domain as per<br />predefined requirement.<br /><br />But sometimes as an IDM developer you might face a situation to create a Group<br />dynamically after being evaluated some logics in your business Work Flow.</span></span><br /><br /><span class="Apple-style-span" style="color:#FF6600;">Here is my endeavor to make your work little bit smoother</span><br /><br /><span class="Apple-style-span" style="color:#006600;"><Action id='0' name='create groups in LDAP'><br /> <expression><br /> <block name='create groups in LDAP' trace='true'> <br /> <set name='resourceObject'><br /> <invoke name='getObject'><br /> <invoke name='getLighthouseContext'><br /> <ref>WF_CONTEXT</ref><br /> </invoke><br /> <invoke name='findType' class='com.waveset.object.Type'><br /> <s>Resource</s><br /> </invoke><br /> <s>DemoLDAP</s> <span class="Apple-style-span" style="color:#FF0000;"><!-- LDAP or AD resource name --></span><br /> </invoke><br /> </set><br /> <set name='resourceAdapterHandle'><br /> <invoke name='findAdapter' class='com.waveset.provision.ResourceOp'><br /> <ref>resourceObject</ref><br /> <invoke name='getCache'><br /> <invoke name='getLighthouseContext'><br /> <ref>WF_CONTEXT</ref><br /> </invoke><br /> </invoke><br /> </invoke><br /> </set> <br /> <set name='newOUGenericObject'><br /> <new class='com.waveset.object.GenericObject'><br /> <map><br /> <s>objectId</s><br /> <s>ou=GroupName,dc=test,dc=root</s> <span class="Apple-style-span" style="color:#FF0000;"><!-- Group name --></span><br /> <s>objectType</s><br /> <s>Organizational Unit</s><br /> </map><br /> </new><br /> </set><br /> <invoke name='createObject'><br /> <ref>resourceAdapterHandle</ref><br /> <ref>newOUGenericObject</ref><br /> <map/><br /> </invoke><br /> </block><br /> </expression><br /> </Action></span>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com1tag:blogger.com,1999:blog-1243717328940440380.post-4873791637535425212009-06-05T09:09:00.000-07:002009-06-09T11:25:29.857-07:00Make Process Diagram Visible in IDM 8.1<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Bgk4NnjxW5I/SilE3EJYPwI/AAAAAAAAA9c/9psfL4DPkAA/s1600-h/process_diagram.GIF"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 116px; height: 320px;" src="http://4.bp.blogspot.com/_Bgk4NnjxW5I/SilE3EJYPwI/AAAAAAAAA9c/9psfL4DPkAA/s320/process_diagram.GIF" border="0" alt="" id="BLOGGER_PHOTO_ID_5343878145648377602" /></a><br />In IDM 8.1 the visibility of the Process Diagram is disabled by default.<br /><br />But sometime you want to see the flow of a workflow's activities then you go to<br /><br />process diagram in Admin Interface.<br /><br />To make the process diagram visible do the following changes in<br /><br /><br />'<span style="font-style:italic;"><span style="font-weight:bold;">Configuration:System Configuration</span></span>' xml file.<br /><br /><span class="Apple-style-span" style="color: rgb(51, 102, 255);"><Attribute name='disableProcessDiagrams'><br /> <Boolean>false</Boolean><br /> </Attribute</span><br /><div><span class="Apple-style-span" style="color: rgb(51, 102, 255);"><br /></span></div><div>By default the attribute 'disableProcessDiagrams' value is true.</div><div><br /></div><div><span class="Apple-style-span" style="color:#FF6600;">Note:</span> Please restart your application to get the effects of changes in the IDM.</div>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-42134639774801130372009-06-05T08:54:00.000-07:002009-06-05T08:58:37.826-07:00Stop Active SyncSuppose you have a requirement to stop your active sync not from admin interface.<br /><br />Then you are bound to contemplate to achieve that then you slew to programming paradigm to meet the requirement.<br /><br />Hey no need to bring sweat in your euphoria just mail me to get remedy <br /><br /><a href="ravinder.fbd@gmail.com">ravinder.fbd@gmail.com</a>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com0tag:blogger.com,1999:blog-1243717328940440380.post-50823232661000544942009-05-18T09:00:00.000-07:002009-05-18T09:40:36.757-07:00Search users in LDAP<div>Here you can search users in LDAP by using the below code.</div><div><br /></div><div>Note: DemoLDAP is the name of the resource which is configured in your IDM.</div><div><br /></div><div><Activity id='2' name='search LDAP'><br /> <Action id='0' name='search LDAP'><br /> <expression><br /> <block name='search LDAP..' trace='true'><br /> <set name='searchResults'><br /> <invoke name='getResourceObjects' class='com.waveset.ui.FormUtil'> <br /> --returns list of users whose objectClass is Top in LDAP<br /> <invoke name='getLighthouseContext'><br /> <ref>WF_CONTEXT</ref><br /> </invoke><br /> <s>User</s> <span style="font-style:italic;"><span style="font-weight:bold;">--- Searching Users</span></span><br /> <s>DemoLDAP</s> <span style="font-style:italic;"><span style="font-weight:bold;"> -------- Name of LDAP resource which is configured in IDM</span></span><br /> <map><br /> <s>searchContext</s> ---Name of container wherein you want to perform search<br /> <s>ou=People,DC=test,DC=edu</s><br /> <s>searchScope</s><br /> <s>subTree</s><br /> <s>searchAttrsToGet</s> <span style="font-style:italic;"><span style="font-weight:bold;">--- name of attribute which you want to search (it's value must be a list)</span></span><br /> <list><br /> <s>uid</s><br /> </list><br /> <s>searchFilter</s> <span style="font-style:italic;"><span style="font-weight:bold;">----- attributes on which you want to perfomr your search </span></span><br /> <s>objectClass=Top</s> <br /> </map><br /> </invoke><br /> </set><br /> <dolist name='users'><br /> <ref>searchResults</ref> <span style="font-style:italic;"><span style="font-weight:bold;">----List of users being searched in above method</span></span><br /> <get><br /> <ref>users</ref><br /> <s>uid</s> <span style="font-style:italic;"><span style="font-weight:bold;"> ---- attribute that you wanted to fetch</span></span><br /> </get><br /> </dolist><br /> </block><br /> </expression><br /> </Action></div><div><br /></div><div><br /><br />searchFilter value could be changed as per your search criteria e.g givenName='John' or city='New York'.<br /></s></div><s></s>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com1tag:blogger.com,1999:blog-1243717328940440380.post-24360186387379232302009-05-15T14:50:00.000-07:002009-05-15T14:52:03.764-07:00How could a future Oracle-Sun Identity Management Stack look like?<a href="http://www.kuppingercole.com/articles/fg_mk_oracle_sun220409">http://www.kuppingercole.com/articles/fg_mk_oracle_sun220409</a>Ravihttp://www.blogger.com/profile/16676808202314380022noreply@blogger.com1