<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://saguiitay.spaces.live.com/mmm2008-05-17_13.22/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fsaguiitay.spaces.live.com%2fcategory%2fDocumentum%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Itay's space: Documentum</title><description /><link>http://saguiitay.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catDocumentum</link><language>en-US</language><pubDate>Wed, 23 Jul 2008 03:21:52 GMT</pubDate><lastBuildDate>Wed, 23 Jul 2008 03:21:52 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://saguiitay.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>4287375271627483618</live:id><live:alias>saguiitay</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Creating a user in Documentum</title><link>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!774.entry</link><description>&lt;p&gt;Here's 2 ways to create a user in Documentum: &lt;p&gt;Using the DQL: &lt;p&gt;&lt;font face="Courier New" size=2&gt;create dm_cabinet object&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set object_name = '%USERNAME%'&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;go&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;create dm_user object&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set user_name = '%USER DISPLAY NAME%,&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set default_folder = '/%USERNAME%',&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set user_os_name = '%USERNAME%',&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set user_privileges = %PRIVILEGES%',&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set user_address = '%USER EMAIL%&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;go&lt;/font&gt; &lt;p&gt;Using the IAPI: &lt;p&gt;&lt;font face="Courier New" size=2&gt;create,c,dm_user&lt;br&gt;set,c,l,user_name&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set,c,l,user_os_name&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;set,c,l,user_address&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;save,c,l&lt;/font&gt; &lt;p&gt;&lt;font face="Courier New" size=2&gt;&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=4287375271627483618&amp;page=RSS%3a+Creating+a+user+in+Documentum&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=saguiitay.spaces.live.com&amp;amp;GT1=saguiitay"&gt;</description><comments>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!774.entry#comment</comments><guid isPermaLink="true">http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!774.entry</guid><pubDate>Thu, 02 Aug 2007 15:20:08 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://saguiitay.spaces.live.com/blog/cns!3B7FD118142669E2!774/comments/feed.rss</wfw:commentRss><wfw:comment>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!774.entry#comment</wfw:comment><dcterms:modified>2007-08-02T15:21:24Z</dcterms:modified></item><item><title>Connecting to Documentum using .Net</title><link>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!679.entry</link><description>&lt;div&gt;I've spoke in an earlier post about working with Documentum in .Net. In this post, I'll show you how to connect to a DocBase, and get the list of cabinets.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;The following code will connect to a DocBase. It assumes that you have a &lt;font face="Courier New, Courier, Monospace"&gt;Username&lt;/font&gt;, &lt;font face="Courier New, Courier, Monospace"&gt;Password&lt;/font&gt; and &lt;font face="Courier New, Courier, Monospace"&gt;DocBase&lt;/font&gt; variables declared that contain valid information:&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;/font&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New" color="#008000" size=2&gt;// Get a client object&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;DfClientX _clientx = &lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#0000ff" size=2&gt;new&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt; DfClientX();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;IDfClient _client = _clientx.getLocalClient();&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff" size=2&gt;&lt;br&gt;if&lt;/font&gt;&lt;font size=2&gt; (_client == &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;)&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff" size=2&gt;    throw&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; Exception(&lt;/font&gt;&lt;font color="#800080" size=2&gt;&amp;quot;Failed creating Documentum client&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;);&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;br&gt;&lt;font color="#008000"&gt;// Retrieve the client's version&lt;/font&gt;&lt;br&gt;Console.WriteLine(&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#800080" size=2&gt;&amp;quot;Using DFC version '{0}'&amp;quot;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;, _clientx.getDFCVersion());&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;br&gt;&lt;font color="#008000"&gt;// Create an object with the credentials of the user&lt;/font&gt;&lt;br&gt;IDfLoginInfo _loginInfoObj = _clientx.getLoginInfo();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;_loginInfoObj.setUser(Username);&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;_loginInfoObj.setPassword(Password);&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;br&gt;&lt;font color="#008000"&gt;// Create a new session to the requested DocBase&lt;/font&gt;&lt;br&gt;IDfSession _session = _client.newSession(DocBase, _loginInfoObj);&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff" size=2&gt;&lt;br&gt;if&lt;/font&gt;&lt;font size=2&gt; (_session == &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt; || !_session.isConnected())&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff"&gt;    &lt;/font&gt;Console.WriteLine(&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#800080" size=2&gt;&amp;quot;Failed conecting to Documentum&amp;quot;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;);&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff" size=2&gt;    if&lt;/font&gt;&lt;font size=2&gt; (_session != &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;)&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff"&gt;    &lt;/font&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff"&gt;        &lt;/font&gt;Console.WriteLine(&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#800080" size=2&gt;&amp;quot;DFC Messages:\r\n{0}&amp;quot;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;, _session.getMessage(1));&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#0000ff"&gt;    &lt;/font&gt;}&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#0000ff" size=2&gt;    return&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt;;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;}&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;br&gt;Console.WriteLine(&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#800080" size=2&gt;&amp;quot;Using server version '{0}'&amp;quot;&lt;/font&gt;&lt;font size=2&gt;, _session.getServerVersion());&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Geneva, Arial, Sans-serif" size=2&gt;Now, once we're connected to the Documentum DocBase, we'll list all the cabinets:&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;/font&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font size=2&gt;
&lt;p&gt;IDfQuery query = _clientx.getQuery();&lt;br&gt;&lt;font color="#008000"&gt;// Quering the &amp;quot;dm_cabinet&amp;quot; table returns only items of dm_cabinet type&lt;/font&gt;&lt;br&gt;query.setDQL(&lt;/font&gt;&lt;font color="#800080" size=2&gt;&amp;quot;SELECT r_object_id, object_name, title FROM dm_cabinet&amp;quot;&lt;/font&gt;&lt;font size=2&gt;);&lt;br&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;br&gt;&lt;font color="#008000"&gt;// Query the session for the cabinets&lt;br&gt;&lt;/font&gt;IDfCollection col = query.execute(_session, (&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;int&lt;/font&gt;&lt;font size=2&gt;)DFCLib.tagDfQueryTypes.IDfQuery_DF_READ_QUERY);&lt;br&gt;&lt;br&gt;&lt;font color="#008000"&gt;// Loop through all the items in the collection&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;while&lt;/font&gt;&lt;font size=2&gt; (col.next())&lt;br&gt;{&lt;br&gt;    &lt;font color="#008000"&gt;// Get the current item from the collection&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;br&gt;    IDfTypedObject typedObj = col.getTypedObject();&lt;br&gt;    &lt;font color="#008000"&gt;// Print the item's name&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;br&gt;    Console.WriteLine(&lt;/font&gt;&lt;font color="#800080" size=2&gt;&amp;quot;Cabinet name: {0}&amp;quot;&lt;/font&gt;&lt;font size=2&gt;, typedObj.getString(&lt;/font&gt;&lt;font color="#800080" size=2&gt;&amp;quot;object_name&amp;quot;&lt;/font&gt;&lt;font size=2&gt;))&lt;br&gt;}&lt;br&gt;col.Close();&lt;/font&gt;
&lt;p&gt;&lt;font size=2&gt;&lt;font face="Geneva, Arial, Sans-serif"&gt;One of the most important thing to remember, is that you have to close the IDfCollection. Each session has a very limited number of collections it can have open at the same time. If you need more collections, I would suggest just caching the items inside a .Net collection for later use.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=4287375271627483618&amp;page=RSS%3a+Connecting+to+Documentum+using+.Net&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=saguiitay.spaces.live.com&amp;amp;GT1=saguiitay"&gt;</description><comments>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!679.entry#comment</comments><guid isPermaLink="true">http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!679.entry</guid><pubDate>Thu, 14 Sep 2006 16:18:27 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://saguiitay.spaces.live.com/blog/cns!3B7FD118142669E2!679/comments/feed.rss</wfw:commentRss><wfw:comment>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!679.entry#comment</wfw:comment><dcterms:modified>2006-09-14T16:18:27Z</dcterms:modified></item><item><title>Retrieving extended permissions in Documentum with .Net</title><link>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!672.entry</link><description>&lt;div&gt;Following version 5 of the Documentum Content Server, security entities can have extended permissions on items. Those extended permissions include: Execute Procedure, Change Location, Change State, Change Permission and Change Ownership&lt;br&gt;&lt;/div&gt;
&lt;div&gt;In order to retrieve those permissions by code, it is required to manually check for those permissions. Assuming that you have the object ID of an item, here's the .Net code in order to know if the user has those extended permissions:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#008080" size=2&gt;&lt;font size=2&gt;
&lt;p&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font color="#008080" size=2&gt;IDfId&lt;/font&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;itemIdObj &lt;/font&gt;= &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;IDfSysObject&lt;/font&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;itemSysObj &lt;/font&gt;= &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;IDfACL&lt;/font&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;aclObj &lt;/font&gt;= &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;string&lt;/font&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;itemId &lt;/font&gt;= &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;null&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#0000ff" size=2&gt;try&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" size=2&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#008000" size=2&gt;    // Get the Id object of the item&lt;br&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace" color="#000000"&gt;    itemIdObj = _clientx.getId(itemId);&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#008000" size=2&gt;    // Get the item itself&lt;br&gt;&lt;/font&gt;&lt;font color="#000000" size=2&gt;    itemSysObj = (&lt;/font&gt;&lt;font color="#008080" size=2&gt;IDfSysObject&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt;&lt;font color="#000000"&gt;)_session.getObject(itemIdObj);&lt;br&gt;&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;    // Get the ACL of the item &lt;br&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size=2&gt;    aclObj = itemSysObj.getACL();&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#008000" size=2&gt;    // Get extended permissions for entity i. This cde should be run for each entity&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;xperms = aclObj.getAccessorXPermit(i);&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; &lt;font color="#000000"&gt;((xperms &amp;amp; 1) == 1)&lt;br&gt;    {&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;&lt;font color="#000000"&gt;        &lt;/font&gt;// User has the &amp;quot;Execute Procedure&amp;quot;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000" size=2&gt;    }&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; &lt;font color="#000000"&gt;((xperms &amp;amp; 2) == 2)&lt;br&gt;    {&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;&lt;font color="#000000"&gt;        &lt;/font&gt;// User has the &amp;quot;ChangeLocation&amp;quot;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;font color="#000000"&gt;   }&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; &lt;font color="#000000"&gt;((xperms &amp;amp; 32768) == 32768)&lt;br&gt;    {&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;&lt;font color="#000000"&gt;        &lt;/font&gt;// User has the &amp;quot;Change State&amp;quot;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#000000" size=2&gt;    }&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; &lt;font color="#000000"&gt;((xperms &amp;amp; 65536) == 65536)&lt;br&gt;    {&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;&lt;font color="#000000"&gt;        &lt;/font&gt;// User has the &amp;quot;Change Permission&amp;quot;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;font color="#000000"&gt;   }&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008000"&gt;    &lt;/font&gt;if&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" size=2&gt; &lt;font color="#000000"&gt;((xperms &amp;amp; 131072) == 131072)&lt;br&gt;    {&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#008000" size=2&gt;&lt;font color="#000000"&gt;        &lt;/font&gt;// User has the &amp;quot;Change Ownership&amp;quot;&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;font color="#008000"&gt; &lt;/font&gt;&lt;font color="#000000"&gt;   }&lt;br&gt;}&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;catch&lt;/font&gt;&lt;font size=2&gt; &lt;font color="#000000"&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size=2&gt; ex)&lt;br&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font color="#008000" size=2&gt;&lt;font color="#000000"&gt;    &lt;/font&gt;// Log exception&lt;br&gt;&lt;/font&gt;&lt;font color="#000000" size=2&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=4287375271627483618&amp;page=RSS%3a+Retrieving+extended+permissions+in+Documentum+with+.Net&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=saguiitay.spaces.live.com&amp;amp;GT1=saguiitay"&gt;</description><comments>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!672.entry#comment</comments><guid isPermaLink="true">http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!672.entry</guid><pubDate>Tue, 12 Sep 2006 09:09:17 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://saguiitay.spaces.live.com/blog/cns!3B7FD118142669E2!672/comments/feed.rss</wfw:commentRss><wfw:comment>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!672.entry#comment</wfw:comment><dcterms:modified>2006-09-12T09:09:17Z</dcterms:modified></item><item><title>Retrieving a list of available Documentum DocBases</title><link>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!669.entry</link><description>&lt;div&gt;While adding support for EMC Documentum to the &lt;a href="http://www.tzunami.net"&gt;Tzunami Deployer, our SharePoint migration tool&lt;/a&gt;, I needed to allow the user to enter the name of a DocBase to connect to. I wanted a interface that is a bit more that just a TextBox where the user can enter the DocBase name. I ended up using a ComboBox,&lt;font face="Verdana, Geneva, Arial, Sans-serif"&gt; and added a &amp;quot;Refresh&amp;quot; button, similar to the one used in the Server Explorer of Visual Studio. When the user press the &amp;quot;Refresh&amp;quot; button, the ComboBox &lt;/font&gt;gets populated by the list of known DocBases. Bellow is the code in the event handler of the button:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font size=2&gt;
&lt;p&gt;c&lt;font face="Courier New, Courier, Monospace"&gt;omboBoxDocBase.Items.Clear();&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace" color="#0000ff" size=2&gt;try&lt;br&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;{&lt;br&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;    IDfClientX&lt;/font&gt;&lt;font size=2&gt; clientx = &lt;/font&gt;&lt;font color="#0000ff" size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color="#008080" size=2&gt;DfClientX&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;();&lt;br&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;    IDfClient&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt; client = clientx.getLocalClient();&lt;br&gt;&lt;/font&gt;&lt;font color="#008080" size=2&gt;    IDfDocbaseMap&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt; docbaseMap = client.getDocbaseMap();&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt;&lt;font color="#0000ff" size=2&gt;    int&lt;/font&gt;&lt;font size=2&gt;&lt;font color="#000000"&gt; docbaseCount = myMap.getDocbaseCount();&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;&lt;font color="#008080"&gt;    &lt;/font&gt;for&lt;/font&gt;&lt;font size=2&gt; (&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;int&lt;/font&gt;&lt;/font&gt;&lt;font face="Courier New, Courier, Monospace"&gt;&lt;font size=2&gt; i = 0; i &amp;lt; &lt;font color="#000000"&gt;docbaseCount&lt;/font&gt;; i++)&lt;br&gt;&lt;font color="#008080"&gt;    &lt;/font&gt;{&lt;br&gt;&lt;font color="#008080"&gt;        &lt;/font&gt;comboBoxDocBase.Items.Add(docbaseMap.getDocbaseName(i));&lt;br&gt;&lt;font color="#008080"&gt;    &lt;/font&gt;}&lt;br&gt;}&lt;br&gt;&lt;/font&gt;&lt;font color="#0000ff" size=2&gt;catch&lt;/font&gt;&lt;font size=2&gt; (&lt;/font&gt;&lt;font color="#008080" size=2&gt;Exception&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;font face="Courier New, Courier, Monospace"&gt; ex)&lt;br&gt;{&lt;br&gt;&lt;font color="#008000"&gt;    // Log the exception and show the user a warning&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size=2&gt;&lt;br&gt;&lt;font face="Courier New, Courier, Monospace"&gt;}&lt;/font&gt;&lt;/font&gt;
&lt;p&gt;This allowed me to easily allow average users to just select from a list of available servers, and advanced users can just enter the name of the DocBase.&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=4287375271627483618&amp;page=RSS%3a+Retrieving+a+list+of+available+Documentum+DocBases&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=saguiitay.spaces.live.com&amp;amp;GT1=saguiitay"&gt;</description><comments>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!669.entry#comment</comments><guid isPermaLink="true">http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!669.entry</guid><pubDate>Sun, 10 Sep 2006 15:49:15 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://saguiitay.spaces.live.com/blog/cns!3B7FD118142669E2!669/comments/feed.rss</wfw:commentRss><wfw:comment>http://saguiitay.spaces.live.com/Blog/cns!3B7FD118142669E2!669.entry#comment</wfw:comment><dcterms:modified>2006-10-04T14:09:41Z</dcterms:modified></item></channel></rss>