<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>documentum &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/documentum/</link>
	<description>Feed of posts on WordPress.com tagged "documentum"</description>
	<pubDate>Fri, 04 Dec 2009 11:13:33 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Extends vs. Modifies in D6.5 WDK]]></title>
<link>http://blog.tsgrp.com/2009/12/03/extends-vs-modifies-in-d6-5-wdk/</link>
<pubDate>Thu, 03 Dec 2009 22:29:09 +0000</pubDate>
<dc:creator>skapadia</dc:creator>
<guid>http://blog.tsgrp.com/2009/12/03/extends-vs-modifies-in-d6-5-wdk/</guid>
<description><![CDATA[As more and more of our clients are upgrading to Documentum 6/6.5, we&#8217;ve encountered many sign]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>As more and more of our clients are upgrading to Documentum 6/6.5, we&#8217;ve encountered many significant changes between development methods in 5.3 WDK and 6.5 WDK. The good news is they are changes for the better, allowing for more efficient and streamlined development of Webtop customizations. One of the big changes is the ability to modify a Webtop component rather than having to extend it. </p>
<p>For those of us that have developed Webtop customizations on Documentum 5.3, we are all too familiar with the extend function when customizing a Webtop component. Extending a component is in essence creating a subtype of that component, and allows that subtype to inherit attributes of the out-of-the box (OOTB) component, unless otherwise overwritten by the subtype. However, extending a component can be cumbersome.  In the past, we&#8217;ve had to customize components by copying the entire Webtop component xml over to the custom component xml in order to add only one or two new nodes to the xml. For example, in this scenario, we are trying to implement a customization to display a text area for some custom attributes. The following is what the custom component xml would look like using extends: </p>
<div id="attachment_619" class="wp-caption aligncenter" style="width: 610px"><a href="http://tsgrp.wordpress.com/files/2009/12/2009-12-02_123049.png"><img class="size-full wp-image-619" title="Extends XML" src="http://tsgrp.wordpress.com/files/2009/12/2009-12-02_123049.png" alt="" width="600" height="495" /></a><p class="wp-caption-text">Click to view larger version</p></div>
<p style="text-align:center;">You can see that most of this xml is just out-of-the-box Webtop. With 6.5, you can use modifies instead of extends and slim down your custom component xml. The following is what the custom component would look like using modifies: </p>
<p style="text-align:center;">
<div id="attachment_622" class="wp-caption aligncenter" style="width: 610px"><a href="http://tsgrp.wordpress.com/files/2009/12/screenhunter_wdk1.jpg"><img class="size-full wp-image-622 " title="Modifies XML" src="http://tsgrp.wordpress.com/files/2009/12/screenhunter_wdk1.jpg" alt="" width="600" height="215" /></a><p class="wp-caption-text">Click to view larger version</p></div>
<p>By using the modifies function, you have access to tags such as &#60;insertbefore&#62;, &#60;insertafter&#62;, &#60;replace&#62;, and &#60;remove&#62;, that take in an XPath query to locate the node that needs to be modified. This removes the need to copy over the OOTB Webtop component xml. This, in turn, allows for easier maintenance of customizations when upgrading to new Documentum versions. You no longer have to make the changes that were made to the out-of-the-box component xml when it was upgraded, to your custom component as well. This would only be necessary now if the part changed during the upgrade ended up being the part that was customized. </p>
<p>Most of the time, modifying a component is preferred over extending, however there are cases where extending a component is actually necessary rather than modifying.  One such scenario is when you are creating new Webtop functionality that is based on, or needs to replicate, OOTB functionality. For example, a recent client asked for a customization that, upon importing a document, would promote the document to the final state of its lifecycle. They wanted to keep the original Import option, but wanted to provide users with an additional Import to Final option. In order to implement this, a new component was created that extended the OOTB import component so that the same import logic would be used regardless of what import option was chosen. However, for Import to Final, a custom processor was created to run after the import logic and promote the document. </p>
<p style="text-align:center;">
<div id="attachment_623" class="wp-caption aligncenter" style="width: 610px"><a href="http://tsgrp.wordpress.com/files/2009/12/screenhunter_wdk2.jpg"><img class="size-full wp-image-623 " title="Import to Final" src="http://tsgrp.wordpress.com/files/2009/12/screenhunter_wdk2.jpg" alt="" width="600" height="134" /></a><p class="wp-caption-text">Click to view larger version</p></div>
<p>There are also other ways of using modifies and extends depending on the functionality you&#8217;re looking for. For example, you can add modifications to a component that&#8217;s already been modified at a previous level, or you can modify a component inside of an extension. The one thing to remember when using them together is that when customizations are loaded, extensions are always applied after all modifications have been applied to the component. </p>
<p>Please feel free to <a title="Contact Us" href="http://www.tsgrp.com/forms/contact-us.jsp" target="_blank">contact us</a> if you have any additional questions about WDK development.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Active Wizard to use OpenContent]]></title>
<link>http://blog.tsgrp.com/2009/12/03/active-wizard-to-use-opencontent/</link>
<pubDate>Thu, 03 Dec 2009 19:23:31 +0000</pubDate>
<dc:creator>Ian</dc:creator>
<guid>http://blog.tsgrp.com/2009/12/03/active-wizard-to-use-opencontent/</guid>
<description><![CDATA[TSG is currently in the process of creating a version of the Active Wizard that will work with our o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>TSG is currently in the process of creating a version of the Active Wizard that will work with our own OpenContent web services.  Using OpenContent will allow Active Wizard to work with any Content Management System that OpenContent supports.  This means that Active Wizard implementations will be supported on a number of repository types (ex: Documentum, Alfresco, file system).  The Active Wizard will require only a simple configuration change to work with each CMS.  This will also benefit users who are currently using the Active Wizard with Documentum, as it will mean that only OpenContent code will need to be updated and tested when a Documentum upgrade is implemented.</p>
<p>Also, a filesystem implementation of OpenContent is currently in development that will allow the Active Wizard and Active Wizard Lite to be run on open source platforms such as Apache Tomcat, Apache Derby and a simple file system structure to store XML.</p>
<p>Visit <a href="http://www.activewizard.com" target="_blank">www.activewizard.com</a> for more information on the Active Wizard and OpenContent, and check back here for more updates on the status of Active Wizard with OpenContent.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Witnessing the Birth of a CEVA Ecosystem]]></title>
<link>http://bigmenoncontent.com/2009/12/02/witnessing-the-birth-of-a-ceva-ecosystem/</link>
<pubDate>Wed, 02 Dec 2009 13:15:55 +0000</pubDate>
<dc:creator>Marko Sillanpää</dc:creator>
<guid>http://bigmenoncontent.com/2009/12/02/witnessing-the-birth-of-a-ceva-ecosystem/</guid>
<description><![CDATA[Those of you that have read my articles before know I’m big on CEVA’s.  I think Content Enabled Vert]]></description>
<content:encoded><![CDATA[Those of you that have read my articles before know I’m big on CEVA’s.  I think Content Enabled Vert]]></content:encoded>
</item>
<item>
<title><![CDATA[Diagnostics &amp; Tracing in DFC6.5]]></title>
<link>http://kendomen.wordpress.com/2009/12/01/tracing-in-dfc6-5/</link>
<pubDate>Tue, 01 Dec 2009 19:00:02 +0000</pubDate>
<dc:creator>humanfireplace</dc:creator>
<guid>http://kendomen.wordpress.com/2009/12/01/tracing-in-dfc6-5/</guid>
<description><![CDATA[I once heard a business analyst who had the slightest understanding of Documentum say: Diagnostics i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I once heard a business analyst who had the slightest understanding of Documentum say:</p>
<blockquote><p><strong>Diagnostics is like a heart monitor and tracing is like the Niagra Falls</strong></p></blockquote>
<p>I have to give him credit because for once, he said something that made partial sense.</p>
<p>If you want to see what&#8217;s really going on between your app and Documentum, <strong>diagnostics and tracing</strong> key.</p>
<h2></h2>
<h2>1.  Diagnostics (Session/Collection Leaks):</h2>
<p>Diagnostics == checking for session &#38; collection leaks.</p>
<p>This is configured in two places:</p>
<p>1.  dfc.properties: <strong> (TURNS IT ON)</strong></p>
<blockquote><p>dfc.diagnostics.resources.enable=true</p></blockquote>
<p>2.  log4j.properties:<span style="color:#ff0000;"><strong> <span style="color:#000000;">(WHAT &#38; WHERE)</span></strong><strong> </strong></span></p>
<p><span style="color:#ff0000;"><strong>NOTE:  this has changed from DFC5.x where the package was different and the logging level was DEBUG</strong></span></p>
<blockquote><p>log4j.logger.<strong>com.documentum.fc.client.impl.session</strong>=<span style="color:#ff0000;"><strong>ERROR</strong></span>,SESS_LEAK_DETECT<br />
log4j.appender.SESS_LEAK_DETECT=org.apache.log4j.RollingFileAppender<br />
log4j.appender.SESS_LEAK_DETECT.File=/Users/kdomen/Desktop/sessLeakDetector.log<br />
log4j.appender.SESS_LEAK_DETECT.Threshold=<span style="color:#ff0000;"><strong>ERROR</strong></span><br />
log4j.appender.SESS_LEAK_DETECT.MaxFileSize=100MB<br />
log4j.appender.SESS_LEAK_DETECT.MaxBackupIndex=5<br />
log4j.appender.SESS_LEAK_DETECT.layout=org.apache.log4j.PatternLayout<br />
log4j.appender.SESS_LEAK_DETECT.layout.ConversionPattern=%d{ABSOLUTE} [%t] %m%n</p></blockquote>
<p>Example of Session Leak pointing back to code:</p>
<blockquote><p>10:55:47,125 [Resource Housekeeper] [DFC_SESSION_NOT_RELEASED] Unreleased session found during garbage collection, Session{id=3, iid=3, serial=1, docbase=bnxdev2, user=KDOMEN}<br />
com.documentum.fc.impl.util.ThrowableStack: Stack when session was obtained<br />
at com.documentum.fc.client.DfClient$ClientImpl.newSession(DfClient.java:331)<br />
at com.nike.bnx.session.SessionManager.createAdminSession(SessionManager.java:176)</p></blockquote>
<h2></h2>
<h2>2.  Tracing (Low-level DFC/RPC logging)</h2>
<p>Tracing == monitoring the low-level API calls made in DFC.</p>
<p>1.  dfc.properties:</p>
<blockquote><p>dfc.tracing.enable=true<br />
dfc.tracing.include_rpcs=true<br />
dfc.tracing.include_session_id=true<br />
dfc.tracing.log.level=DEBUG<br />
dfc.tracing.dir=/Users/kdomen/dev/tracing</p></blockquote>
<p><strong>Example:</strong></p>
<blockquote><p>100.827        0.003 &#60;KDOMEN&#124;s33(33.1)&#124;SM@9968962&#62;   [http-8080-Processor20] .RPC: fetchType(&#8220;nike_state&#8221;,10746) ==&#62; LiteType@6c7069{name=nike_state, [http-...8080-Processor20] .RPC:</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Solution Frameworks Shorten the Last Mile]]></title>
<link>http://solutionmarketingblog.com/2009/11/30/solution-frameworks/</link>
<pubDate>Tue, 01 Dec 2009 04:58:35 +0000</pubDate>
<dc:creator>Steve Robins</dc:creator>
<guid>http://solutionmarketingblog.com/2009/11/30/solution-frameworks/</guid>
<description><![CDATA[Platforms or Applications? Solution Frameworks Combine the Best of Both &#8211; By Steve Robins A fe]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h3><span style="font-weight:normal;"><em>Platforms or Applications? </em></span></h3>
<h3><span style="font-weight:normal;"><em>Solution Frameworks Combine the Best of Both</em></span></h3>
<p><strong> </strong></p>
<p>&#8211; By <a href="http://solutionmarketing.wordpress.com/about/" target="_self">Steve Robins</a></p>
<p>A few weeks back I attended a discussion by <a href="http://pega.com/AboutPega/Management/#AlanTrefler">Alan Treffler</a>, CEO of <a href="http://www.pega.com/">Pegasystems</a> at the <a href="http://www.vilnashul.org/index.php/events/event/fireside_chat_with_alan_trefler_founder_and_ceo_pegasystems_inc">Vilnu Shul in Boston</a>.  Treffler described Pega’s decision to focus on frameworks atop their platform rather than applications.  Let’s take a deeper look at software platforms, frameworks, and applications.  <!--more--></p>
<p><strong>It’s almost a rite of passage for software companies… </strong>Sooner or later most software companies have to choose between offering platforms or applications.  The two paths are quite different… platforms require technical differentiation, a large partner ecosystem and broad applicability.  Apps require domain knowledge and specialization.  Innovative early adopter customers favor flexible platforms while risk-averse laggard customers often prefer apps with a short “last mile.”</p>
<p>Platform or app – which one <em>approach</em> is best?  For many companies, the answer is… neither.  These companies get the best of platforms and apps – using <strong>solution frameworks </strong>built on top of their platforms.  Solution frameworks are designed to speed development, deployment and integration, shortening time to ROI.</p>
<blockquote><p><strong>Solution Frameworks<br />
<span style="font-weight:normal;">Solution frameworks power a class of similar business processes or applications and include reusable, configurable components such as objects and Web services, templates, process templates, dashboards, best practices, interfaces, connectors, reference architectures and more.  Solution frameworks speed deployment and increase business agility.</span></strong></p>
<p style="text-align:right;"><strong><span style="font-weight:normal;"><em>Source: The Solution Marketing Blog</em><br />
</span></strong></p>
</blockquote>
<p style="text-align:left;"><strong>Just how long is that “last mile”?</strong> Many customers desire applications that require little “last mile” development and integration (see chart below).  The reality is that even mature software companies lack the in-depth process and vertical expertise to create as many applications as they’d like.  So solution frameworks can offer a great alternative.  Solution frameworks require less domain knowledge since they can be customized further by services partners with specific domain knowledge.  At the same time, frameworks <em>speed deployment and add value</em> because they “productize” components that would otherwise require custom development.</p>
<p style="text-align:center;"><a href="http://solutionmarketing.wordpress.com/files/2009/11/delivering-the-last-mile.png"><img class="aligncenter size-medium wp-image-999" title="Delivering the Last Mile" src="http://solutionmarketing.wordpress.com/files/2009/11/delivering-the-last-mile.png?w=300" alt="Delivering the Last Mile" width="300" height="256" /></a></p>
<p style="text-align:center;"><em>Click to enlarge</em></p>
<p style="text-align:left;"><strong>So which approach should you pursue?</strong> It all depends on a variety of factors including market maturity (which will vary by software, market, industry, department and/or use case), your company&#8217;s business model, your company&#8217;s technical capabilities and differentiation, your domain expertise, your company&#8217;s revenue trends (are you winning deals for specific use cases and/or in specific industries), your partner ecosystem, your customers&#8217; requirements, and much more.</p>
<p>For a complete comparison between platforms, solutions and applications click to enlarge the chart below.</p>
<p style="text-align:center;"><a href="http://solutionmarketing.wordpress.com/files/2009/11/sw-platforms-frameworks-apps.png"><img class="aligncenter size-full wp-image-1002" title="Comparing Software Platforms, Frameworks and Apps" src="http://solutionmarketing.wordpress.com/files/2009/11/sw-platforms-frameworks-apps.png" alt="Comparing Software Platforms, Frameworks and Apps" width="300" height="398" /></a></p>
<p style="text-align:center;"><em>Click to enlarge</em></p>
<p><strong> </strong></p>
<p>Now let’s take a look at a few companies that offer frameworks.</p>
<p><strong> </strong></p>
<h3><span style="font-weight:normal;">Pegasystems</span></h3>
<p><a href="http://www.pega.com">Pega </a>is a leading provider of BPM or business process management systems.  Like many others, Treffler’s company had to decide to focus on offering a platform or specific applications.</p>
<p>A few years back, Pega&#8217;s customers asked for packaged apps.  The company responded by building a new platform and applications, only to find that the apps required tremendous resources to develop, while limiting customers&#8217; flexibility.  Treffler promptly shut down the app business, refocusing their strategy on a platform complemented by a series of solution frameworks built atop the platform.  The new offering continually adapts to the changing needs of organizations and users, increasing business agility.</p>
<p>By comparison, enterprise applications from the likes of Oracle and SAP may incorporate best practices from thousands of users &#8211; but at the cost of forcing users to conform to their rigid processes.  Pega offers a variety of different frameworks for assorted industries and business functions.  It appears that Pega’s industry- and function-oriented frameworks provide sufficient specificity without the rigidity of apps.</p>
<p><strong> </strong></p>
<h3><span style="font-weight:normal;">EMC Documentum</span></h3>
<p>EMC Documentum provides enterprise content management and archiving.   Two years ago this month, while working at EMC, I created the positioning strategy for Documentum’s solutions and solution frameworks (check out the <a href="http://www.emc.com/about/news/press/us/2007/11062007-5436.htm">press release</a>).  Since then, I’ve left EMC Documentum &#8211; but their strategy is worth noting.  EMC Documentum recently released their latest solution framework, the <a href="http://www.emc.com/solutions/business-need/collaboration/documentum-xcelerated-composition-platform.htm">xCP</a> Documentum Composition Platform.  According to Documentum, xCP speeds deployment of case management applications such as loan origination, grant administration and more.  Documentum’s xCP appears to be more generalized than Pega’s industry-specific frameworks.</p>
<p>So the choice is yours – which way will you go… platform, app or solution framework?  What do you think?  Share your experience and opinions below!</p>
<p><strong>Further Reading</strong></p>
<p><a href="http://solutionmarketingblog.com/2009/03/25/platforms-apps-solutions/">Platforms, Apps or Solutions?</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Document Control - Common Best Practices]]></title>
<link>http://blog.tsgrp.com/2009/11/30/document-control-common-best-practices/</link>
<pubDate>Mon, 30 Nov 2009 20:37:09 +0000</pubDate>
<dc:creator>bethtee</dc:creator>
<guid>http://blog.tsgrp.com/2009/11/30/document-control-common-best-practices/</guid>
<description><![CDATA[We had an open-forum discussion on Document Control at the most recent Midwest Documentum User Group]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We had an open-forum discussion on Document Control at the most recent <a title="MWDUG" href="http://www.mwdug.com" target="_blank">Midwest Documentum User Group </a>meeting. The discussion focused on feedback from various members of the group as well our experience over the years. We received positive feedback that the open discussion format, with multiple people participating, was insightful and are planning on using a similar format to discuss another topic at our next meeting.  Below is a list of topics covered with highlights from the discussion:</p>
<ol>
<li>Document Properties &#8211; What are typical configurations  and when do people customize</li>
<li>Document Versioning – Rules around major and minor versions, when to delete</li>
<li>Document Lifecycle – Flexible lifecycle to handle published and draft versions</li>
<li>Security – Typical roles and responsibilities in Document Control</li>
<li>Search – Simplifying search &#8211; simple search  interface and consumer only viewing</li>
<li>Document Viewing – Various ways in which companies have applied “smart” document overlays</li>
<li>Change Request Package – CR data capture and relationship to change documents</li>
<li>Review – Assignment of reviewers and methods for capturing review information</li>
<li>Approval – Discussion on how to simplify approver selection and other common approval practices</li>
</ol>
<p>The <a title="MWDUG Doc Control Presentation" href="http://www.mwdug.com/docs/Doc_Control_Discussion.pdf" target="_blank">entire presentation </a>is also available from the MWDUG website or feel free to contact me (<a href="mailto:btee@tsgrp.com">btee@tsgrp.com</a>) if you want more information on responses and comments received from the MWDUG participants .</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[BMOC Turns Two]]></title>
<link>http://bigmenoncontent.com/2009/11/30/bmoc-turns-two/</link>
<pubDate>Mon, 30 Nov 2009 14:38:35 +0000</pubDate>
<dc:creator>Lee Dallas</dc:creator>
<guid>http://bigmenoncontent.com/2009/11/30/bmoc-turns-two/</guid>
<description><![CDATA[This month Big Men On Content celebrated its second birthday.  There are a great many things I could]]></description>
<content:encoded><![CDATA[This month Big Men On Content celebrated its second birthday.  There are a great many things I could]]></content:encoded>
</item>
<item>
<title><![CDATA[Alfresco is NOT production ready OPEN SOURCE]]></title>
<link>http://ecmpro.wordpress.com/2009/11/30/alfresco-is-not-production-ready-open-source/</link>
<pubDate>Mon, 30 Nov 2009 08:59:12 +0000</pubDate>
<dc:creator>ecmpro</dc:creator>
<guid>http://ecmpro.wordpress.com/2009/11/30/alfresco-is-not-production-ready-open-source/</guid>
<description><![CDATA[Not really meant for production use - unless you pay for it! &nbsp; I can see the flak coming from a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div id="attachment_19" class="wp-caption aligncenter" style="width: 310px"><a href="http://ecmpro.wordpress.com/files/2009/11/opensource21.jpg"><img class="size-medium wp-image-19" title="Not for production use" src="http://ecmpro.wordpress.com/files/2009/11/opensource21.jpg?w=300" alt="" width="300" height="258" /></a><p class="wp-caption-text">Not really meant for production use - unless you pay for it!</p></div>
<p>&#160;</p>
<p>I can see the flak coming from all the Alfresco lovers out there after I write this post. Alfresco is a great product. It has changed the enterprise content management landscape and sends shivers down the spines of many executives in the proprietary ECM firms. However, it is not really open source.</p>
<p>There are two versions of the product &#8211; Community Edition and Enterprise Edition. Alfresco claims that both are based on the same code. But, the significant difference is that only Enterprise Edition has bug fixes. From what I can see, bugs fixed in the Enterprise edition stay unfixed in Community. Alfresco is intentionally introducing instability in the Community version of the software so that people don&#8217;t end up using it in production environments. You can&#8217;t get the source code for Enterprise unless you pay for it. I can agree with their argument that unless people pay for Enterprise edition, they won&#8217;t get money to keep the company a viable business. Yes, that is what a company is in business for! What I disagree with though is the way the people at Alfresco advertise and market their product claiming it is completely open source. If it were, make the enterprise edition source code available to everyone.</p>
<p>You can have a viable business model where you make money on support agreements from companies that want to use the product for production. Just don&#8217;t twist everyones arm by putting the ominous statement on your community edition -&#62; &#8221;	Supplied free of charge with no support, no certification, no maintenance, no warranty and no indemnity by Alfresco or its Certified Partners&#8221;. This is just not open source. It&#8217;s more like a trial version of commercial software.</p>
<p>It&#8217;s sad to see that people running Alfresco carried over the business practices of Documentum &#8211; over-market and under-deliver.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A Tale of Two Documentum User Groups]]></title>
<link>http://wordofpie.com/2009/11/30/a-tale-of-two-documentum-user-groups/</link>
<pubDate>Mon, 30 Nov 2009 04:03:51 +0000</pubDate>
<dc:creator>Pie</dc:creator>
<guid>http://wordofpie.com/2009/11/30/a-tale-of-two-documentum-user-groups/</guid>
<description><![CDATA[In the last month, I attended two Documentum User Group meetings.  They were very different experien]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In the last month, I attended two Documentum User Group meetings.  They were very different experiences, beneficial in different ways.  The NY group was fun and was a chance to talk to lots of different users</p>
<p>I am going to do something slightly different this post, I&#8217;m going to focus on the positives. Let&#8217;s see how that works.</p>
<p><!--more--></p>
<h4>Razmik Grants a Vision of Documentum&#8217;s Future</h4>
<p>The New York user group was simply awesome. That is not to say that it was perfect or the best I had ever attended.  What made it so good was the level of interaction of, get this, the USERS of Documentum. The <a href="http://www.cya.com/en/Products/EMCDocumentum/Q4EMCCMAUserGroupPresentations/tabid/251/Default.aspx">presentations in NY</a> weren&#8217;t bad either.</p>
<p>Razmik, the VP and CTO of the CMA Division of EMC (Documentum), gave the keynote.  It was very similar to the <a href="http://wordofpie.com/2009/05/19/emc-world-2009-cma-keynote/">keynote delivered by Mark Lewis in Orlando</a>, but the message was more evolved.  The important topic within the presentation was Master Content Management, what I have previously referred to <a href="http://en.wikipedia.org/wiki/Skynet_%28Terminator%29">Skynet</a>.<a href="http://en.wikipedia.org/wiki/Skynet_%28Terminator%29"><img style="display:inline;border:0;margin:5px 0;" title="image" src="http://wordofpie.files.wordpress.com/2009/11/image.png?w=240&#038;h=123" border="0" alt="image" width="240" height="123" align="right" /></a></p>
<p>The term isn&#8217;t as evil as it sounds, or at least, EMC isn&#8217;t to blame for it.  In the world of structured data, there is the concept of Master Data Management. MDM is the management of all data in an organization, even when the information is distributed in multiple systems.</p>
<p>Let&#8217;s translate this to content. Managing all content in an organization from one central location.  This can be done through a virtual repository or in a federated manor.  The point is that content is managed in-place from a central, controlling, application.</p>
<p>So how does this work? This is where CMIS comes into play. If you can talk to any repository without having to configure a connector or trying to determine the proper API, then you can act as the Master Content Repository.</p>
<p>This is assuming, of course, that the &#8220;in-place&#8221; repository has the capabilities to perform what is needed. Take eDiscovery. All these great tools for finding content, but what happens when you find something relevant? You have to place a Hold on it.  Well, not every system can support that, so you have to ingest the content into one that does. If the system can support Holds, you can just place a Hold on the content right then and there. Welcome to Skynet.</p>
<p>There are still some other problems to be worked out, like mapping the metadata between systems, and leveraging that through CMIS. It is a vision, and it is something that you can point at as a direction. Is it the right one? Time will tell.</p>
<p>After all of the presentations, there was an experts panel, that included Razmik. I just want to personally thank Razmik for participating. It was nice to see him try and answer every question without avoidance. He was a good sport and I think we all came away feeling a little better.</p>
<h4>A Day in the Life of the DC User Group</h4>
<p>The DC group is different. It is a user group that suffers from lower &#8220;user&#8221; participation.  There are no case studies and the expert panel consists of integrators.  To be fair, for many federal agencies, the Documentum expert is an integrator.  The result is that it feels more like an EMC event than a user group.</p>
<p>Of course, no dynamic presentations were given at the user group.  xCP was presented, but being the biggest push by EMC in recent months, very little new was presented.  I would direct you to <a href="http://ecmobservations.wordpress.com/">Lee Smith&#8217;s</a> post on <a href="http://ecmobservations.wordpress.com/2009/11/16/emc-momentum-2009-xcp-configure-not-code/">xCP from Momentum Athens</a> for insight as to what the future holds in that department.</p>
<p>On the plus side, I know just about everyone at the DC meeting.  It is usually a time to trade war stories and discuss our latest pains with Documentum. Still, I&#8217;d rather meet new people and hear about new solutions that people are implementing.</p>
<p>Remember, the user groups are only as good as the number users that attend and participate. So please support your local user group. I promise you will get something useful out of it.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[ERP]]></title>
<link>http://nkgktg.wordpress.com/2009/11/29/erp/</link>
<pubDate>Sun, 29 Nov 2009 17:07:48 +0000</pubDate>
<dc:creator>Krishnakant Gandhi</dc:creator>
<guid>http://nkgktg.wordpress.com/2009/11/29/erp/</guid>
<description><![CDATA[Do U want to help World-Users OnLine on Learning and Earning Scheme?  Can joine with us? Project int]]></description>
<content:encoded><![CDATA[Do U want to help World-Users OnLine on Learning and Earning Scheme?  Can joine with us? Project int]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenMigrate: Making Complex Migrations Simple]]></title>
<link>http://blog.tsgrp.com/2009/11/22/openmigrate-making-complex-migrations-simple/</link>
<pubDate>Sun, 22 Nov 2009 16:18:29 +0000</pubDate>
<dc:creator>nickiemc</dc:creator>
<guid>http://blog.tsgrp.com/2009/11/22/openmigrate-making-complex-migrations-simple/</guid>
<description><![CDATA[Past blog posts have touted the flexible, extensible and configurable nature of TSG’s open source mi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Past blog posts have touted the flexible, extensible and configurable nature of TSG’s open source migration tool, OpenMigrate.  These claims are currently being put to the test.</p>
<p>TSG is in the final stages of a complex, cross-Atlantic migration utilizing OpenMigrate.  This project requires moving approximately 40,000 documents from a Qumas DocCompliance system in the Midwest to an existing Qumas DocCompliance system in Europe.  Qumas DocCompliance is a content management system which sits on top of Documentum and adds an additional layer of application specific objects.  As a result, an extra 300,000 plus supporting objects need to be migrated as part of the document migration.</p>
<p>Despite the added complexity of the Qumas system, minimal effort has been required to configure OpenMigrate for the migration.  Configurations were simply created for the documents and each of the 15 Qumas objects to be migrated.  The configurations utilize OpenMigrate’s customizable Listener classes, which can be inserted during any step of the migration to manipulate data as required.   Qumas objects rely heavily on attributes which point to other Qumas objects.  Through the use of a translating Listener, these attributes are updated to point to the new objects in the target repository and the application continues to function as required.  Using OpenMigrate’s multi-threading capabilities, test migrations have moved thousands of objects across the ocean in less than a minute, making the migration not only simple but fast as well.</p>
<p>For more information on OpenMigrate, please visit the <a href="http://www.tsgrp.com/Open_Source/OpenMigrate/open-migrate.jsp" target="_blank">TSG website</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[FAST Administration and Search Tools]]></title>
<link>http://blog.tsgrp.com/2009/11/16/fast-administration-and-search-tools/</link>
<pubDate>Mon, 16 Nov 2009 22:47:35 +0000</pubDate>
<dc:creator>skapadia</dc:creator>
<guid>http://blog.tsgrp.com/2009/11/16/fast-administration-and-search-tools/</guid>
<description><![CDATA[While helping a client troubleshoot some FAST full text indexing issues with their Documentum 5.3sp6]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>While helping a client troubleshoot some FAST full text indexing issues with their Documentum 5.3sp6 environment, I came across some tools that proved to be helpful during the troubleshooting process.</p>
<p>I&#8217;m sure we&#8217;ve all encountered the scenario where a full text search takes a long time to return with results.  As a first step, it&#8217;s always helpful to query the FAST index directly, outside of any Documentum interface, such as Webtop. This way you can pinpoint if the slowness is being caused at the index level or at the application level.  Fortunately, FAST provides us with a search tool that we can use for this purpose.</p>
<p>The only thing you need to know in order to access the search tool is the installation base port number that was chosen upon installing Index Server in your Documentum environment.  Once you have that, the search tool can be accessed at the following URL:</p>
<p style="padding-left:60px;">http://&#60;Index Server Host&#62;:&#60;Installation Base Port + 2100&#62;</p>
<p style="padding-left:60px;">Example:</p>
<p style="padding-left:90px;">Installatation Base Port = 14000<br />
URL to search interface = http://&#60;Index Server Host&#62;:16100</p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-522" title="fast2" src="http://tsgrp.wordpress.com/files/2009/11/fast2.jpg" alt="fast2" width="601" height="430" /> For the Query field, specify what value you want to search for and enter it in the following format, depending on whether you&#8217;re doing an attribute search or a search on content:</p>
<p style="padding-left:60px;">dmftmetadata:&#8217;search term&#8217;</p>
<p style="padding-left:90px;">or</p>
<p style="padding-left:60px;">dmftcontents:&#8217;search term&#8217;</p>
<p style="padding-left:90px;">or combine the two</p>
<p style="padding-left:60px;">dmftcontents:&#8217;search term&#8217; and  dmftmetadata:&#8217;search term&#8217;</p>
<p>The search will result in an XML file that outlines the total number of documents that match those criteria and provides details on each document, as well as the total time it took to retrieve the results.</p>
<p><img class="aligncenter size-full wp-image-518" title="code" src="http://tsgrp.wordpress.com/files/2009/11/code.gif" alt="code" width="735" height="17" /></p>
<p>Other search keywords that can be used within the Query field can be found in the index-profile-dctm.xml file, stored in the following location:<br />
<strong></strong></p>
<p style="padding-left:60px;">$FASTSEARCH\index-profiles\index-profile-dctm.xml</p>
<p>The FAST admin tool can also be helpful to get a high level overview of how your indexing environment is operating.  We used it mainly to monitor how fast the number of documents in our collection was increasing, but there are several other functionalities available as well, as shown in the screen shot below:</p>
<p><a href="http://tsgrp.wordpress.com/files/2009/11/fast.jpg"><img class="aligncenter size-full wp-image-521" title="fast" src="http://tsgrp.wordpress.com/files/2009/11/fast.jpg" alt="" width="661" height="367" /></a></p>
<p>The FAST admin tool can be accessed at the following URL:<br />
<strong></strong></p>
<p style="padding-left:60px;">http://&#60;Index Server Host&#62;:&#60;Installation Base Port + 3000&#62;</p>
<p style="padding-left:60px;">Example:</p>
<p style="padding-left:90px;">Installation Base Port = 14000<br />
URL to admin interface = http://&#60;Index Server Host&#62;:17000</p>
<p>Please feel free to <a title="Contact Us" href="http://www.tsgrp.com/forms/contact-us.jsp" target="_blank">contact us</a> if you have any additional questions about full-text indexing.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Jar defs and Java libraries]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/jar-defs-and-java-libraries/</link>
<pubDate>Mon, 16 Nov 2009 21:54:08 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/jar-defs-and-java-libraries/</guid>
<description><![CDATA[The jars that you use in BOF modules can be delivered in Jar Defs or in Java Libraries. Let’s look a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div>
<div>
<p>The jars that you use in BOF modules can be delivered in Jar Defs or in Java Libraries. Let’s look at the differences, real and conventional.</p>
<p>Jar Defs (dmc_jar instances in the docbase) are just jar wrappers. They have a nature – implementation or interface – that determines to which class loader they belong. Here’s something that is not obvious – you should <strong>not</strong> share Jar Defs across modules. We don’t enforce this restriction well enough, but we don’t support this usage. If you want to share jars across modules you should use a Java Library. Read on.</p>
<p>Java Libraries (dmc_java_library instances) are collections of one or more jars. Each Java Library is flagged as being sandboxed or not. All jars in a sandboxed Java Library will belong to the module class loader, just like regular implementation jars. All jars in a non-sandboxed Java Library will belong to the <a href="http://donr7n.wordpress.com/2008/07/03/bof-jars-and-class-loading/">Shared Class Loader</a>. Java Libraries <strong>can</strong> be shared across modules. So they have two purposes:</p>
<ul>
<li>Sharing jars across modules</li>
<li>Collecting jars into an administrable unit</li>
</ul>
<p>Some good uses for Java Libraries are:</p>
<ul>
<li>third party libraries</li>
<li>shared logic across a <strong>cohesive</strong> set of modules</li>
</ul>
<p>Be very very careful about marking a Java Library non-sandboxed. Because this associates the jars with the Shared Class Loader <strong>all</strong> BOF modules will have visibility to these classes. The original plan was not to allow this at all, but the Architect broke under pressure. This is back to the kind of jar hell that BOF tries so hard to eliminate.</p>
<p>If you decide to share jars (via Java Libraries) across modules be sure to understand that a sandboxed Java Library will be associated with the module class loaders. If you intend to communicate between your modules then any interfaces that exist in your shared jars will have a separate identity in each class loader, so if you try to use them across modules you <strong>will</strong> get <a href="http://donr7n.wordpress.com/2008/07/03/i-got-an-exception-i-hate-bof/">ClassCastExceptions</a>. If you want to do this then you need to separate out your shared interfaces from the other classes in your shared jars and put them in a distinct non-sandboxed Java Library. This will allow the interfaces to be used by all of your modules. This is a much better idea than just marking your existing Java Library as non-sandboxed which will have the effect of introducing all your implementation classes into the Shared Class Loader too.</p>
<p>Both Jar Defs and Java Libraries can be hot deployed. Because a Jar Def is associated with only one module its hot deployment has a localized effect. If a Java Library is shared, on the other hand, its hot deployment affects all modules that share the Java Library.</p>
<p>Jar Defs should always belong to the containing module so they will appear in the same Composer project as the module itself.</p>
<p>Java Libraries can be shared and so projects containing consuming modules might need to reference another Composer project in order to access the Java Library. That referenced project might be a “primary” module project, or conceivably a project that contains only the Java Library – the choice is yours. The important thing is that the Java Library must exist in only <strong>one</strong> Composer project.</p>
<p>The things to consider when making choices are hot deployment issues, class visibility issues, and avoiding redundant jars wherever possible.</p>
<p>Source: <a href="http://donr7n.wordpress.com/2009/01/20/jar-defs-and-java-libraries/">http://donr7n.wordpress.com/2009/01/20/jar-defs-and-java-libraries/</a></p>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[An aspect implementation template]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/an-aspect-implementation-template/</link>
<pubDate>Mon, 16 Nov 2009 21:49:51 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/an-aspect-implementation-template/</guid>
<description><![CDATA[A few points to note: Use @Override whenever you override a method. Unrecognized typos (meaning no o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>A few points to note:</p>
<ul>
<li>Use @Override whenever you override a method. Unrecognized typos (meaning no override!) are difficult to debug.</li>
<li>Stateful aspects must have a name that follows Documentum type naming conventions.</li>
<li>Do not use constructor logic – use onObjectReinit (after aspects are attached or detached) or init (after initial object loading).</li>
</ul>
<p><code><br />
import com.documentum.fc.client.*;<br />
import com.documentum.fc.common.*;<br />
import java.util.*;</p>
<p>@SuppressWarnings("serial")<br />
public class MyAspect extends DfSysObject implements IDfDynamicInheritance [, ]<br />
{<br />
// If your aspect could never be stateful it should begin with a reverse domain name,<br />
// otherwise it should conform to type naming rules.<br />
private final static String ASPECT_NAME = "my_aspect";</p>
<p>public MyAspect() {<br />
    // Do NOT use any constructor logic. Instead initialize your instance in<br />
    // the private constructor method, which will be called just after actual construction.<br />
}</p>
<p>@Override<br />
protected void init() throws DfException {<br />
    super.init();<br />
    constructor();<br />
}</p>
<p>@Override<br />
public void onObjectReinit(Set&#60;String&#62; attached, Set&#60;String&#62; detached) throws DfException {<br />
    super.onObjectReinit(attached, detached);<br />
    if (attached.contains(ASPECT_NAME))<br />
        onAttach();<br />
    if (detached.contains(ASPECT_NAME))<br />
        onDetach();<br />
}</p>
<p>private void constructor() {<br />
    // TODO: Perform constructor-like behavior here<br />
}</p>
<p>private void onAttach() throws DfException {<br />
    constructor();</p>
<p>    // TODO: Add code appropriate for when your aspect has just been attached.<br />
    // The object is in a valid initialized state at this point.<br />
    DfLogger.debug(this, "{0}::onAttach", new String[] { ASPECT_NAME }, null);<br />
}</p>
<p>private void onDetach() throws DfException {<br />
    // TODO: Add code appropriate for when your aspect has just been detached.<br />
    // The object is in a valid initialized state at this point.<br />
    DfLogger.debug(this, "{0}::onDetach", new String[] { ASPECT_NAME }, null);<br />
}</p>
<p>    // TODO: implement your interface methods here.</p>
<p>    // TODO: implement your sysobject overrides here.<br />
}</p>
<p></code></p>
<p>Source:<a href="http://donr7n.wordpress.com/2008/07/07/an-aspect-implementation-template/">http://donr7n.wordpress.com/2008/07/07/an-aspect-implementation-template/</a></p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Attaching and detaching aspects]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/attaching-and-detaching-aspects/</link>
<pubDate>Mon, 16 Nov 2009 21:47:47 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/attaching-and-detaching-aspects/</guid>
<description><![CDATA[The first thing you need to understand is that the Java object you get from IDfSession.getObject or ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>The first thing you need to understand is that the Java object you get from IDfSession.getObject or IDfSession.newObject is not the actual persistent object – it is a proxy object (google Java dynamic proxies for more info). It looks like a regular old persistent object to you, but it isn’t.</p>
<p>Whenever you attach (or detach) an aspect you might end up changing the prototype of the persistent object. This would be the case if an aspect implemented an orthogonal interface. DFC will actually rebuild the class files (yes, the byte code) that relates to the type [+aspects] in question. This is an expensive operation and there are optimizations to minimize the number of times this is done.</p>
<p>Of course, your existing persistent object is already loaded from the old class definition and this can’t change, so you end up with a “stale” persistent object reference.</p>
<p>So, after attaching or detaching an aspect you <strong>must</strong> refetch the object immediately. The refetched object will implement any new interfaces and will not implement any removed interfaces. Any unsaved changes you made will be preserved. The sequence should be something like this …</p>
<p><code><br />
if (obj instanceof IDfAspects) {<br />
    (IDfAspects) obj).attachAspect(“foo”, null);<br />
    obj = session.getObject(obj.getObjectId());<br />
    ((IFoo) obj).foo();<br />
}<br />
</code></p>
<p>The above code fragment is suitable when you are a regular client (eg. application code). However, if you are executing in the context of a TBO or aspect method on obj itself when you try to attach or detach the aspect, then you are executing on the “old” object that is about to become stale, and the new object has not been built yet, so getObject just returns the same old disappointing Java object. You then have to use callbacks. Callbacks are invoked just before the original entry point to the outermost TBO or aspect method invocation returns and have a kind of implicit getObject associated with them. You can think of them as delayed client code. Do not do getObject within a callback – the object reference your callback is given is the new, beautiful, predictable Java object. The code sequence would then look something like this …</p>
<p><code><br />
this.attach/detachAspect(“foo”, myCallback); // myCallback invokes foo()<br />
// You cannot use foo here – the Java object is not ready. Refetch won’t help either.<br />
</code></p>
<p>The callback implementation would look something like this …</p>
<p><code><br />
void doPostAttach/Detach(IDfPersistentObject obj) {<br />
    ((IFoo) obj).foo(); // ok, obj is fully cooked here<br />
}<br />
</code></p>
<p>Also note that not all objects can have aspects attached. All sysobjects and its subclasses can, but most non-sysobjects don’t support aspects. Any object that does, however, will implement the IDfAspects interface (DFC sees to this automatically). A non-sysobject type would only support aspects if it were created with the DQL syntax …</p>
<p><code><br />
alter type ... allow aspects</p>
<p></code></p>
<p>Source:<a href="http://donr7n.wordpress.com/2008/07/07/attaching-and-detaching-aspects/">http://donr7n.wordpress.com/2008/07/07/attaching-and-detaching-aspects/</a></p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Implementing Java server methods as BOF modules]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/implementing-java-server-methods-as-bof-modules/</link>
<pubDate>Mon, 16 Nov 2009 21:45:21 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/implementing-java-server-methods-as-bof-modules/</guid>
<description><![CDATA[There are a couple of reasons you might want to deploy Java server methods as BOF modules. You want ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div>
<div>
<p>There are a couple of reasons you might want to deploy Java server methods as BOF modules.</p>
<ul>
<li>You want to deploy the implementation in the same dar/docapp as the dm_method definition</li>
<li>You want to avoid jar hell by avoiding the java_methods directory</li>
<li>You want hot deployment for your method implementation</li>
</ul>
<p>In order to deploy your method as a module you have to do the following:</p>
<ul>
<li>Define a module by subclassing DfSingleDocbaseModule or have your module implement the marker interface IDfModule directly</li>
<li>Have your module implement IDfMethod – <strong>not</strong> IDmMethod (no interface jar)</li>
<li>Put the module name – <strong>not</strong> the class name – in the command_verb of the dm_method object</li>
<li>Make your module self-contained. You have no visibility to classes in the java_methods directory so you must be able to find anything you need in one or more BOF modules.</li>
</ul>
<p>That’s it.</p>
<p>Source: <a href="http://donr7n.wordpress.com/2008/10/20/methods-as-bof-modules/">http://donr7n.wordpress.com/2008/10/20/methods-as-bof-modules/</a></p>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Writing Java server methods that invoke DFS services]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/writing-java-server-methods-that-invoke-dfs-services/</link>
<pubDate>Mon, 16 Nov 2009 21:42:59 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/writing-java-server-methods-that-invoke-dfs-services/</guid>
<description><![CDATA[Sometimes you want to invoke DFS services from within a Java Method Server method implementation. Fi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sometimes you want to invoke DFS services from within a Java Method Server method implementation.</p>
<p>First you should understand <a href="http://donr7n.wordpress.com/2008/10/20/methods-as-bof-modules/">how to implement a method as a BOF module</a>.</p>
<p>What remains is to package your module correctly for DFS service invocation. In order to do this we suggest the following:</p>
<ol>
<li>Create a sandboxed Java library containing the minimum classpath for your chosen DFS client, as described in the DFS SDK doc. This library can be included in all method modules that invoke DFS services.</li>
<li>Create a sandboxed Java library containing your generated client classes for each service that you consume. Each library can be included in all method modules that invoke the corresponding DFS service. If you only have one or two methods then these classes could be folded into your implementation jar instead.</li>
<li>Create an implementation jar for your method implementation.</li>
</ol>
<p>Be sure that your method implementation observes <a href="http://donr7n.wordpress.com/2008/11/25/calling-dfs-from-within-a-bof-module/">the correct thread context class loader handling</a> and you should be good to go. Here’s a little base class that takes care of that for you (note that this class <strong>must</strong> be in either your implementation jar or a sandboxed java library or it just won’t work).</p>
<p><code><br />
package com.emc.examples;<br />
import com.documentum.fc.client.DfSingleDocbaseModule;<br />
import java.util.Map;<br />
import java.io.PrintWriter;<br />
public abstract class AbstractMethod extends DfSingleDocbaseModule implements IDfMethod<br />
{<br />
    public final int execute(Map parameters, PrintWriter writer) throws Exception {<br />
        ClassLoader tccl = Thread.currentThread().getContextClassLoader();<br />
        try {<br />
            ClassLoader moduleLoader = AbstractMethod.class.getClassLoader();<br />
            Thread.currentThread().setContextClassLoader(moduleLoader);<br />
            return doMethod(parameters, writer);<br />
        }<br />
        finally {<br />
            Thread.currentThread().setContextClassLoader(tccl);<br />
        }<br />
    }<br />
    public abstract int doMethod(Map parameters, PrintWriter writer) throws Exception;<br />
}</p>
<p></code></p>
<p>Source: <a href="http://donr7n.wordpress.com/category/methodserver/">http://donr7n.wordpress.com/category/methodserver/</a></p>
<p>&#160;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Does Documentum BPM 6.5 Offer Anything New?]]></title>
<link>http://stephanodesign.wordpress.com/2009/11/16/does-documentum-bpm-6-5-offer-anything-new/</link>
<pubDate>Mon, 16 Nov 2009 21:40:19 +0000</pubDate>
<dc:creator>Stefan</dc:creator>
<guid>http://stephanodesign.wordpress.com/2009/11/16/does-documentum-bpm-6-5-offer-anything-new/</guid>
<description><![CDATA[We recently created a Healthcare application on Documentum Process Suite 6.5. We used the latest ver]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We recently created a Healthcare application on Documentum Process Suite 6.5. We used the latest versions of Taskspace, Process Builder, Process Integrator, Process Engine, Business Activity Monitor, and the new Composer. Here’s my review of Process Suite D6.5…</p>
<p>As the former Group Product Manager for the Documentum Process Suite, I was pleased to see the improvements in the product. Of course, I was disappointed with some shortfalls on the quality of the BAM (formerly Proactivity) products, which until now, to my opinion, has not met the quality required by its customers and the industry.</p>
<p>My favorite addition to the package was the high-fidelity forms. For those who have used previous versions of the Documentum Forms Builder, I’m sure you have the scars to prove it.  The good news is, in Forms Builder D6.5, a lot of bugs have been finally fixed and works much better with the latest version of Taskspace. With the high-fidelity forms capability, Forms Builder is now a much better product. So if you’re wondering if you should attempt to use Forms Builder D6.5 or migrate your current Webtop to Taskspace with Forms, I strongly suggest you do it. You’ll be pleasantly surprised. What used to take us days &#38; even weeks to develop on WDK with Webtop, only took minutes of configuration on Taskspace.</p>
<p>Just like any other software though, Taskspace D6.5 has its limitations. Some of which, I will attempt to discuss in this blog. So still expect to get some challenges if you do not know the pitfalls of this version.</p>
<p>With Taskspace, you can easily configure the search, folder view, file view, attribute display, and content image display components. In addition, Taskspace has a much better transactional perspective versus Webtop. Some of the limitations that you must be aware of is its lack of menu options. The fly-over menu options are very limited and do not really fit well in the overall usability perspective. As for the toolbar menu options…it does not exist. You’re better off customizing the folder and node structure to launch custom components. There is a built-in Adobe Reader, which automatically displays the content images. With the built-in viewer, you’ll be limited to viewing PDF and TIFF images only. All other content formats will be viewed using the application assigned to the document format, which is launched outside Taskspace. You do have the option to buy one of the supported viewers &#8211; Brava and Snowbound where you have additional features like annotations and viewing various content formats. For our healthcare application, we created a custom interface to support a shareware viewer for DICOM images.</p>
<p>One of my favorite feature with the high-fidelity form is the ability to use a paper form images as the interface for data entry and review. By using this high-fidelity feature, adaptability to the new application is improved. If you’re converting a paper-based application, you can use high-fidelity forms to have the exact image of your paper forms. This allows you to convert your paper-based system onto a mirrored system in a more efficient electronic application. Another cool feature with high fidelity forms is the ability to print it, use it offline and re-import (or scan) it using a built-in barcode to automatically categorize it. Per my experience, these features greatly reduces the total cost of ownership and accelerates your ROI on your investment.</p>
<p>The Process Builder now allows multiple entry points. For those who have tried Process Builder D6.5, you’ll notice that the Start activity template is still there. Unfortunately, even if you do not need it, it cannot be removed. It is a product bug, which I believe will eventually be fixed in the succeeding SP releases. The new builder also has the ability to group activities. This is a feature that you’ll see in other BPM products with Oracle and IBM. With D6.5, the builder also provides better error handling for integration problems such as connecting via Web Service. The queue management feature now has skill set capabilities. In the previous versions, skill level was available allowing you to set controls based on the user’s skill levels like beginner, intermediate, and professional levels. With skill sets, you have a better feature with matching skills against tasks. Configuring queue management needs a lot of work but the feature is extremely powerful.</p>
<p>Managing rules is still a limitation of the Documentum Process Suite. It supports rules engine products like Ilog (which is now owned by IBM), Corticon, and <a title="RulesMachine" href="http://www.trendsglobal.com/products.html#rulesmachine" target="_blank">RulesMachine</a>. There is the basic if-then-else capability and built-in policy configurations for managing queues, content, automated tasks, and people tasks. However, for handling complex rules (such as bank fees, loan rules, and insurance policies) with multiple permutations, you will need one of the rules engines.</p>
<p>As for the BAM products (which were an acquisition from Proactivity),  the new version has fixed a lot of bugs from the 5.3 versions. The 5.3 version was developed with a loosely-coupled design to help get the products integrated at the fastest possible time. Unfortunately, for those who attempted to use the 5.3 and D6 versions, you would (like me) have really deep cuts…some of which are still bleeding. The good news is, BAM D6.5 removed the need for the unreliable Jboss Portal, often failing Documentum publishing job, poorly designed Process Analyzer and report designer, the problematic Observation Point activity template. With the new version, the reports are viewable on Taskspace with an easier configuration tool that actually works. The reports can be easily be configured with the updated report builder and built-in Crystal Report. Unfortunately, the installation and configuration is still difficult, synchronization of transactions still fail and creation of custom business reports are still limited. Perhaps in the SP versions, most of these bugs are eventually fixed. The Process Analyzer, Simulator, and Navigator were not upgraded and do not really work in harmony to provide a complete Process Lifecycle model. Until then, do not expect much from Documentum BAM.</p>
<p>The biggest challenge you need to address though is to determine the type of business reports that makes sense for you. Chances are, most of your reports are often immature in design and are constantly refined using tools like Excel. This begs the question…what is the TOC and ROI of using BAM versus good old fashion Excel? I would love to hear your opinion… Perhaps, Documentum BAM can eventually address that challenge correctly.</p>
<p>As for my wish list, I would like to see Taskspace upgrade to a Web 2.0 interface, which is the direction CenterStage and DAM 6.5 have taken. I would also like to have Documentum workflow web services that can be integrated with other applications.</p>
<p>Source: Erwin Chiong <a href="http://bpmchat.com/2008/11/08/does-documentum-bpm-65-offer-anything-new/">http://bpmchat.com/2008/11/08/does-documentum-bpm-65-offer-anything-new/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[EMC Momentum 2009 - Keynote]]></title>
<link>http://ecmobservations.wordpress.com/2009/11/13/momentum-2009-keynote/</link>
<pubDate>Fri, 13 Nov 2009 21:21:01 +0000</pubDate>
<dc:creator>Lee Smith</dc:creator>
<guid>http://ecmobservations.wordpress.com/2009/11/13/momentum-2009-keynote/</guid>
<description><![CDATA[Whitney introduced the keynote, reinforcing the theme of ‘Inspired by the past…Primed for the future]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Whitney introduced the keynote, reinforcing the theme of ‘Inspired by the past…Primed for the future’, before handing the reins to Mark Lewis.</p>
<p>Mark set the tone by reinforcing that the future is bright for EMC CM&#38;A. He quoted an example of his personal experience of visiting a doctor and having to complete the same details multiple times. He then talked about Business Value, and the need and desire for EMC to drive Business Value. He then introduced the three pillars of the strategy for EMC CM&#38;A:</p>
<p>- Value. Covered by Access and Process.</p>
<p>- Efficiency. Covered by Governance, Access and Process.</p>
<p>- Compliance. Covered by Governance and Access.</p>
<p>He also talked about a move from Application Centric to Information Centric, and a move from Static Placement to Dynamic Movement, see my earlier post on the <a href="http://ecmobservations.wordpress.com/2009/09/07/future-of-ecm-2/">Future of ECM</a> to see my views on this.</p>
<p>Back to the earlier themes of Governance, Access and Process. Mark introduced these as the three main product groups in CM&#38;A.</p>
<p><strong><span style="text-decoration:underline;">Governance</span></strong></p>
<p>These are the products covering Archiving, EDRM and Search/eDiscovery.</p>
<p><strong><span style="text-decoration:underline;">Access</span></strong></p>
<p>The theme of this group is having it your way and includes the stages of Capture, Communication, Collaboration, Context and Cloud.</p>
<p><span style="text-decoration:underline;"><strong>Process</strong></span></p>
<p>This is about building the custom solutions, interestingly Mark talked about Content Enabled Applications, note no Vertical in the title. This is where xCP fits in, Mark described it as the Case Process Platform. He claimed this is the first for the industry, I’m not sure this is true but it could be a major step forward for EMC.</p>
<p>&#160;</p>
<p>Mark then handed over to John O’Melia who conducted an interview with the CIO of Eurobank, but the main chunk of the session was Mark’s message. Mark’s message was clear and the alignment of the products was clear. He showed a lot of belief in the future and especially in xCP, I left the session needing to find out more about how XCP was going to be executed.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[EMC Momentum 2009 &ndash; D6.5 Architecture Overview]]></title>
<link>http://ecmobservations.wordpress.com/2009/11/12/momentum-2009-d6-5-architecture-overview/</link>
<pubDate>Thu, 12 Nov 2009 22:53:23 +0000</pubDate>
<dc:creator>Lee Smith</dc:creator>
<guid>http://ecmobservations.wordpress.com/2009/11/12/momentum-2009-d6-5-architecture-overview/</guid>
<description><![CDATA[I’m going to try and get through the backlogs of write ups which I have, starting with this session ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>I’m going to try and get through the backlogs of write ups which I have, starting with this session which was hosted by Victor Spivak on the Tuesday morning. Firstly I must criticise the scheduling, or rather room scheduling. Victor’s sessions are notorious for their high attendance so why put this on in one of the smaller rooms, there was no spare space!</p>
<p>Victor talked about the themes which drive the architecture, namely:</p>
<p>- SOA</p>
<p>- Performance/Scalability</p>
<p>Victor did say at the start that some of the session would be a repeat of last year’s, fortunately I did not attend that but I have looked at some of the details which Victor talked about.</p>
<p>On SOA Victor talked about the need to remove the chattiness of DFC and the addition of numerous new services for D6.5. REST will be supported post 6.5, possible 6.6 release in 2010. XML and JSON representations will be made available. EMC will not try and take sides in the SOAP vs REST debate and will support both.</p>
<p>CMIS was discussed and Victor talked about the disappointment of JSR170 and that being the reason behind the lack of Documentum support for it. He talked about the goals of CMIS, all publicly available, and how CMIS can be considered the Esperanto of the ECM world. However he did say that the current release is best served by the Use Case of a repository explorer without too much complex functionality.</p>
<p>He then talked about the Centerstage model and revealed that xCP 2.0 will be based on this, more to come on this in another post. However that is not the only client approach they will follow, note Mediaspace is Flex based. He also raised the interesting idea of using Spaces in Centerstage to support multi-tenancy in the cloud, I’ll have to check some details on this but could be interesting.</p>
<p>On Performance and Scalability, when I stopped being annoyed at the guy who was on his phone!, Victor talked about High Volume Services and the concept of batching citing the example of creating 100 objects in the docbase and the number of api calls this generates. This can be vastly reduced with the concept of batching. Victor also talked about the concept of Lightweight SysObjects.</p>
<p>Next up was the subject of search. Now I had heard from a colleague about Documentum Search Services and Victor talked about it briefly, he did point out the sessions which would cover the details. DSS will use the same Index Agent as the current Search solution but will use xDB. (I had heard from another session that this may complicate the install, I’ll need to check the notes on this one). EMC will not force customers to move away from FAST and will support DSS and FAST running side by side for the forseeable future.</p>
<p>Victor also talked about the 100k user benchmark and the impressive results this showed, he compared this with MOSS 2010 which allegedly will have a limit of 30m objects per repository; for my current project this would not see us through to the Olympics in 2012!</p>
<p>Finally Victor talked a little on Virtual Content Management, which is the use of Federated Records and then briefly talked about Operation Customisation. This is to cover situations where BOF would not apply and the example Victor quoted is when a user wants to import a zip file and then on import for the contents to be extracted to a folder. Another example is a Recycle Bin. Interestingly Victor suggested they would be interested to hear of scenarios which customers/partners would like covered off and they would look at these.</p>
<p>Overall then a good session, a lot of info was already available but then this was a 6.5 architecture. Victor is a good presenter who is clearly passionate about his subject area. As an intro to more detailed sessions this worked well, if only I had the time to get to the other sessions!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[OpenMigrate: Bulk Load Interface Available for Download]]></title>
<link>http://blog.tsgrp.com/2009/11/10/openmigrate-bulk-load-interface-available-for-download/</link>
<pubDate>Tue, 10 Nov 2009 17:36:28 +0000</pubDate>
<dc:creator>Todd Pierzina</dc:creator>
<guid>http://blog.tsgrp.com/2009/11/10/openmigrate-bulk-load-interface-available-for-download/</guid>
<description><![CDATA[In the content management world, users often require an “all-in-one” interface to help them assemble]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In the content management world, users often require an “all-in-one” interface to help them assemble batches of related documents, tag them with metadata , then import them into the underlying Content Management System.  Traditional web-based interfaces, such as Webtop or Web Publisher from Documentum, Explorer or Share from Alfresco, don’t offer this functionality out-of-the-box.</p>
<p>Could TSG’s <a href="http://tsgrp.com/Open_Source/OpenMigrate/open-migrate.jsp">OpenMigrate</a> open source migration framework fit this need?</p>
<p>OpenMigrate is typically used in a batch mode, especially in high-volume situations.  And while the browser-based <a href="http://tsgrp.com/multimedia/TsgLearningZone/TsgLearningZone.html?itemName=OpenMigrate&#38;demoId=1">Administrator</a> does allow for interactive configuration and execution of migrations, the actual tagging of documents with metadata is outside of its realm.</p>
<p>To bridge this divide, TSG is pleased to announce the availability of the new <a href="http://tsgrp.com/misc/SourceCode.jsp#OpenMigrate">OpenMigrate Bulk Load Interface</a> for download.</p>
<p><img class="aligncenter size-full wp-image-488" title="OpenMigrate Bulk Load Interface" src="http://tsgrp.wordpress.com/files/2009/11/om_screen.png" alt="OpenMigrate Bulk Load Interface" width="602" height="376" /></p>
<p>The OpenMigrate Bulk Load Interface provides a highly configurable user interface which enables the user to easily manage documents and import them into a variety of targets.  The interface is built on top of the Spring framework making it extremely easily maintainable, customizable, and configurable.</p>
<p>To learn more about this versatile new entry in the OpenMigrate toolset, please visit <a href="http://tsgrp.com/Open_Source/OpenMigrate/OpenMigrateFeatures_Bulkload.jsp">www.tsgrp.com</a>.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Momentum 2009]]></title>
<link>http://ecmobservations.wordpress.com/2009/11/07/momentum-2009/</link>
<pubDate>Sat, 07 Nov 2009 19:35:31 +0000</pubDate>
<dc:creator>Lee Smith</dc:creator>
<guid>http://ecmobservations.wordpress.com/2009/11/07/momentum-2009/</guid>
<description><![CDATA[Its Saturday night and everything is just about packed for the trip to Athens for EMC Momentum 2009.]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Its Saturday night and everything is just about packed for the trip to Athens for EMC Momentum 2009. It will be a long today tomorrow to get there, leave the house at 8:45 and arrive in the hotel around 19:00, so hopefully the sessions will be worth it.</p>
<p>I&#8217;m going to attempt to write as many posts and tweets as possible in the next week, some posts will need to wait until the week after and some things will just get missed as I have a lot of things lined up in the next few days outside the actual sessions.</p>
<p>I&#8217;ll try and get notes up quickly in the day or so afterwards and then post something more reflective later on. I won&#8217;t be posting things which are told to me in confidence but will just comment on the public aspects of the conference.</p>
<p>Keep coming back for updates during the week and do not forget to visit me at twitter.com/leecsmith.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Senior Document Manager ]]></title>
<link>http://mindsourceinc.wordpress.com/2009/11/05/senior-document-manager/</link>
<pubDate>Thu, 05 Nov 2009 19:20:22 +0000</pubDate>
<dc:creator>Michelle</dc:creator>
<guid>http://mindsourceinc.wordpress.com/2009/11/05/senior-document-manager/</guid>
<description><![CDATA[MindSource specializes in placing technology professionals with companies in the Silicon Valley Regi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div>
<div id="detailDescription">MindSource specializes in placing technology professionals with companies in the Silicon Valley Region and beyond. We have an immediate need for a <strong>SENIOR DOCUMENT MANAGER</strong> with our client in <strong>S</strong><strong>AN JOSE, CA</strong>. This is a <strong>CONTRACT</strong> opportunity for 6-12 months with possible extension.The ideal candidate should have vast experience with any of the Document Management Systems (Documentum or Vignette or SharePoint). The successful candidate must have experience in records and document management to perform an overall assessment.</p>
<p>The hiring manager is looking for an experienced person to come in and do a full assessment of the current state, vision and roadmap, including processes for records/document handling. The individual would need to have experience in business analysis and architecture with knowledge of best practices and principles in records/document management. Ideally, they would also have knowledge of any state or federal electronic records regulations and mandates. The candidate should be ready to evaluate the existing document process and suggest improvements. Must understand workflow and image capturing process and have excellent analysis skills. Excellent communication skills and experience dealing with upper management is required. This is a very high profile position which will report to the CIO.</p>
<p>If interested, please send us your resume along with your hourly rate, contact number, and availability for a phone interview to <a href="mailto:raj@mindsource.com?subject=Senior Document Manager">raj@mindsource.com</a>.</p>
</div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tip: Identifying Documentum Object Types]]></title>
<link>http://wordofpie.com/2009/11/05/tip-identifying-documentum-object-types/</link>
<pubDate>Thu, 05 Nov 2009 17:41:45 +0000</pubDate>
<dc:creator>Pie</dc:creator>
<guid>http://wordofpie.com/2009/11/05/tip-identifying-documentum-object-types/</guid>
<description><![CDATA[Last month, I ran into an error.  You know the type, vague, irritating, and an r_object_id that I di]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Last month, I ran into an error.  You know the type, vague, irritating, and an <span style="font-family:Courier New;color:#0000ff;">r_object_id</span> that I didn&#8217;t recognize. (Okay, I never &#8220;recognize&#8221; an id given the complexity, but usually I can figure things out from the first two digits.)  The error basically said that the <span style="font-family:Courier New;color:#0000ff;">r_object_id</span> &#8220;53&#8230;&#8221; did not exist.</p>
<p>Anyway, a quick look didn&#8217;t reveal anything. I determined that it wasn&#8217;t derived by <span style="font-family:Courier New;color:#0000ff;">dm_sysobject</span> by doing a quick query on the table. I decided to throw the question out to Twitter and see what happened.</p>
<blockquote><p>Okay fearless <a href="http://twitter.com/search?q=%23Documentum">#Documentum</a> hackers, what object type begins its r_object_id with a &#8216;53&#8242;?</p></blockquote>
<p>I got two replies, <a href="http://twitter.com/ldallasBMOC/status/4683565297">one</a> from <a href="http://bigmenoncontent.com/">Lee Dallas</a> (@<a href="http://twitter.com/ldallasBMOC">ldallasBMOC</a>) and <a href="http://twitter.com/davidfmatheson/status/4656786744">another</a> from David Matheson (@<a href="http://twitter.com/davidfmatheson">davidfmatheson</a>).</p>
<blockquote><p>@<a href="http://twitter.com/piewords">piewords</a> <a href="http://twitter.com/search?q=%23Documentum">#Documentum</a> 53 is dm_literal_expr &#8211; if you are asking-you need to run data dictionary publish,clear caches restart app svrs</p></blockquote>
<blockquote><p>@<a href="http://twitter.com/piewords">piewords</a> <a href="http://twitter.com/search?q=%23Documentum">#Documentum</a> @<a href="http://twitter.com/ldallasBMOC">ldallasBMOC</a> beat me to it, I would add you can check IDfId for the full list of what&#8217;s what in any version of DFC.</p></blockquote>
<p>So Lee gave me the fix, which had already been executed, but he told me why the restart of the client application worked. (The Data Dictionary runs regularly in our environment, so it had already run). David taught me how to answer the question in the future.  I also found another way to make the determination as well.  I&#8217;m going to share them both now.</p>
<p><!--more--></p>
<h4>The DFC Javadocs</h4>
<p>This is where David sent me.  The Javadocs are simple enough to navigate.  Open up the Javadocs and select <span style="font-family:Courier New;color:#0000ff;">IDfId</span> from the left-hand panel.  You will see a list of constants.  Click on any of them, <span style="font-family:Courier New;color:#0000ff;">DM_ACL</span> is first, and it will take you to the definition.  It doesn&#8217;t give you the value here, but if you click that link for <em>Constant Field Values</em>, you will be taken to a table of values.</p>
<p>We aren&#8217;t done as there is one final step that David overlooked.  The constants are all base 10 decimals.  The two character object type tag is hexadecimal (base 16).  So if I convert my 53 from hexadecimal (using this <a href="http://easycalculation.com/hex-converter.php">nice little converter</a>), I get 83.  When I search the table, I find <span style="font-family:Courier New;color:#0000ff;">dm_literal_expr</span>, the very answer that Lee sent me.</p>
<p>If you ever need to reverse the process and work from the table (decimal) to the object type tag, you can use the reverse conversion (available from the <a href="http://easycalculation.com/decimal-converter.php">same source</a>) to get your hexadecimal value.</p>
<h4>The Object Reference Manual</h4>
<p>So a day or two later, I was looking something else up in the documentation.  I then noticed that the answer was staring me in my face.  I was looking in the Object Reference Manual that is part of the core Content Server documentation and there it was, <em>Object type Tag: XX</em>.</p>
<p>So rather than navigating the DFC Javadocs for the answer, I can open that manual and search on <em>Object type tag: 53</em> and get my answer.  It is faster and now I have two options.</p>
<h4>Extra Side Notes</h4>
<p>A few random lessons/observations came about from this effort, so I wanted to share them.</p>
<ol>
<li>It is impossible to learn everything in Documentum, so don&#8217;t even try. Just learn where everything is written down. I learned two new places while solving this problem.</li>
<li>I found all sorts of Documentum documentation online while looking for other items.  Not sure if it allowed to be up there, but it has been posted by <a href="http://www.scribd.com/jazarja">James Azarja</a> on <a href="http://scribd.com">Scribd</a>.  The <a href="http://www.scribd.com/doc/11468195/Object-Reference-65">Object Reference Manual for 6.5</a> is up there as of this writing.</li>
<li>Twitter is pretty useful for getting some quick answers. It can be faster than the forums on <a href="https://community.emc.com/community/edn/documentum">EDN</a>, though EDN is the perfect place for more detailed Q&#38;A.</li>
<li>The error in question arose when a Composer project was installed.  Only one thing was updated in the project, but everything was version, even with no changes.  This may turn into a separate post on best practices around Composer (aside from using Application Builder instead).</li>
</ol>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[8 Dimensions for CMS Technical Evaluation]]></title>
<link>http://bigmenoncontent.com/2009/11/03/8-dimensions-of-cms-technical-evaluation/</link>
<pubDate>Tue, 03 Nov 2009 15:56:44 +0000</pubDate>
<dc:creator>Lee Dallas</dc:creator>
<guid>http://bigmenoncontent.com/2009/11/03/8-dimensions-of-cms-technical-evaluation/</guid>
<description><![CDATA[There are many places you can go to find information on the racking and stacking of CMS systems. Eve]]></description>
<content:encoded><![CDATA[There are many places you can go to find information on the racking and stacking of CMS systems. Eve]]></content:encoded>
</item>

</channel>
</rss>
