<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>♪ उत्त्कर्ष</title>
	<atom:link href="http://uttkarsh.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://uttkarsh.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 17 Oct 2011 12:16:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='uttkarsh.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>♪ उत्त्कर्ष</title>
		<link>http://uttkarsh.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://uttkarsh.wordpress.com/osd.xml" title="♪ उत्त्कर्ष" />
	<atom:link rel='hub' href='http://uttkarsh.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Default Email Notifications</title>
		<link>http://uttkarsh.wordpress.com/2011/07/11/default-email-notifications/</link>
		<comments>http://uttkarsh.wordpress.com/2011/07/11/default-email-notifications/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 18:24:16 +0000</pubDate>
		<dc:creator>uttkarsh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Documentum]]></category>

		<guid isPermaLink="false">http://uttkarsh.wordpress.com/?p=715</guid>
		<description><![CDATA[The information provided in this post is tested under the following environment. Documentum        :6.5 SP2 Database         :Oracle 11g Operating System  :SUSE Linux Enterprise Server 10 This post is about the default email notifications from a Documentum System. I would classify these notifications broadly into three categories. Workflow Notifications: The email notification received when [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=715&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="font-size:xx-small;">The information provided in this post is tested under the following environment.</span><br />
<span style="font-size:xx-small;">Documentum        :6.5 SP2<br />
Database         :Oracle 11g<br />
Operating System  :SUSE Linux Enterprise Server 10<br />
</span><br />
This post is about the default email notifications from a Documentum System.</p>
<p>I would classify these notifications broadly into three categories.</p>
<ol>
<li>Workflow Notifications: The email notification received when a WorkItem is assigned in the user&#8217;s documentum inbox</li>
<li>Document Notification: A Read/Write notification for a document for which user has registered</li>
<li>Jobs Alerts: This includes</li>
<ul>
<li>Job/Agent Exec failure alerts</li>
<li>Alerts regarding Environment’s health from default jobs</li>
</ul>
</ol>
<p style="text-align:justify;">The important point to note is that I am not claiming that these are the only email notifications send by Documentum. Further the categories of email notifications are not the actual scope of this post.</p>
<p style="text-align:justify;">So moving ahead; if we wish to take benefit of these email notifications the most important thing is that our documentum environment should be capable of sending email notifications. This is achieved through a SMTP server. So, the first thing one would like to check is whether a SMTP IP address is defined in the Server Config Object.</p>
<p style="padding-left:30px;"><code>SELECT object_name, smtp_server FROM dm_server_config;</code></p>
<p style="text-align:justify;">If one is lucky enough to have a SMTP Server configured, the next interesting thing would be to verify whether the configured SMTP server is capable of doing what it is supposed to do. In addition it should also be reachable from the Content Server Host.</p>
<p style="text-align:justify;">The following instructions can be used to test it. The text in blue is the user input.</p>
<p style="text-align:justify;">Use Putty to connect to the Content Server Host and login using the Installation Owner&#8217;s account. Connect to the SMTP Server using Telnet.</p>
<p style="padding-left:30px;"><code>mypc:~&gt;<span style="color:#0000ff;"> telnet &lt;smtp ip&gt; 25</span><br />
Trying <code>&lt;smtp ip&gt;</code>...<br />
Connected to <code>&lt;smtp ip&gt;</code>.<br />
Escape character is '^]'.<br />
220 &lt;smtp host&gt; ESMTP Thu, 7 Jul 2011 11:53:25 -0400<br />
<span style="color:#0000ff;">HELO Me</span><br />
250 <code>&lt;smtp host&gt;</code> Hello [&lt;content server host ip&gt;], pleased to meet you<br />
<span style="color:#0000ff;">MAIL FROM: from@email.com</span><br />
250 2.1.0 from@email.com... Sender ok<br />
<span style="color:#0000ff;">RCPT TO: my@email.com</span><br />
250 2.1.5 my@email.com... Recipient ok<br />
<span style="color:#0000ff;">DATA</span><br />
354 Enter mail, end with "." on a line by itself<br />
<span style="color:#0000ff;">This is a sample test email<br />
.</span><br />
250 2.0.0 p67FrP9G027974 Message accepted for delivery<br />
</code></p>
<p style="text-align:justify;">You should feel quiet happy if you receive the intended email. Your SMTP server seems to be working just fine.</p>
<p style="text-align:justify;">If the SMTP server is working absolutely fine then we may like to verify whether documentum is able to use the SMTP Server as per expectation. Documentum uses <em>dm_mailwrapper.sh</em> to call the mail program. <em>dm_mailwrapper.sh</em> resides in $DM_HOME/bin and by looking at it&#8217;s content it can be figured out that it is called in the following way.</p>
<p style="padding-left:30px;"><code>mypc:~&gt;/documentum/product/6.5/bin&gt; ./dm_mailwrapper.sh "This is the Subject" "my@email.com" testcontent</code></p>
<p>testcontent is a text file which contains the content of the email message.</p>
<p style="text-align:justify;"><em>dm_mailwrapper.sh</em> uses the <em>mail</em> program to send the emails. <em>mail</em> program can be tested using the syntax given in <em>dm_mailwrapper.sh</em>.</p>
<p style="padding-left:30px;"><code>mypc:~&gt;/documentum/product/6.5/bin&gt; /bin/mail -s "This is the Subject" "my@email.com" &lt; testcontent</code></p>
<p style="text-align:justify;">By default all the Documentum email notification are in plain text. Documentum uses <em>dm_event_sender</em> method (dm_method) which by default uses <em>dm_event_sender.ebs</em> to generate the email content. The Verb of <em>dm_event_sender</em> method can be modified to use <em>dm_html_sender.ebs</em> and it starts generating the email content in HTML. But generating HTML content is not enough. <em>sendmail</em> program can be used in order to make sure that the email is rendered as HTML. <em>dm_mailwrapper.sh</em> can be updated as follows.</p>
<p style="padding-left:30px;"><code>#/bin/mail -s "$subject" "$address" &lt; $content_file<br />
/usr/lib/sendmail -io "Dummy Subject" "$address" &lt; $content_file </code></p>
<p style="text-align:justify;">Before updating the <em>dm_mailwrapper.sh</em> do make sure that the <em>sendmail</em> program is sending emails. The content of testcontent can also be updated as HTML while doing so.</p>
<p style="text-align:justify;">With the above two changes in place we should start getting the email notifications in HTML format. No, there is no need to restart anything. I indeed got few issues with the content of Workflow and the Jobs notification. Those issues were fixed by commenting few lines in the <em>dm_html_sender.ebs</em>. The content of the email notification can be customized by customizing <em>dm_event_sender.ebs</em> for plain text notifications and <em>dm_html_sender.ebs</em> for HTML notifications.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/uttkarsh.wordpress.com/715/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/uttkarsh.wordpress.com/715/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/uttkarsh.wordpress.com/715/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=715&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://uttkarsh.wordpress.com/2011/07/11/default-email-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fde432c8337f1efac90afb8b3271056c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">uttkarsh</media:title>
		</media:content>
	</item>
		<item>
		<title>Content Server High Availability Installation</title>
		<link>http://uttkarsh.wordpress.com/2011/03/23/content-server-high-availability/</link>
		<comments>http://uttkarsh.wordpress.com/2011/03/23/content-server-high-availability/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 12:30:21 +0000</pubDate>
		<dc:creator>uttkarsh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Content Server]]></category>
		<category><![CDATA[DQL]]></category>
		<category><![CDATA[Enterprise Content Management]]></category>
		<category><![CDATA[High-Availability]]></category>

		<guid isPermaLink="false">http://uttkarsh.wordpress.com/?p=689</guid>
		<description><![CDATA[There are a lot of discussions on various forums/threads regarding the Content Server High Availability Environment. But I have not come across any documentation providing the precise steps to implement it. This is an attempt to list the steps that I have been using for the implementation. It’s basically an integration of bits and pieces [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=689&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">There are a lot of discussions on various forums/threads regarding the Content Server High Availability Environment. But I have not come across any documentation providing the precise steps to implement it. This is an attempt to list the steps that I have been using for the implementation. It’s basically an integration of bits and pieces from various sources combined along with my experience in order to put a clear picture. These steps may not be exactly as suggested and supported by EMC.<br />
The procedure listed below is specific to the Content Server Linux Oracle 6.5 SP2 version.</p>
<p>Prerequisites:</p>
<ul>
<li>As it’s a HA environment, the content files should be present in a File Store that is shared across the Content Servers.</li>
<li>The Installation Owner and the Installation Path should be same on each Content Server.</li>
<li>Availability of a Database Server and its connectivity through each Content Server Host using Oracle Client.</li>
<li>Update the /etc/hosts file of the Content Server Hosts so that they can resolve their IP addresses and hostnames.</li>
</ul>
<p>Once the above prerequisites are satisfied, the below steps can be used to establish the HA environment.</p>
<ul>
<li>Install the Primary Content Server as per the standard procedure mentioned in Installation Guide.</li>
<li>Install the docbroker on the Secondary CS host.</li>
<li>Create a Secondary Server Config object using Documentum Administrator.</li>
<li>Copy server.ini, aek.key, dbpasswd.txt, dm_start_docbase and dm_shutdown_docbase from Primary CS Host to Secondary CS Host.</li>
<li>Update the server.ini on both the Hosts so that the docbrokers project to each other.<br />
server.ini on the Primary CS:</p>
<pre>[DOCBROKER_PROJECTION_TARGET]
host = &lt;primary docbroker&gt;
port = 1489
[DOCBROKER_PROJECTION_TARGET_1]
host = &lt;secondary docbroker&gt;
port = 1489</pre>
<p>server.ini on the Secondary CS:</p>
<pre>[DOCBROKER_PROJECTION_TARGET]
host = &lt;secondary docbroker&gt;
port = 1489
[DOCBROKER_PROJECTION_TARGET_1]
host = &lt;primary docbroker&gt;
port = 1489</pre>
</li>
<li>Update the dm_shutdown_docbase as follows: 
<ul>The line preceding to &#8220;shutdown,c,T,T&#8221; should be updated as follows:</p>
<li>Original:
<pre>./iapi &lt;docbase&gt; -U$DM_DMADMIN_USER -P -e &lt;&lt; EOF </pre>
</li>
<li>Updated:
<pre>./iapi &lt;docbase&gt;.&lt;secondary server config object name&gt; -U$DM_DMADMIN_USER  -P -e &lt;&lt; EOF</pre>
</li>
</ul>
</li>
<li>Update the dfc.properties of the Web Application as well as both the Content Server Hosts so that they point to both the docbrokers.</li>
<li>﻿﻿Create an ACS Config object using the below command:
<ul>
<pre>dmbasic -f﻿ dm_acs_install.ebs -e Install -- &lt;docbase name&gt; &lt;installation owner&gt; &lt;password&gt; &lt;new acs config name&gt; &lt;secondary server config name&gt; &lt;JMS Port&gt; &lt;JMS protocol&gt; &lt;output log location&gt;</pre>
</ul>
</li>
<li>Update the acs.properties accordingly.</li>
<li>Once the above steps are complete, shutdown the Primary CS and test the Secondary CS for expected functionality. There may be minor issues which may need few basic fixes. Such fixes include creation of sysadmin directory at $DOCUMENTUM/dba/logs/&lt;repository id&gt;/ in order to fix issues relating to jobs running on Secondary CS.</li>
</ul>
<p>﻿﻿Start the Primary CS and now both the CS should be in HA.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/uttkarsh.wordpress.com/689/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/uttkarsh.wordpress.com/689/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/uttkarsh.wordpress.com/689/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=689&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://uttkarsh.wordpress.com/2011/03/23/content-server-high-availability/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fde432c8337f1efac90afb8b3271056c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">uttkarsh</media:title>
		</media:content>
	</item>
		<item>
		<title>Weird DQL results</title>
		<link>http://uttkarsh.wordpress.com/2011/02/23/weird-dql-results/</link>
		<comments>http://uttkarsh.wordpress.com/2011/02/23/weird-dql-results/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 19:43:45 +0000</pubDate>
		<dc:creator>uttkarsh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DQL]]></category>
		<category><![CDATA[Enterprise Content Management]]></category>

		<guid isPermaLink="false">http://uttkarsh.wordpress.com/?p=677</guid>
		<description><![CDATA[I came up with this junk when I was trying to clean my repository by finding a DQL that I could use to delete more that 150,000 junk user objects from my repository. Ignore that statement as it is again a junk. What I came up is not very new. It&#8217;s just the weirdness in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=677&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">I came up with this junk when I was trying to clean my repository by finding a DQL that I could use to delete more that 150,000 junk user objects from my repository. Ignore that statement as it is again a junk. What I came up is not very new. It&#8217;s just the weirdness in the behavior of the DQLs. Is this weirdness only with the repeating attributes? I would like the DQLs to do much of the talking as I feel they can explain their pain much better. So here it goes:</p>
<p>A1)<a style="padding-left:30px;"><code>SELECT COUNT(DISTINCT user_name) FROM dm_user </code></a><a style="padding-left:75px;">&gt;&gt; 168241</a></p>
<p>A2)<a style="padding-left:30px;"><code>SELECT COUNT(DISTINCT users_names) FROM dm_group</code></a><a style="padding-left:55px;"> &gt;&gt; 2916</a></p>
<p>A3)<a style="padding-left:30px;"><code>SELECT COUNT(DISTINCT user_name) FROM dm_user</code></a><br />
<a style="padding-left:50px;"><code>WHERE user_name NOT IN</code></a><br />
<a style="padding-left:80px;"><code> (SELECT DISTINCT users_names from dm_group)</code></a><a style="padding-left:60px;"> &gt;&gt; 0</a></p>
<p>Isn&#8217;t that weird?</p>
<p>B1)<a style="padding-left:30px;"><code>SELECT COUNT(DISTINCT user_name) FROM dm_user, dm_group</code></a><br />
<a style="padding-left:50px;"><code>WHERE ANY dm_group.users_names = dm_user.user_name </code></a><a style="padding-left:40px;">&gt;&gt; 2915</a></p>
<p>A2 VS B1: again weird!</p>
<p>C1)<a style="padding-left:30px;"><code>SELECT COUNT(DISTINCT user_name) FROM dm_user</code></a><br />
<a style="padding-left:52px;"><code>WHERE user_name NOT IN</code></a><br />
<a style="padding-left:80px;"><code>(SELECT DISTINCT user_name FROM dm_user, dm_group</code></a><br />
<a style="padding-left:80px;"><code>WHERE ANY dm_group.users_names = dm_user.user_name) </code>&gt;&gt; 165326</a></p>
<p>(A2, A3) VS (B1, C1): any explanation?<br />
But that’s a relief indeed. That’s the result I needed. A1 &#8211; B1 = C1. Under the current circumstances, that’s encouraging enough to get into some more meddling.</p>
<p>D1)<a style="padding-left:30px;"><code>SELECT COUNT(users_names) FROM dm_group</code></a><br />
<a style="padding-left:52px;"><code>WHERE ANY users_names NOT IN</code></a><br />
<a style="padding-left:80px;"><code>(SELECT user_name FROM dm_user) </code></a><a style="padding-left:120px;">&gt;&gt; 5</a></p>
<p>What the hell!!!</p>
<p>D2)<a style="padding-left:30px;"><code>SELECT users_names FROM dm_group</code></a><br />
<a style="padding-left:52px;"><code>WHERE ANY users_names NOT IN</code></a><br />
<a style="padding-left:80px;"><code>(SELECT user_name FROM dm_user)</code></a><br />
<a style="padding-left:50px;"><code>&gt;&gt; TestUser1  test3  test2  orts  test1x</code></a></p>
<p>hmmmm&#8230;</p>
<p>D3)<a style="padding-left:30px;"><code>SELECT COUNT(*) FROM dm_user</code></a><br />
<a style="padding-left:52px;"><code>WHERE user_name IN</code></a><br />
<a style="padding-left:80px;"><code>(SELECT users_names FROM dm_group</code></a><br />
<a style="padding-left:80px;"><code>WHERE ANY users_names NOT IN</code></a><br />
<a style="padding-left:110px;"><code>(SELECT user_name FROM dm_user))</code></a><a style="padding-left:90px;">&gt;&gt; 4</a></p>
<p>This is insane. Isn&#8217;t D3 a contradiction in itself? Can I challenge EMC to explain that? Can someone come to my rescue?</p>
<p>D4)<a style="padding-left:30px;"><code>SELECT user_name FROM dm_user</code></a><br />
<a style="padding-left:52px;"><code>WHERE user_name IN</code></a><br />
<a style="padding-left:80px;"><code>(SELECT users_names FROM dm_group</code></a><br />
<a style="padding-left:80px;"><code>WHERE ANY users_names NOT IN</code></a><br />
<a style="padding-left:110px;"><code>(SELECT user_name FROM dm_user))</code></a><br />
<a style="padding-left:50px;"><code>&gt;&gt; TestUser1  test3  test2  orts</code></a></p>
<p>Here is something that helps; but it doesn&#8217;t explain the insanity though.</p>
<p>ConsistencyChecker Report:</p>
<address>Checking for users belonging to groups not in dm_user<br />
WARNING CC-0002: User &#8216;test1x&#8217; is referenced in dm_group with id &#8217;12000d808004a500&#8242; but does not have a valid dm_user object<br />
Rows Returned: 1</address>
<p><strong>Summery:</strong><br />
Weirdness No. 1:     (A1, A2, A3)<br />
Weirdness No. 2:     A2 VS B1: Explained by the ConsistencyChecker Report.<br />
Weirdness No. 3:     (A2, A3) VS (B1, C1)<br />
Weirdness No. 4:     D3: The Contradiction in itself.</p>
<p>I could get an explanation only for Weirdness No. 2 which I guess is not a weirdness at all. I hope someone reading this post would try explaining the other three. 1 &amp; 2 I guess are contributed by repeating attributes but remains unexplained anyway. 4, the D3 is an absolute marvel. Is there a bug in the way DQL works?<br />
C1 is the undisputed winner as it provides the expected result.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/uttkarsh.wordpress.com/677/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/uttkarsh.wordpress.com/677/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/uttkarsh.wordpress.com/677/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=677&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://uttkarsh.wordpress.com/2011/02/23/weird-dql-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fde432c8337f1efac90afb8b3271056c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">uttkarsh</media:title>
		</media:content>
	</item>
		<item>
		<title>Which are the Repeating Attribures?</title>
		<link>http://uttkarsh.wordpress.com/2010/10/29/which-are-the-repeating-attribures/</link>
		<comments>http://uttkarsh.wordpress.com/2010/10/29/which-are-the-repeating-attribures/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 10:29:43 +0000</pubDate>
		<dc:creator>uttkarsh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[DQL]]></category>
		<category><![CDATA[Repeating Attribures]]></category>

		<guid isPermaLink="false">http://uttkarsh.wordpress.com/?p=658</guid>
		<description><![CDATA[&#8220;Which are the repeating attribures in my_document?&#8221; That question was put by Gaurav as he needed to validate them with Captiva. He was finding it too tedious to validate the attributes by checking the definition of each type in the repository. He was interested in a single DQL query which could make his job easy. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=658&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">&#8220;Which are the repeating attribures in my_document?&#8221; That question was put by Gaurav as he needed to validate them with Captiva. He was finding it too tedious to validate the attributes by checking the definition of each type in the repository. He was interested in a single DQL query which could make his job easy.</p>
<p style="text-align:justify;">My first reaction to his query was: &#8220;You are expecting too much!”. Life can&#8217;t be that easy. You can not escape from every complexity. But we can indeed try to make them simple. Can’t we?<br />
So I looked into dmi_dd_type_info, dmi_dd_attr_info and finally in dm_type I found the attributes that I could use. After a few iterations I came up with the following DQL Query:</p>
<blockquote>
<pre style="text-align:justify;">SELECT name, attr_name, attr_repeating
FROM dm_type
WHERE name = 'my_document' AND attr_repeating = 1
ENABLE(ROW_BASED)</pre>
</blockquote>
<p>This query is again a good example of the DQL Hint ROW_BASED. With this Hint we get only those results where attr_repeating = 1. That statement may have sounded dumb had attr_repeating been a single valued attribute. But it is repeating and there are some weirdness with the result if we are checking for the value of a repeating attribute in the WHERE clause without using that hint.</p>
<blockquote>
<pre>SELECT name, attr_name, attr_repeating
FROM dm_type
WHERE name = 'my_document' AND ANY attr_repeating = 1</pre>
</blockquote>
<p style="text-align:justify;">The result of the first query brought a smile to Gaurav’s face; but his expectations had increased. He was interested in only those repeating attributes that were not inherited from the parent type. We found a simple way to do that.</p>
<blockquote>
<pre>SELECT name, attr_name, attr_repeating
FROM dm_type
WHERE name = 'my_document' AND attr_repeating = 1 AND attr_name
NOT IN (SELECT attr_name FROM dm_type WHERE name = 'dm_document')
ENABLE(ROW_BASED)</pre>
</blockquote>
<p>We came up with one more modification and our final query looked like:</p>
<blockquote>
<pre>SELECT name, attr_name, attr_repeating
FROM dm_type
WHERE name = 'my_document' AND attr_repeating = 1 AND attr_name
NOT IN (SELECT attr_name
	FROM dm_type
	WHERE name =
		(SELECT super_name
		FROM dm_type
		WHERE name = 'my_document')
	)
ENABLE(ROW_BASED)</pre>
</blockquote>
<p>Now that has brought a smile to my face and I hope that Gaurav doesn&#8217;t come up with more expectations.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/uttkarsh.wordpress.com/658/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/uttkarsh.wordpress.com/658/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/uttkarsh.wordpress.com/658/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=658&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://uttkarsh.wordpress.com/2010/10/29/which-are-the-repeating-attribures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fde432c8337f1efac90afb8b3271056c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">uttkarsh</media:title>
		</media:content>
	</item>
		<item>
		<title>A Silent Story of DQLs</title>
		<link>http://uttkarsh.wordpress.com/2010/09/02/a-silent-story-of-dqls/</link>
		<comments>http://uttkarsh.wordpress.com/2010/09/02/a-silent-story-of-dqls/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 11:19:29 +0000</pubDate>
		<dc:creator>uttkarsh</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[dm_group]]></category>
		<category><![CDATA[dm_user]]></category>
		<category><![CDATA[DQL]]></category>

		<guid isPermaLink="false">http://uttkarsh.wordpress.com/?p=638</guid>
		<description><![CDATA[This post is nothing but few observations that I made in my Documentum repository. Some of you may find it obvious but some others may find it interesting. The observations are specific to a particular repository. These results had messed up my mind and I expect the same for at least a few of you. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=638&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">This post is nothing but few observations that I made in my Documentum repository. Some of you may find it obvious but some others may find it interesting. The observations are specific to a particular repository. These results had messed up my mind and I expect the same for at least a few of you. Please don&#8217;t make any conclusion out of this post. Any comments from the readers are welcome.</p>
<p>*****************************************************************************************************************</p>
<p><code>SELECT COUNT(*) FROM dm_user</code><br />
<span style="color:#888888;">Result  &gt;&gt;  435820</span></p>
<p><code>SELECT COUNT(*) FROM dm_group</code><br />
<span style="color:#888888;">Result  &gt;&gt;  267375</span></p>
<p><code>SELECT COUNT(*) FROM dm_user WHERE r_is_group = true</code><br />
<span style="color:#888888;">Result  &gt;&gt;  263559</span></p>
<p><code>SELECT COUNT(*) FROM dm_user WHERE r_is_group = false</code><br />
<span style="color:#888888;">Result  &gt;&gt;  172261</span></p>
<p><code>SELECT COUNT(*) FROM dm_group<br />
WHERE group_name<br />
IN (SELECT user_name FROM dm_user WHERE r_is_group = true)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  263559</span></p>
<p><code>SELECT COUNT(*) FROM dm_group<br />
WHERE group_name<br />
NOT IN (SELECT user_name FROM dm_user WHERE r_is_group = true)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  3816</span></p>
<p><code>SELECT COUNT(*) FROM dm_group<br />
WHERE r_object_id<br />
IN (SELECT r_object_id FROM dm_user WHERE r_is_group = true)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  0</span></p>
<p><code>SELECT COUNT(*) FROM dm_group, dm_user<br />
WHERE dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Result  &gt;&gt;  465587</span></p>
<p><code>SELECT dm_user.user_name,dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  465587</span></p>
<p><code>SELECT DISTINCT dm_user.user_name, dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  198518</span></p>
<p><code>SELECT COUNT(*), dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_group.group_name = dm_user.user_name<br />
GROUP BY dm_group.group_name<br />
HAVING count(*) &gt; 1</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  38608</span></p>
<p><code>SELECT group_name, COUNT(*) FROM dm_group<br />
GROUP BY group_name HAVING COUNT(*) &gt; 1</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  38608</span></p>
<p><code>SELECT user_name, COUNT(*) FROM dm_user<br />
GROUP BY user_name HAVING COUNT(*) &gt; 1</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  39468</span></p>
<p>*********************************************************************************************************</p>
<p><code>SELECT COUNT(DISTINCT user_name) FROM dm_user</code><br />
<span style="color:#888888;">Result  &gt;&gt;  366103</span></p>
<p><code>SELECT COUNT(DISTINCT group_name) FROM dm_group</code><br />
<span style="color:#888888;">Result  &gt;&gt;  198518</span></p>
<p>*********************************************************************************************************</p>
<p><code>SELECT COUNT(DISTINCT user_name) FROM dm_user WHERE r_is_group = true</code><br />
<span style="color:#888888;">Result  &gt;&gt;  195107</span></p>
<p><code>SELECT COUNT(DISTINCT user_name) FROM dm_user WHERE r_is_group = false</code><br />
<span style="color:#888888;">Result  &gt;&gt;  170996</span></p>
<p><code>SELECT COUNT(DISTINCT group_name)<br />
FROM dm_group<br />
WHERE group_name<br />
IN (SELECT user_name FROM dm_user WHERE r_is_group = true)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  195107</span></p>
<p><code>SELECT COUNT(DISTINCT group_name)<br />
FROM dm_group<br />
WHERE group_name<br />
NOT IN (SELECT user_name FROM dm_user WHERE r_is_group = true)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  3411</span></p>
<p><code>SELECT DISTINCT dm_user.user_name, dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  198518</span></p>
<p><code>SELECT DISTINCT dm_user.user_name, dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_user.r_is_group = true and dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  195107</span></p>
<p><code>SELECT DISTINCT dm_user.user_name, dm_group.group_name<br />
FROM dm_group, dm_user<br />
WHERE dm_user.r_is_group = false and dm_group.group_name = dm_user.user_name</code><br />
<span style="color:#888888;">Total Results  &gt;&gt;  3411</span></p>
<p><code>SELECT COUNT(DISTINCT group_name)<br />
FROM dm_group<br />
WHERE group_name<br />
IN (SELECT user_name FROM dm_user WHERE r_is_group = false)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  3411</span></p>
<p><code>SELECT COUNT(DISTINCT group_name)<br />
FROM dm_group<br />
WHERE group_name<br />
IN (SELECT user_name FROM dm_user)</code><br />
<span style="color:#888888;">Result  &gt;&gt;  198518</span></p>
<p>***************************************************************************************************************</p>
<p><img class="aligncenter size-full wp-image-645" title="Users In DA" src="http://uttkarsh.files.wordpress.com/2010/09/newpost.jpg?w=500&#038;h=331" alt="" width="500" height="331" /></p>
<p>***************************************************************************************************************</p>
<p>It’s just an observation and I don&#8217;t have much to comment.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/uttkarsh.wordpress.com/638/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/uttkarsh.wordpress.com/638/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/uttkarsh.wordpress.com/638/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=uttkarsh.wordpress.com&amp;blog=5867866&amp;post=638&amp;subd=uttkarsh&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://uttkarsh.wordpress.com/2010/09/02/a-silent-story-of-dqls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fde432c8337f1efac90afb8b3271056c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">uttkarsh</media:title>
		</media:content>

		<media:content url="http://uttkarsh.files.wordpress.com/2010/09/newpost.jpg" medium="image">
			<media:title type="html">Users In DA</media:title>
		</media:content>
	</item>
	</channel>
</rss>
