<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Craig's Musings</title>
	
	<link>http://craigrandall.net</link>
	<description>Thoughts about software architecture, books and life</description>
	<lastBuildDate>Wed, 30 Dec 2009 18:14:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/craigrandall" /><feedburner:info uri="craigrandall" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Rich Internet Applications</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/BPprPhYYpy8/</link>
		<comments>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 00:45:42 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Smart clients]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1250</guid>
		<description><![CDATA[During the MAX 2009 conference, Duane Nickull was interviewed by DZone on the subject of RIA architectures. As an architect, I appreciated Duane&#8217;s comments about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing interaction design and user experience, distilling key business requirements by working closely with those the [...]]]></description>
			<content:encoded><![CDATA[<p>During the MAX 2009 conference, <a href="http://technoracle.blogspot.com/" target="_blank">Duane Nickull</a> was <a title="RIA Architectures: An Exclusive Interview with Adobe's Duane Nickull" href="http://ria.dzone.com/videos/nickull-ria-architectures" target="_blank">interviewed by DZone</a> on the subject of RIA architectures. As an architect, I appreciated <a href="http://technoracle.blogspot.com/2009/12/ria-architectures-exclusive-interview.html" target="_blank">Duane&#8217;s comments</a> about the responsibility of architects, versus developers, where RIAs are concerned (e.g. focusing on and valuing interaction design and user experience, distilling key business requirements by working closely with those the RIA will serve, being mindful of the framing process-oriented context, etc.).</p>
<p>In particular, <em>don&#8217;t frustrate users</em> resonates with me (e.g. it&#8217;s a non-technical answer to &#8220;what is an RIA?&#8221; (or &#8220;reeyah&#8221;). Duane&#8217;s Revenue Canada example (or not &#8220;getting&#8221; this) is a good one. It just so happens that I encountered my own today&#8230;</p>
<p>First, two exhibits off Twitter:</p>
<ul>
<li>A &#8211; <a href="http://twitter.com/craigsmusings/statuses/7165576150" target="_blank">I try to help shine a light on a community voice</a></li>
<li>B &#8211; (less than six hours later) <a href="http://twitter.com/EMC_Documentum/statuses/7175639125" target="_blank">subject vendor asks for community input</a></li>
</ul>
<p>Don&#8217;t get me wrong, more vendors need to be reaching out and engaging with their communities in deep and meaningful ways. So, I&#8217;m not suggesting that creating a forum for community discussion is bad. However&#8230;</p>
<p>What if, instead, the forum was seeded (pre-launch) by a reasonable distillation of those who&#8217;ve <a title="Documentum Renewal: Identity Management" href="http://wordofpie.com/2009/12/29/documentum-renewal-identity-management/" target="_blank">already voiced their concerns</a>, like Pie? The Web is there to be culled&#8211;&#8221;listened to&#8221; if you will&#8211;you just need to mine it.</p>
<p>As Duane and his co-authors talk about in <a title="Web 2.0 Architectures: What Entrepreneurs and Information Architects Need to Know" href="http://www.amazon.com/gp/product/0596514433?ie=UTF8&#038;tag=crasmus-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596514433" target="_blank">Web 2.0 Architectures</a>, more and more of us are <em>living declaratively</em>. Certainly this is true when it comes to providing candid feedback and standing behind things we believe in (e.g. vendors we want to succeed&#8230;and those we don&#8217;t).</p>
<p>So, an alternative forum post could have listed <a title="Documentum Renewal: Identity Management" href="http://wordofpie.com/2009/12/29/documentum-renewal-identity-management/" target="_blank">Pie&#8217;s identity management feedback</a> alongside the feedback of others&#8211;fully annotated with community profiles, source links, etc. Of course, those supporting the forum could proactively reach out to folks like Pie to confirm that discovered feedback is appropriate for syndication and could enable contributors to easily follow the conversation moving forward&#8211;ideally in the medium of their choice (e.g. email, feed, etc.).</p>
<p>Update 12/29/2009: Of course, <a title="@piewords" href="http://twitter.com/piewords" target="_blank">Pie</a>, being the strong advocate he is, reached out again and <a href="https://community.emc.com/message/441512#441512" target="_blank">updated the forum post himself</a>. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=BPprPhYYpy8:Vd2zwY05WiE:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=BPprPhYYpy8:Vd2zwY05WiE:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/BPprPhYYpy8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/12/need-for-ria-exemplified/</feedburner:origLink></item>
		<item>
		<title>Submitting VMware Workstation 7 to install</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/UB0I8_YSdko/</link>
		<comments>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 07:43:38 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMware Workstation 7]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1231</guid>
		<description><![CDATA[Roughly a month ago, VMware released a new major version of its Workstation (and Fusion) software (i.e. 7.0 (and 3.0, respectively)). So, it seemed like a good time to upgrade from version 6.5.3. Past protocol suggested the following approach: uninstall old, reboot, and install new. Unfortunately, and unexpectedly, this approach failed to result in an [...]]]></description>
			<content:encoded><![CDATA[<p>Roughly a month ago, <a href="http://www.vmware.com/" target="_blank">VMware</a> released a new major version of its <a href="http://www.vmware.com/products/workstation/" target="_blank">Workstation</a> (and <a href="http://www.vmware.com/products/fusion/" target="_blank">Fusion</a>) software (i.e. 7.0 (and 3.0, respectively)). So, it seemed like a good time to upgrade from version 6.5.3. Past protocol suggested the following approach: uninstall old, reboot, and install new. Unfortunately, and unexpectedly, this approach failed to result in an up-to-date Workstation installation.</p>
<p>Shortly after launching VMware-workstation-full-7.0.0-203739.exe, the installer presented:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-1.png" alt="(Version: )" /></p>
<p>Clicking the <em>Uninstall</em> button resulted in a second cryptic dialog being presented:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-2.png" alt="The MSI '' failed." /></p>
<p>&#8220;The MSI &#8221; failed.&#8221; seems to be a fairly unique phrase, especially when combined with VMware, etc.; so, I Googled to see what others had encountered. Suffice it to say that I found nothing that ultimately solved my installation issue&#8211;although I was able to reclaim over 9 GB of free space by running <a href="http://www.ccleaner.com/" target="_blank">CCleaner</a>, thanks to one post.</p>
<p>So, I <a href="http://pubs.vmware.com/ws7_ace26/ws_user/man_intro.3.10.html" target="_blank">confirmed</a> that my host operating system is supported by VMware Workstation 7.0. I further confirmed that my Windows file system and registry were both clean of VMware-related content&#8211;rebooting after this confirmation. Nada.</p>
<p>Sometimes I&#8217;ve seen installers insist on being the party to uninstall older software. Since I&#8217;d uninstalled VMware Workstation 6.5.3 myself, I tried to reinstall the older software, reboot my host OS, and retry installing VMware Workstation 7.0:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-3.png" alt="6.5.3 install-uninstall" /></p>
<p>In hindsight, I could have seen that this wouldn&#8217;t resolve anything, but I clicked <em>Uninstall</em> as before&#8230;only to end up with the failed mystery MSI dialog once more.</p>
<p>So, I tracked down where VMware Workstation 7 wrote its installation logs: %TEMP%\vmware_*.log. I re-ran the installer to arrive back at the top state above, allowing me to recognize the associated log file and examine its state at the point of presenting the uninstall panel:</p>
<pre class="csharpcode">20091128194313:INFO    CGetMSIStateOperation::Execute: Examining the system for VMware Workstation.msi
20091128194313:INFO    CGetMSIStateOperation::Execute: MSI Data ProductCode: {A3FF5CB2-FB35-4658-8751-9EDE1D65B3AA}, PackageCode: {CDA82EA5-329A-428D-8ED3-9857244767DE}, UpgradeCode: {14F539F3-C4A4-4597-A29D-8C1D753ACC93} , Version: 7.0.0.9911
20091128194313:ERROR** CGetMSIStateOperation::GetSysVersionString: ::MsiGetProductInfo failed to retrieve the version string for {{98D1A713-438C-4A23-8AB6-41B37C4A2D47}} due to error: 1605
20091128194313:INFO    CGetMSIStateOperation::Execute: Installed MSI Data ProductCode: {98D1A713-438C-4A23-8AB6-41B37C4A2D47}, Version:
20091128194313:INFO    CGetMSIStateOperation::Execute: Default MSI Action: upgrade, Details: cross product
20091128194313:INFO    CBootstrapCmd::RunOperation: Operation 'GetMSIState' completed successfully with return code 65539
20091128194313:INFO    upgrade
20091128194313:INFO    cross product
20091128194313:INFO    CGetMSIStateOperation::Execute: Examining the system for
20091128194313:INFO    CGetMSIStateOperation::Execute: MSI Data ProductCode: {233A935E-6132-48B2-840F-37C9D32555D5}, PackageCode: {46F73961-902A-4A20-BB36-5060DC6ACB2C}, UpgradeCode: {2A0F937B-3E75-47D8-9306-14D45CC0F756} , Version: 4.0.0.0
20091128194313:INFO    CGetMSIStateOperation::Execute: Default MSI Action: install, Details:
20091128194313:INFO    CBootstrapCmd::RunOperation: Operation 'GetMSIState' completed successfully with return code 65539
20091128194313:INFO    install
20091128194313:INFO    SaveSetting: Wrote setting 'action', value 'upgrade'
20091128194313:INFO
20091128194313:INFO
20091128194313:INFO    {98D1A713-438C-4A23-8AB6-41B37C4A2D47}
20091128194313:INFO    SaveSetting: Wrote setting '{98D1A713-438C-4A23-8AB6-41B37C4A2D47}', value ';'
20091128194313:INFO    {98D1A713-438C-4A23-8AB6-41B37C4A2D47}</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Right away, I could see that the installer was recognizing an unexpected upgrade state rather than the expected &#8220;fresh&#8221; install state. Fortunately, the log also captured more details behind this divergent recognition: &#8220;failed to retrieve the version string for {{98D1A713-438C-4A23-8AB6-41B37C4A2D47}} due to error: 1605.&#8221; First of all, this log statement is a bit of an oxymoron, since <a href="http://msdn.microsoft.com/en-us/library/aa368542(VS.85).aspx" target="_blank">Windows error code 1605</a> (ERROR_UNKNOWN_PRODUCT) means &#8220;This action is only valid for products that are currently installed.&#8221; That is, if the product isn&#8217;t installed, then shouldn&#8217;t the current installer be &#8220;happy?&#8221; Second, this error led to the sparse dialogs (i.e. &#8221; (Version: )&#8221; and &#8220;The MSI &#8221;failed.&#8221;).</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-4.png" alt="1605 redux" /></p>
<p>Again in hindsight, I could have Googled the suspect GUID to determine its relationship with VMware Workstation 5.5. However, I went back to my Windows Registry to perform additional forensics first. The first RegDB reference I found is associated with Windows&#8217; ARP Cache, which has to do with Windows&#8217; TCP/IP stack (i.e. needs to be left intact). I did find another RegDB key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Folders, with a value named C:\WINDOWS\Installer\{98D1A713-438C-4A23-8AB6-41B37C4A2D47}\, which I removed. Nevertheless, after rebooting, I was still unable to install VMware Workstation 7.0</p>
<p>So, I thought that if my 6.5.3-based hack appeared to have some merit, perhaps a similar, 5.5-based hack could, too. First I had to download the 5.5.9 installer and unearth my version 5.5 license key. With these in hand, I installed VMware Workstation 5.5.9 and then rebooted my host OS as directed.</p>
<p>Following reboot, I re-ran the VMware Workstation 7.0 installer, yet again:</p>
<p align="middle"><img src="http://craigrandall.net/images/vmware-wrkstn-7-install-fail-5.png" alt="5.5.9 install-uninstall" /></p>
<p>This time, after clicking <em>Uninstall</em>, I was eventually presented with the ability to proceed with installing the new software. After choosing to reboot at the end of the installation process and rebooting, I&#8217;m able to run VMware Workstation 7 as I originally expected.</p>
<p>Hopefully this knowledge sharing will help you to avoid the wasted time and energy I experienced. At least that&#8217;s my purpose in posting. Cheers&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UB0I8_YSdko:E2LquanhWr8:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UB0I8_YSdko:E2LquanhWr8:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/UB0I8_YSdko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/11/vmware-wrkstn-7-to-install/</feedburner:origLink></item>
		<item>
		<title>PDF from Confluence</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/GMNCTbKC4dU/</link>
		<comments>http://craigrandall.net/archives/2009/11/pdf-from-confluence/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 22:30:21 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Confluence]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[PDF]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1225</guid>
		<description><![CDATA[Atlassian&#8217;s Confluence software offers a decent collaboration canvas in the form of an enterprise wiki. For example, Confluence can support the practice of &#8220;living and active&#8221; specifications (instead of, for example, obsolete-once-authored-in-Word specs). Often, though, it&#8217;s good to have a more self-contained snapshot in hand (e.g. increase traceability from one review-based state to another, support [...]]]></description>
			<content:encoded><![CDATA[<p>Atlassian&#8217;s <a title="enterprise wiki" href="http://www.atlassian.com/software/confluence/" target="_blank">Confluence</a> software offers a decent collaboration canvas in the form of an enterprise wiki. For example, Confluence can support the practice of &#8220;living and active&#8221; specifications (instead of, for example, obsolete-once-authored-in-Word specs). Often, though, it&#8217;s good to have a more self-contained snapshot in hand (e.g. increase traceability from one review-based state to another, support Customer audits, etc.). Fortunately, Confluence supports export to PDF.</p>
<p>Given its rather prominent display by default in the upper right hand corner of every wiki page, most Confluence users are aware of how to export a single page as a PDF document:</p>
<p align="center"><img src="http://craigrandall.net/images/confluence-export-page-as-pdf.png" alt="Export page as PDF" /></p>
<p>However, Confluence also supports exporting a set of wiki pages (up to an entire wiki space) as a single PDF document; yet, this feature is less well known. Here is the step-by-step process to leverage this feature (e.g. to export a multi-page, wiki-based spec as a single PDF document):</p>
<ol>
<li>Click the browse space link (on any page in the page set of interest):<br /><img src="http://craigrandall.net/images/confluence-1-browse-space.png" alt="Browse Space" /></li>
<li>Click the advanced link:<br /><img src="http://craigrandall.net/images/confluence-2-advanced.png" alt="Advanced" /></li>
<li>Click the export space link:<br /><img src="http://craigrandall.net/images/confluence-3-export-space.png" alt="Export Space" /></li>
<li>Configure your export as follows (recommended):<br /><img src="http://craigrandall.net/images/confluence-4-export-config.png" alt="Configure Export" /></li>
<li>After setting PDF output, including comments, and clearing all selected pages, select the particular pages that make up the page set of interest.</li>
<li>Click the export button at the bottom of this export space page.</li>
</ol>
<p>Happy Thanksgiving!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=GMNCTbKC4dU:e6D0XCLmvPk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GMNCTbKC4dU:e6D0XCLmvPk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GMNCTbKC4dU:e6D0XCLmvPk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GMNCTbKC4dU:e6D0XCLmvPk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GMNCTbKC4dU:e6D0XCLmvPk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GMNCTbKC4dU:e6D0XCLmvPk:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GMNCTbKC4dU:e6D0XCLmvPk:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/GMNCTbKC4dU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/pdf-from-confluence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/11/pdf-from-confluence/</feedburner:origLink></item>
		<item>
		<title>More complete PDC09 downloader-renamer</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/EyvuDQub01Q/</link>
		<comments>http://craigrandall.net/archives/2009/11/more-complete-pdc09-downloader-renamer/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 20:53:32 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[downloader]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC09]]></category>
		<category><![CDATA[renamer]]></category>
		<category><![CDATA[sessions]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1219</guid>
		<description><![CDATA[First of all, I want to thank Mike Swanson (@anyware) for his original work (e.g. for MIX09 and also for PDC09). Good stuff.
That being said, I noticed that there were posted sessions missing&#8211;six altogether&#8211;from the 11/19/2009-dated batch files here; so, I thought I&#8217;d post my &#8220;fix&#8221;:

PDC09DownloaderCSR.zip
PDC09RenamerCSR.zip

It may be worth noting that my rename &#8220;style&#8221; includes [...]]]></description>
			<content:encoded><![CDATA[<p>First of all, I want to thank <a title="Mike's blog" href="http://blogs.msdn.com/mswanson/" target="_blank">Mike Swanson</a> <a title="Mike on Twitter" href="http://twitter.com/anyware" target="_blank">(@anyware</a>) for his original work (e.g. <a href="http://blogs.msdn.com/mswanson/archive/2009/03/26/mix09-keynote-and-session-videos.aspx" target="_blank">for MIX09</a> and also <a href="http://microsoftpdc.com/Videos" target="_blank">for PDC09</a>). Good stuff.</p>
<p>That being said, I noticed that there were posted sessions missing&#8211;six altogether&#8211;from the 11/19/2009-dated batch files here; so, I thought I&#8217;d post my &#8220;fix&#8221;:</p>
<ul>
<li><a title="Craig's revision to the original PDC09Downloader.bat" href="http://craigrandall.net/files/PDC09DownloaderCSR.zip" target="_blank">PDC09DownloaderCSR.zip</a></li>
<li><a title="Craig's revision to the original PDC09Renamer.bat" href="http://craigrandall.net/files/PDC09RenamerCSR.zip" target="_blank">PDC09RenamerCSR.zip</a></li>
</ul>
<p>It may be worth noting that my rename &#8220;style&#8221; includes session codes (e.g. SVC29), making it easier (for me anyway) to distinguish one overall theme from another.</p>
<p>For your convenience, here are copy of the original instructions for PDC09 use:</p>
<blockquote><p>
If you’d like to download all of the keynote and session content, download a recent build of <a title="cURL" href="http://curl.haxx.se/" target="_blank">cURL (~250K)</a>, and extract it to your folder-of-choice. Then, download PDC09Downloader.zip (1.49KB) and extract the PDC09Downloader.bat file to the same folder. From a command prompt, start PDC09Downloader by passing it one of the following parameters: WMVHIGH, WMV, MP4, PPTX. Then wait. For files that aren’t available, cURL will download a file that is around 221 bytes in size (if you change the extension to .htm and open it, you’ll see that the file is simply an HTML &#8220;not found&#8221; error page).</p>
<p>To rename the files, first, download the PDC09 Renamer batch file (4.52KB). Then, extract the PDC09Renamer.bat file to the folder that contains your downloaded files, and from a command prompt, type PDC09Renamer WMV to rename all of the .WMV files to the full session title. By changing the parameter, you can also rename your PPTX and MP4 files.</p></blockquote>
<p>Update at 6pm Pacific: It looks like both of my scripts, above, are live on <a href="http://microsoftpdc.com/Videos" target="_blank">http://microsoftpdc.com/Videos</a>, too.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyvuDQub01Q:XXMJE2rkT6k:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyvuDQub01Q:XXMJE2rkT6k:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyvuDQub01Q:XXMJE2rkT6k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyvuDQub01Q:XXMJE2rkT6k:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyvuDQub01Q:XXMJE2rkT6k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyvuDQub01Q:XXMJE2rkT6k:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyvuDQub01Q:XXMJE2rkT6k:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/EyvuDQub01Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/more-complete-pdc09-downloader-renamer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/11/more-complete-pdc09-downloader-renamer/</feedburner:origLink></item>
		<item>
		<title>Suggestions to improve conference scheduling</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/eSM0QTZiWW0/</link>
		<comments>http://craigrandall.net/archives/2009/11/improve-conf-sched/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 19:33:49 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Lessons]]></category>
		<category><![CDATA[PDC09]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1215</guid>
		<description><![CDATA[So, I finally was able to complete my PDC sessions scheduling. It was a bit more &#8220;involved&#8221; then I expected, and I have a few suggestions for, in this case, Microsoft as they prepare for future conferences:

Enable Outlook (ICS-based) scheduling sooner
Include the online session home page as a link in the ICS file
Default to &#8220;no [...]]]></description>
			<content:encoded><![CDATA[<p>So, I finally was able to complete my <a title="Microsoft Professional Developers Conference" href="http://microsoftpdc.com" target="_blank">PDC</a> sessions scheduling. It was a bit more &#8220;involved&#8221; then I expected, and I have a few suggestions for, in this case, Microsoft as they prepare for future conferences:</p>
<ul>
<li>Enable Outlook (ICS-based) scheduling <em>sooner</em></li>
<li>Include the online session home page as a link in the ICS file</li>
<li>Default to &#8220;no alert&#8221; in ICS files (e.g. <em>avoid creating noise</em> from multiple sessions of interest all vying for my attention on my smart phone)</li>
<li>Add a map link to help guide attendees to where sessions are being held (i.e. nowadays location-aware service is expected, IMHO; so, allow users to opt-in where correlating to present location (device GPS coordinates) is concerned)</li>
<li>Promote session hashtags (e.g. help guide the use of Twitter et al by going beyond just <a href="http://twitter.com/search?q=PDC09" target="_blank">#PDC09</a>)</li>
<li>When you post a location and date/time, and you change it, indicate the change <em>more prominently</em> (e.g. maintain version history)</li>
</ul>
<p>Next year, I&#8217;d love to say something like, &#8220;I&#8217;m a PC. PDC10 scheduling&#8230;was my idea.&#8221; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=eSM0QTZiWW0:S_NBrNelJvM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=eSM0QTZiWW0:S_NBrNelJvM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=eSM0QTZiWW0:S_NBrNelJvM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=eSM0QTZiWW0:S_NBrNelJvM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=eSM0QTZiWW0:S_NBrNelJvM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=eSM0QTZiWW0:S_NBrNelJvM:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=eSM0QTZiWW0:S_NBrNelJvM:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/eSM0QTZiWW0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/improve-conf-sched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/11/improve-conf-sched/</feedburner:origLink></item>
		<item>
		<title>Adobe LiveCycle ES2</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/5Fj68iWweak/</link>
		<comments>http://craigrandall.net/archives/2009/10/adobe-livecycle-es2/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 18:00:46 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Smart clients]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[DevNet]]></category>
		<category><![CDATA[ES2]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[Mosaic]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1193</guid>
		<description><![CDATA[If you&#8217;re at the Adobe MAX conference this week, then you already know: Adobe LiveCycle Enterprise Suite 2 has launched.
And judging by the attendance at the pre-conference session on LiveCycle, there&#8217;s significant interest in building user-centric applications in the enterprise&#8211;exactly what LiveCycle ES2 is designed to unleash!
As you will see on the main LiveCycle site, [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re at the <a title="Connect. Discover. Inspire." href="http://max.adobe.com/" target="_blank">Adobe MAX</a> conference this week, then you already know: <strong><a href="http://www.adobe.com/products/livecycle/">Adobe LiveCycle Enterprise Suite 2 has launched</a></strong>.</p>
<p>And judging by the attendance at the <a title="LiveCycle ES Pre-Conference Session at Adobe MAX" href="http://technoracle.blogspot.com/2009/10/livecycle-es-pre-conference-session-at.html" target="_blank">pre-conference session on LiveCycle</a>, there&#8217;s significant interest in building user-centric applications in the enterprise&#8211;<em>exactly</em> what LiveCycle ES2 is designed to unleash!</p>
<p>As you will see on the main LiveCycle site, ES2 is all about:</p>
<ul>
<li><a href="http://www.adobe.com/products/livecycle/solutions/real_time_data_streaming/" target="_blank">Delivering intuitive user experiences</a></li>
<li><a href="http://www.adobe.com/products/livecycle/solutions/bpm/" target="_blank">Streamlining business processes</a> </li>
<li><a href="http://www.adobe.com/products/livecycle/solutions/customercommunicationmanagement/" target="_blank">Effectively managing communications</a></li>
</ul>
<p>Given my work on <a href="http://craigrandall.net/archives/categories/technology/smart-clients/">smart client</a> architectures, I have to say that I&#8217;m particularly excited about the potential in <a href="http://www.adobe.com/products/livecycle/mosaic/" target="_blank">LiveCycle Mosaic</a>.</p>
<p>Mosaic provides a compelling framework that brings together aspects of business and collaboration to drive richer <em><a href="http://craigrandall.net/archives/2007/05/contextual-pivoting-an-example/">context pivoting</a></em>. The task (goal) at hand is more richly represented at all times, allowing the user to <a title="Pivot...keeping in mind that 'everything is miscellaneous'..." href="http://craigrandall.net/archives/2007/09/everything-is-miscellaneous/">pivot</a> more effectively and efficiently and leading to better outcomes more rapidly.</p>
<p>Mosaic is not merely about aggregation as is portal technology. Rather, Mosaic is about intuitive, contextual composition that puts the focus back on the user&#8217;s task rather than all the supporting systems underneath. Users can access their <em>mosaics</em> either in their browser or on the desktop (via AIR support). Catalogs of mosaic application assets like tiles can be shared to encourage reuse and to simplify future composition.</p>
<p>LiveCycle Mosaic should be a boon for user-centric, <a href="http://craigrandall.net/archives/2009/04/building-content-enabled-apps/">content-enabled applications</a> development.</p>
<p>By the way, if you&#8217;re not at MAX (like me), you can still <a title="Adobe MAX Online" href="http://max.adobe.com/online/" target="_blank">participate online</a>. For example, view the top three sessions from each day at MAX on demand. (Today&#8217;s keynote stream was five-by-five at my desk!) Check out the <a title="AIR application for MAX vibe" href="http://max.adobe.com/companion" target="_blank">MAX Companion</a>, too, while you&#8217;re there. October 11 will see all the MAX content posted online, too!</p>
<p>Cheers! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Update 11/25/2009: Please read the &#8220;<a title="What's New for Adobe LiveCycle ES2" href="http://help.adobe.com/en_US/livecycle/9.0/whatsnew.pdf" target="_blank">what&#8217;s new in ES2</a>&#8221; document. I also recommend that newly revised <a href="http://www.adobe.com/devnet/lifecycle/">LiveCycle Developer Center</a> (aka DevNet site).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=5Fj68iWweak:vFwlkVSlphs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5Fj68iWweak:vFwlkVSlphs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5Fj68iWweak:vFwlkVSlphs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5Fj68iWweak:vFwlkVSlphs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5Fj68iWweak:vFwlkVSlphs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5Fj68iWweak:vFwlkVSlphs:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5Fj68iWweak:vFwlkVSlphs:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/5Fj68iWweak" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/10/adobe-livecycle-es2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/10/adobe-livecycle-es2/</feedburner:origLink></item>
		<item>
		<title>Moving on</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/GViH_fpc-1s/</link>
		<comments>http://craigrandall.net/archives/2009/09/moving-on/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 16:58:22 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[farewell]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1184</guid>
		<description><![CDATA[Tomorrow will be my last day with EMC after developing an 11-year career that began at Documentum.
I will always remember the Documentum of 1998. We were right in the middle of &#8220;Project Piper,&#8221; which released as Documentum 4i. My team was focused on delivering the first version of the Documentum Desktop (aka Desktop Client), the [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow will be my last day with EMC after developing an 11-year career that began at Documentum.</p>
<p>I will always remember the Documentum of 1998. We were right in the middle of &#8220;Project Piper,&#8221; which released as Documentum 4i. My team was focused on delivering the first version of the Documentum Desktop (aka Desktop Client), the successor to Workspace. 4i saw the dawn of our commitment to Java in the middle tier, centered within the first version of DFC also released with 4i. Our first software acquisition (Relevance), also occurred around the same time. Some of my closest friends and colleagues since that time came from Relevance.</p>
<p>At roughly 650 employees when I joined back on 6/1/1998, Documentum had been public for awhile but hadn&#8217;t yet lost the startup ethos. It was the era of Jeff Miller at the helm. Perhaps our CEO&#8217;s most repeated statement was &#8220;we may not always be right, but at least we aren&#8217;t confused.&#8221; Jeff was a strong leader, who knew how to stay connected with employees and cared about people.</p>
<p>Every week featured the roach coach, which meant free breakfast, courtesy of Howard Shao. Eventually Howard became aware that certain engineers had decided to use the roach coach for their entire daily allowance of food; so, free breakfast became free espresso beverage and the need to rush to the food line to vy for that certain scone became moot.</p>
<p>There were food drives that literally involved flatbed trucks, palettes, and wiping out the local food stores of rices, flour, beans and other food stuffs that weighed a lot. You see, engineering was on a mission to keep Howard (one of our co-founders along with John Newton) at the top of the annual executive/department contests to provide the most food for area shelters. And trust me, we were all very motivated as some of the contests meant that those executives who didn&#8217;t &#8220;win&#8221; had to sing to everyone else at the Christmas party. You brought your significant other to these parties. You dressed up for these parties. You didn&#8217;t want Howard to sing at these parties. (Who let the dogs out?)</p>
<p>No long after 4i, it was clear that applications were moving to the web. Web Development Kit (WDK) was born to usher in the shift from client-server to web-based applications. Initially targeting application servers and browsers, WDK matured to become the basis for portal servers and integrations, as well as integrations into prevailing authoring environments. Application Connectors development during D5.x was all about changing the conversation with providers of content authoring environments.</p>
<p>Prior to D5.x, Documentum moved from its offices on Gibraltar into its current digs in Koll Center. While the new offices were much nicer, they never had the same feel as building 3. <em>Never underestimate the value of good building layout, particularly how it can encourage or impact collaboration.</em> There was an (unsuccessful) effort to erect a basketball court and/or a sand volleyball court. (We got a fountain and courtyard instead.)</p>
<p>Soon Documentum celebrated its 10th anniversary as a public company. Prior to that, Documentum stock saw a high (factoring in splits, etc.) of $120. I recall rebuking colleagues that sold at 40, 50 and 60. Clearly, they were the smart ones as the bubble burst and eventually the stock dipped below $12. However the company was growing both organically and by acquisition, and it largely led the charge to define and redefine what ECM meant. (Arguably there is still much activity and debate about how ECM should be defined to this day.)</p>
<p>It was the era of the rockstar. It was an era that I wish hadn&#8217;t occurred. Give me a rockstar company, not a company of rockstars, any day! (You can keep your Dirk de Wow campaign; thanks.)</p>
<p>Documentum had grown to 1150 employees and had grown accustomed to being the acquirer, most notably acquiring eRoom. Then EMC acquired Documentum.</p>
<p>Personally this meant working in violation to one of my career principles: always work at headquarters to have the best sense of business&#8217;s pulse and buzz.</p>
<p>However, I came to appreciate the broader EMC culture and its remarkable technology portfolio. Since Documentum&#8217;s acquisition, EMC has continued to develop a culture and a model of acquisition and integration that is the rightful envy of industry. Great people.</p>
<p>Perhaps the area most noticeable to me involves social media and collaboration both internal and external with the wider community. If it&#8217;s a secret how well EMC &#8220;gets&#8221; this stuff, <em>it won&#8217;t be for much longer</em>.</p>
<p>I had the benefit of a 5-year sabbatical from Documentum prior to EMC&#8217;s acquisition. During this great refreshment, I decided to delve into the emerging world of feeds, blogs, etc. Looking back on the beginning of this blog, I laugh aloud. I must have bored very few people. But I developed my voice and I began to migrate from tacit to tangible, establishing a concrete online reputation.</p>
<p>The vast majority of my experience online has been incredibly positive. Being able to interact with you my reader, to more personally support my partners and customers, to stay connected with colleagues, etc. has benefited me every bit it may have benefited you. I&#8217;m a far richer person for engaging.</p>
<p><em><a href="http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/">Community</a></em> is the thing I most cherish about how Documentum Foundation Services (<a href="http://craigrandall.net/archives/tag/dfs/">DFS</a>), <a href="http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/">Documentum RESTful Services</a>, and Documentum Interoperability Services (aka platform <a href="http://craigrandall.net/archives/tag/cmis/">CMIS</a> support) have taken shape. Integration and composition have never been more relevant to today&#8217;s software solutions, and these technologies are well-positioned to deliver significant business value. You&#8217;ve partnered with the team through early access programs, and the software is better for it. Service-oriented development and support is in good hands as I depart, and I&#8217;m very optimistic about the team and these offerings.</p>
<p>So, why then am I leaving EMC?</p>
<p>Simply put, I&#8217;m due for a change. I never thought I&#8217;d be at one company for as long as I&#8217;ve been with EMC. EMC is, indeed, a good company with great people. However, a unique opportunity has found me, and I&#8217;m compelled to pursue it.</p>
<p>This post will probably be &#8220;it&#8221; for awhile from me, as I&#8217;ll be heads down, ramping up on my role and responsibilities. Once I&#8217;m settled in my new gig, though, you&#8217;ll know.</p>
<p>Thanks again for engaging with me, sharing your ideas, asking questions, providing constructive criticism, etc.</p>
<p>Until next time&#8230;<br />
-Craig<br />
&nbsp;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=GViH_fpc-1s:fDAGL41HmAI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GViH_fpc-1s:fDAGL41HmAI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GViH_fpc-1s:fDAGL41HmAI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GViH_fpc-1s:fDAGL41HmAI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GViH_fpc-1s:fDAGL41HmAI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GViH_fpc-1s:fDAGL41HmAI:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GViH_fpc-1s:fDAGL41HmAI:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/GViH_fpc-1s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/09/moving-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/09/moving-on/</feedburner:origLink></item>
		<item>
		<title>Hotmail…DAV no more</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/3Z6qkUQjggY/</link>
		<comments>http://craigrandall.net/archives/2009/09/hotmail-dav-no-more/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 04:53:26 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[DAV]]></category>
		<category><![CDATA[Hotmail]]></category>
		<category><![CDATA[MAPI]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Outlook Connector]]></category>
		<category><![CDATA[POP]]></category>
		<category><![CDATA[public service]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[WebDAV]]></category>
		<category><![CDATA[Windows Live Mail]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1173</guid>
		<description><![CDATA[This is a public service announcement concerning Hotmail (aka Windows Live Mail) access from Microsoft Outlook. If you recall your Hotmail account working just fine from within Outlook not too long ago, but you&#8217;re running into the following error (e.g. after hitting F9), this post may be helpful:
Task '********@hotmail.com: Folder:Inbox Synchronizing headers.' reported error (0x800CCC33): [...]]]></description>
			<content:encoded><![CDATA[<p>This is a public service announcement concerning Hotmail (aka Windows Live Mail) access from Microsoft Outlook. If you recall your Hotmail account working just fine from within Outlook not too long ago, but you&#8217;re running into the following error (e.g. after hitting F9), this post may be helpful:</p>
<p><code>Task '********@hotmail.com: Folder:Inbox Synchronizing headers.' reported error (0x800CCC33): 'Access to the account was denied. Verify that your username and password are correct. The server responded 'Forbidden'.'</code></p>
<p>If you&#8217;re like me, you almost immediately launched your browser, navigated to Hotmail and entered your Live ID. Web access. No problemo. Outlook. Nada. Hmmm&#8230;</p>
<p>Then you may have copied the unique essence from the above error message as <a href="http://www.google.com/search?q=%22reported+error+%280x800CCC33%29%3A+%27Access+to+the+account+was+denied.+Verify+that+your+username+and+password+are+correct.+The+server+responded+%27Forbidden%27.%27%22&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:en-US:official&#038;client=firefox-a" target="_blank">input to your favorite search engine</a>. I did, and it produced <a href="http://windowslivehelp.com/community/p/108226/414202.aspx#4142" target="_blank">the key to resolution</a>.</p>
<p>Bottom line: As of 9/1/2009 <a href="http://windowslivehelp.com/solutions/dav/archive/2009/05/04/accessing-hotmail-on-outlook-outlook-express-or-entourage.aspx" target="_blank">Hotmail no longer supports DAV</a> (aka WebDAV) based access&#8211;what Outlook categorizes as HTTP for Hotmail.</p>
<p>So, if you launch, for example, Outlook 2007 and choose Tools | Account Settings&#8230;, if you see HTTP for Hotmail as follows then you need to change your Hotmail account settings (click the image to enlarge it):</p>
<p align="middle"><a title="Hotmail account set for DAV-based access (click to enlarge)" href="http://craigrandall.net/images/hotmail-dav.jpg" target="_blank"><img src="http://craigrandall.net/images/hotmail-dav-sm.jpg" alt="Hotmail account set for DAV-based access" /></a></p>
<p>So, the key is to <strong>discontinue attempted access via DAV</strong>. To open the door with that key, you have to remove your obsolete Hotmail account in order to <a href="http://windowslivehelp.com/solutions/settings/archive/2009/01/06/send-and-receive-windows-live-hotmail-emails-from-a-mail-client.aspx" target="_blank">create a new, viable (i.e. POP3-based) Hotmail account</a>.</p>
<p>I&#8217;m a visual guy; so, while <a href="https://windowslivehelp.com/solutions/settings/archive/2009/02/16/how-to-add-your-e-mail-account-to-microsoft-outlook.aspx" target="_blank">this article was helpful</a>, it took me more than one pass at the new account settings to get everything working properly. Just in case, you&#8217;re visual, too, here is what it took as a collage (click the image to enlarge it):</p>
<p align="middle"><a title="Hotmail account set for POP3-based access (click to enlarge)" href="http://craigrandall.net/images/hotmail-pop.jpg" target="_blank"><img src="http://craigrandall.net/images/hotmail-pop-sm.jpg" alt="Hotmail account set for POP3-based access" /></a></p>
<p>A few additional notes in closing:</p>
<ul>
<li>Be aware that Outlook will recognize &#8230;@hotmail.com and set the wrong account type (i.e. to HTTP, not POP3). You must change that automatic action manually.</li>
<li>It appears that installing <a href="http://office.microsoft.com/en-us/help/HA102225181033.aspx" target="_blank">Microsoft Office Outlook Connector</a> is another way to avoid DAV issues. On a shared PC, one user account had this software installed prior to 9/1/2009 and another did not. The account with Connector experienced uninterrupted Hotmail access, while the other suffered the aforementioned access break. To be clear, Microsoft Office Outlook Connector provides more than just a software layer above the account settings screen, and Microsoft recommends its adoption by Outlook 2003/2007 users.</li>
<li>More interesting to me is Microsoft&#8217;s brief statement about why DAV access is no longer supported: &#8220;<a href="http://windowslivehelp.com/solutions/dav/archive/2009/05/04/accessing-hotmail-on-outlook-outlook-express-or-entourage.aspx" target="_blank">&#8230;the DAV protocol is not optimally suited for programs to access large inboxes&#8230;</a>&#8220;</li>
</ul>
<p>Update 9/9/2009: To repeat, the recommended path forward per Microsoft is the <strong><a href="http://office.microsoft.com/en-us/help/HA102225181033.aspx" target="_blank">Microsoft Office Outlook Connector</a></strong>. Taking the POP3-based approach above on deals with Inbox email. Connector allows syncing of all folders, calendar and contacts, making Web login or Outlook login result in the same experience content-wise. In the end, when you look at the dialog presented via Tools | Account Settings&#8230;, you want to see a Type value of <em>MAPI</em> associated with your Windows Live Mail account (i.e. not POP/SMTP or HTTP).</p>
<p>Kudos to my brother-in-law, a PM on Windows Live Mail, for his emphasis toward Connector.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=3Z6qkUQjggY:n4tgRNL3Bag:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=3Z6qkUQjggY:n4tgRNL3Bag:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=3Z6qkUQjggY:n4tgRNL3Bag:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=3Z6qkUQjggY:n4tgRNL3Bag:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=3Z6qkUQjggY:n4tgRNL3Bag:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=3Z6qkUQjggY:n4tgRNL3Bag:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=3Z6qkUQjggY:n4tgRNL3Bag:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/3Z6qkUQjggY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/09/hotmail-dav-no-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/09/hotmail-dav-no-more/</feedburner:origLink></item>
		<item>
		<title>In Pursuit of Elegance</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/T5ZLh7orRyI/</link>
		<comments>http://craigrandall.net/archives/2009/07/in-pursuit-of-elegance/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 14:30:05 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Non-fiction]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[elegance]]></category>
		<category><![CDATA[empathy]]></category>
		<category><![CDATA[kaizen]]></category>
		<category><![CDATA[muda]]></category>
		<category><![CDATA[mura]]></category>
		<category><![CDATA[muri]]></category>
		<category><![CDATA[Taiichi Ohno]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1156</guid>
		<description><![CDATA[Last month I read In Pursuit of Elegance: Why the Best Ideas Have Something Missing and am finally posting my thoughts on this book by Matthew May.
First of all, it&#8217;s a well-written book that applies its message to itself.
I&#8217;m glad that I found it after my previous read, since it covers similar ground in places [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I read <a href="http://www.amazon.com/gp/product/B00296SVTA?ie=UTF8&#038;tag=crasmus-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=B00296SVTA">In Pursuit of Elegance: Why the Best Ideas Have Something Missing</a><img src="http://www.assoc-amazon.com/e/ir?t=crasmus-20&#038;l=as2&#038;o=1&#038;a=B00296SVTA" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> and am finally posting my thoughts on <a title="In Pursuit of Elegance" href="http://inpursuitofelegance.com/" target="_blank">this book</a> by <a title="Follow author on Twitter" href="http://twitter.com/matthewemay" target="_blank">Matthew May</a>.</p>
<p>First of all, it&#8217;s a well-written book that applies its message to itself.</p>
<p>I&#8217;m glad that I found it after <a title="Subject To Change: Creating Great Products &#038; Services for an Uncertain World" href="http://craigrandall.net/archives/2009/06/subject-to-change/">my previous read</a>, since it covers similar ground in places as does <a title="Subject To Change: Creating Great Products &#038; Services for an Uncertain World" href="http://craigrandall.net/archives/2009/06/subject-to-change/">Subject To Change</a> but ends up exploring different vistas, too. As a matter of fact, I can relate the contents of this book to several previous reads, and <em>In Pursuit of Elegance</em> has refined my thinking drawn from past reading through deeper correlation and, well, <em>elegance</em>.</p>
<p>&#8220;To find elegance, you must appreciate, embrace, and then travel beyond complexity.&#8221; The pursuit of elegance is more like chess than checkers. Elegance is &#8220;far side,&#8221; not &#8220;near side,&#8221; simplicity; it is at once symmetrical, seductive, subtractive and sustainable.</p>
<p>Concerning this book&#8217;s refining effect, take the somewhat popular subject of <em>kaizen</em>&#8211;a principle and a practice of &#8220;change for the better.&#8221; A student of kaizen creates a standard, follows it, and finds a better way. A student of kaizen understands that there are two types of work: value-adding and non-value-adding. In the pursuit of value-adding work, one must be wary of <em>muri</em> (overload), <em>mura</em> (inconsistency), and <em>muda</em> (waste).</p>
<p>Up to this point, I <a href="http://craigrandall.net/archives/2007/04/software-factories-and-automobile-assembly-lines/#comment-12997">focused</a> more on muda (waste) as a concern, drawing from lessons learned in <em>The Machine That Changed the World</em> while <a title="Software factories and automobile assembly lines" href="http://craigrandall.net/archives/2007/04/software-factories-and-automobile-assembly-lines/">contemplating software factories</a>. However, May writes: &#8220;Muda is the easiest to target because it is generally more visible. But muri and mura are often the more evil of the sins, as they can be the actual cause of all muda.&#8221; Yes, of course!</p>
<p>Taiichi Ohno, Toyota engineering pioneer and the man behind kaizen, taught his colleagues that new thoughts and better ideas do not come out of the blue, they come from a true understanding of the process. [Aside: Developing and applying <em>empathy</em> is an important theme in <a title="Subject To Change: Creating Great Products &#038; Services for an Uncertain World" href="http://craigrandall.net/archives/2009/06/subject-to-change/">Subject To Change</a>.] Writes May: &#8220;By requiring keen observation before action, by demanding that one look beyond the obvious surface symptoms to better see the deeper causes, by never giving answers and only asking questions, Ohno taught people to stop and think.&#8221;</p>
<p>Make decisions that are based on observation, not assumption (or necessarily inference alone). Therefore, actively form your mental model through firsthand observation (empathy) to ask &#8220;What is possible?;&#8221; don&#8217;t passively succumb to the &#8220;<a href="http://www.systems-thinking.org/loi/loi.htm" target="_blank">ladder of inference</a>&#8221; and prematurely ask &#8220;What should be done?&#8221;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=T5ZLh7orRyI:z2qpJkQc_04:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=T5ZLh7orRyI:z2qpJkQc_04:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=T5ZLh7orRyI:z2qpJkQc_04:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=T5ZLh7orRyI:z2qpJkQc_04:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=T5ZLh7orRyI:z2qpJkQc_04:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=T5ZLh7orRyI:z2qpJkQc_04:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=T5ZLh7orRyI:z2qpJkQc_04:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/T5ZLh7orRyI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/07/in-pursuit-of-elegance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/07/in-pursuit-of-elegance/</feedburner:origLink></item>
		<item>
		<title>Silverlight 3</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/k7GgIzGx7fA/</link>
		<comments>http://craigrandall.net/archives/2009/07/silverlight-3/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 18:00:21 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Smart clients]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Expression]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SketchFlow]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1145</guid>
		<description><![CDATA[Today Silverlight 3 officially launched; so, I decided to cut-over to v3 from v2. Here&#8217;s what worked for me:

Ensure that all browsers are closed before proceeding.
Open the Control Panel to begin uninstalling older Silverlight 2-related software.
Select &#8220;Microsoft Silverlight Tools for Visual Studio 2008 SP1 &#8211; ENU&#8221; and uninstall the older IDE integration.
Select &#8220;Microsoft Silverlight 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Today Silverlight 3 officially <a title="See the Light" href="http://vepexp.microsoft.com/seethelight" target="_blank">launched</a>; so, I decided to cut-over to v3 from v2. Here&#8217;s what worked for me:</p>
<ol>
<li>Ensure that all browsers are closed before proceeding.</li>
<li>Open the Control Panel to begin uninstalling older Silverlight 2-related software.</li>
<li>Select &#8220;Microsoft Silverlight Tools for Visual Studio 2008 SP1 &#8211; ENU&#8221; and uninstall <a title="Microsoft® Silverlight™ 2 Tools for Visual Studio 2008 SP1" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&#038;displaylang=en" target="_blank">the older IDE integration</a>.</li>
<li>Select &#8220;Microsoft Silverlight 2 SDK&#8221; and uninstall the older SDK, which, in my case, was installed via the IDE integration installer.</li>
<li>Select &#8220;Microsoft Silverlight&#8221; and uninstall the older runtime. In my case, I was running Silverlight 2 GDR 1 (2.0.40115.0). You can determine your current version, if need be, <a title="Getting Started - Install Silverlight" href="http://www.microsoft.com/silverlight/get-started/install/default.aspx" target="_blank">here</a>.</li>
<li>Since I didn&#8217;t have an older version of Expression Blend on my machine, I could proceed. If you have an older version (release of beta), you should remove it, first, then continue on here. <strong>Before you install</strong> please know that once you do, your machine now becomes a Silverlight 3 development machine. <em>You cannot down-level target to Silverlight 2</em>.</li>
<li>Install <a title="Install Silverlight" href="http://www.microsoft.com/silverlight/resources/install.aspx" target="_blank">Silverlight 3 RTW (3.0.40624.0)</a>.</li>
<li>Install <a title="Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1" href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&#038;displaylang=en" target="_blank">Microsoft Silverlight 3 Tools for Visual Studio 2008 SP1</a>, which includes the Silverlight 3 SDK.</li>
<li>Install the <em>Release Candidate</em> of <a title="Microsoft Expression Blend 3 + SketchFlow RC" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&#038;FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609" target="_blank">Microsoft Expression Blend 3 + SketchFlow</a>. (I was hoping for the final release of Blend today, but I&#8217;ll settle for this (60-day trial) RC (version 3.0.1921.0).)</li>
<li>Upgrade your Silverlight 2 solutions to Silverlight 3 solutions via the upgrade wizard. Etc. Etc.</li>
</ol>
<p>Since the web is already flooded with plenty of additional commentary and sample applications, I&#8217;ll stop here and keep it practical for now. However, I&#8217;m excited about this new release and have some ideas to pursue in Silverlight 3. Stay tuned&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>P.S. You may also want to download the <a title="Extract .chm from .zip download" href="http://go.microsoft.com/fwlink/?LinkId=144350" target="_blank">HTML Help documentation for Silverlight 3</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=k7GgIzGx7fA:3phhWMtG0qI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=k7GgIzGx7fA:3phhWMtG0qI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=k7GgIzGx7fA:3phhWMtG0qI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=k7GgIzGx7fA:3phhWMtG0qI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=k7GgIzGx7fA:3phhWMtG0qI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=k7GgIzGx7fA:3phhWMtG0qI:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=k7GgIzGx7fA:3phhWMtG0qI:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/k7GgIzGx7fA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/07/silverlight-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/07/silverlight-3/</feedburner:origLink></item>
		<item>
		<title>Documentum RESTful Services EAP</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/FOCC2nsIlqE/</link>
		<comments>http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:01:00 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Documentum RESTful Services]]></category>
		<category><![CDATA[EAP]]></category>
		<category><![CDATA[EDN]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[resources]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[ROA]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1132</guid>
		<description><![CDATA[
Today I&#8217;m pleased to announce a new Early Access Program (EAP) for a new RESTful HTTP-based interface to the EMC Documentum ECM Platform called Documentum RESTful Services. The engineering team has been hard at work on this and is looking forward to sharing the first early access release (EA1) with you via a community site [...]]]></description>
			<content:encoded><![CDATA[<p align="middle"><img src="http://craigrandall.net/images/restahead.jpg" alt="Rest Area" /></p>
<p>Today I&#8217;m pleased to announce a new Early Access Program (EAP) for a new RESTful HTTP-based interface to the EMC Documentum ECM Platform called Documentum RESTful Services. The engineering team has been hard at work on this and is looking forward to sharing the first early access release (EA1) with you via a community site on the EMC Community Network.</p>
<p>Please go <a title="ECN | Labs | Documentum RESTful Services" href="https://community.emc.com/community/labs/dctm_rest">here</a> to see what <strong>Documentum RESTful Services</strong> is about and to apply for the EAP.</p>
<p>We&#8217;re looking forward to working closely with you during this EAP. Cheers! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=FOCC2nsIlqE:bCvZ3GX0Th0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=FOCC2nsIlqE:bCvZ3GX0Th0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=FOCC2nsIlqE:bCvZ3GX0Th0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=FOCC2nsIlqE:bCvZ3GX0Th0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=FOCC2nsIlqE:bCvZ3GX0Th0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=FOCC2nsIlqE:bCvZ3GX0Th0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=FOCC2nsIlqE:bCvZ3GX0Th0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/FOCC2nsIlqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/</feedburner:origLink></item>
		<item>
		<title>Automated post signature in WordPress</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/AHHYVSASGYk/</link>
		<comments>http://craigrandall.net/archives/2009/06/auto-post-sig/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 18:21:32 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Site]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[DDAddSig]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[signature]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1122</guid>
		<description><![CDATA[Recently I noticed that my colleague, Steve Todd, has adopted a consistent signature to his blog posts. This seems like a good idea, especially as one who&#8217;s been &#8220;syndicated&#8221; elsewhere without my approval.
While he&#8217;s a TypePad guy, I favor WordPress. Fortunately, WordPress has rich plugin ecosystem, and there are already plugins that support automated signatures.
Although [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I noticed that my colleague, <a title="Information Playground" href="http://stevetodd.typepad.com/my_weblog/" target="_blank">Steve Todd</a>, has adopted a consistent signature to his blog posts. This seems like a good idea, especially as one who&#8217;s been &#8220;syndicated&#8221; elsewhere without my approval.</p>
<p>While he&#8217;s a TypePad guy, I favor <a href="http://wordpress.org" target="_blank">WordPress</a>. Fortunately, WordPress has rich plugin ecosystem, and there are already plugins that support automated signatures.</p>
<p>Although not yet listed in the <a title="WordPress plugins tagged with 'signature'" href="http://wordpress.org/extend/plugins/tags/signature" target="_blank">codex</a>, I adopted <a title="Dagon Design's Add Signature Plugin for WordPress" href="http://www.dagondesign.com/articles/add-signature-plugin-for-wordpress/" target="_blank">DDAddSig</a> for my needs.</p>
<p>Once I activated the plugin, I simply went to my WordPress dashboard Settings | DDAddSig panel, edited my Primary Signature and checked the Usage box &#8220;Display on posts.&#8221; Voilà! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=AHHYVSASGYk:0RTvoCw9_Lg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=AHHYVSASGYk:0RTvoCw9_Lg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=AHHYVSASGYk:0RTvoCw9_Lg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=AHHYVSASGYk:0RTvoCw9_Lg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=AHHYVSASGYk:0RTvoCw9_Lg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=AHHYVSASGYk:0RTvoCw9_Lg:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=AHHYVSASGYk:0RTvoCw9_Lg:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/AHHYVSASGYk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/06/auto-post-sig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/06/auto-post-sig/</feedburner:origLink></item>
		<item>
		<title>Subject To Change</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/MAGm7n8-HcY/</link>
		<comments>http://craigrandall.net/archives/2009/06/subject-to-change/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:11:57 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Non-fiction]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[experience design]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1097</guid>
		<description><![CDATA[I recently finished reading Subject To Change: Creating Great Products &#038; Services for an Uncertain World, and I can recommend this book to anyone who wants, for example, to build software that resonates with its users.
Here are a list of thoughts and quotes this read produced:

Empathy is an understanding of a person or group&#8217;s subjective [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finished reading <a href="http://www.amazon.com/gp/product/0596516835?ie=UTF8&#038;tag=crasmus-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596516835">Subject To Change: Creating Great Products &#038; Services for an Uncertain World</a><img src="http://www.assoc-amazon.com/e/ir?t=crasmus-20&#038;l=as2&#038;o=1&#038;a=0596516835" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, and I can recommend this book to anyone who wants, for example, to build software that resonates with its users.</p>
<p>Here are a list of thoughts and quotes this read produced:</p>
<ul>
<li>Empathy is an understanding of a person or group&#8217;s subjective experience by sharing that experience vicariously that can be developed and cultivated through practice (i.e. it&#8217;s not innate). Using your sense of empathy can help you focus on the experience you want to deliver in a manner that is effective for those who will engage with it. Don&#8217;t confuse customer briefings with developing customer-focused empathy; there&#8217;s more to it!</li>
<li>Experience accounts for motivations, expectations, perceptions, abilities, flow, and culture.</li>
<li>Parity isn&#8217;t a strategy; neither is being the best.</li>
<li>Don&#8217;t craft the story of a product in isolation form the actual creation of that product.</li>
<li>Human life is complex&#8211;embrace this reality; don&#8217;t ignore it. Capture complexity with qualitative research (e.g. conduct interviews to elicit stories about experiences). Differentiate process (i.e. the how and why) from outcomes (i.e. the what, where, and when).</li>
<li>Sometimes experience strategy isn&#8217;t about hiding complexity as much as it&#8217;s about managing it (e.g. distribute complexity across a system so as not to overwhelm at any particular point). That is, the overall experience should never become too complex. There needs to be coordination among the experiences touch points, allowing each to fully exhibit its strengths.</li>
<li>&#8220;You have to recognize that a system will degrade, and make it such that such entropy doesn&#8217;t shatter the entire experience. The true success of experience design isn&#8217;t how well it works when everything is operating as planned, but how well it works when things start going wrong.&#8221; For example, provide meaningful seams into which people can insert themselves (i.e. leave an impression).</li>
<li>Great experience is difficult to plan for, and almost impossible to specify.</li>
<li>Good experiences require systematic coordination with the customer in mind (i.e. a focus on <em>qualitative</em> customer insights).</li>
<li>&#8220;Design is a way of approaching problem solving, decision making, and strategy planning that can yield better outcomes.&#8221;</li>
<li>&#8220;[Design-centric organizations] peer into the needs and desires of their customers, identify patterns of behavior, refine ideas that tap into those behaviors, then push into the unknown&#8211;or at least the uncertain.&#8221; -<a title="Tough Love" href="http://www.fastcompany.com/node/57947/print" target="_blank">Roger Martin</a></li>
<li>&#8220;You can&#8217;t build a design competency overnight; it requires difficult changes in process, skills, and perhaps most importantly, culture.&#8221;</li>
<li>In my development organization we deploy a risk-driven iterative development process, with phases we call inception, elaboration, construction and transition. I&#8217;d liked the book&#8217;s description of &#8220;the fuzzy front end,&#8221; which I would liken to inception (e.g. &#8220;anticipation exceeds insight&#8221;).</li>
<li>&#8220;Good ideas need to fail early and often so you can arrive sooner at a great one.&#8221; Process won&#8217;t turn mundane ideas into stars&#8211;nor will great effort (strong execution). Therefore, avoid premature execution of an idea. For example, presuppose multiple solutions and suggest alternatives based on partial data. Define constraints that drive great solutions (e.g. think like a newbie, leverage empathy (that you&#8217;re developing, right? <img src='http://craigrandall.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</li>
<li>&#8220;Strategy should bring clarity to an organization; it should be a signpost for showing people where you, as their leader, are taking them&#8211;and what they need to do to get there&#8230;. People need to have a visceral understanding&#8211;an image in their minds&#8211;of why you&#8217;ve chosen a certain strategy and what you&#8217;re attempting to create with it&#8230;. Because it&#8217;s pictorial, design describes the world in a way that&#8217;s not open to many interpretations.&#8221; -<a title="Strategy by Design" href="http://www.fastcompany.com/node/52795/print" target="_blank">Tim Brown</a></li>
</ul>
<p>On Monday, I noted 11 years with EMC (via its acquisition of Documentum). I can certainly say that &#8220;change happens&#8221; in the content management space and my own career.</p>
<p>My first engineering responsibilities were centered around the Documentum Desktop (aka Desktop Client) offering&#8211;client/server architecture implemented as a mixture of C++ and VB. Then I was called on to drive the first major release of WDK, a web-based application implemented in Java, JSP, HTML and XML. Next stop: creating an integration bridge between Documentum and authoring environments like Office, Adobe and XML editors (i.e. Application Connectors), which was specified as an N-tier architecture implemented as a mixture of C# (on the desktop) and Java (on the middle tier. Currently I&#8217;m focused on providing a rich set of services (i.e. local Java APIs, WSDL-based web services and RESTful web services) that drive a diverse set of applications, each with its own presentation layer technology decisions (e.g. Flash/Flex, ExtJS/DWR, etc.).</p>
<p>And &#8220;tomorrow&#8221; this will all be <em>subject to change</em> once again&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=MAGm7n8-HcY:Wjr59PkB4jo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=MAGm7n8-HcY:Wjr59PkB4jo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=MAGm7n8-HcY:Wjr59PkB4jo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=MAGm7n8-HcY:Wjr59PkB4jo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=MAGm7n8-HcY:Wjr59PkB4jo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=MAGm7n8-HcY:Wjr59PkB4jo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=MAGm7n8-HcY:Wjr59PkB4jo:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/MAGm7n8-HcY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/06/subject-to-change/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/06/subject-to-change/</feedburner:origLink></item>
		<item>
		<title>Inoculating a Reply All plague</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/5IN5ttMJspI/</link>
		<comments>http://craigrandall.net/archives/2009/06/reply-all/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 18:29:51 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Reply All]]></category>
		<category><![CDATA[rule]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1087</guid>
		<description><![CDATA[The &#8220;Reply All&#8221; feature of most email programs like Outlook is a convenience ripe for abuse. Unfortunately such abuse seems to occur about once a quarter or so where I work. Folks add an alias to their message (To or Cc) that ends up involving a multitude of folks who could care less about the [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Reply All&#8221; feature of most email programs like Outlook is a convenience ripe for abuse. Unfortunately such abuse seems to occur about once a quarter or so where I work. Folks add an alias to their message (To or Cc) that ends up involving a multitude of folks who could care less about the message just received.</p>
<p>So, unfortunately (!), what many folks do in reply is <em>Reply All, yet again</em>. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>When you Reply All to a Reply All asking not to Reply All, you defeat your purpose. Instead, <strong>be surgical and just educate the offenders</strong>. That is, be sure to remove all aliases from your reply&#8211;if you really feel the need to reply in the first place&#8211;and communicate solely with individuals on the To line of the diseased message.</p>
<p>Surely there is a way in Outlook to establish a rule as follows:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;Apply this rule after the message arrives<br />
&nbsp;&nbsp;&nbsp;&nbsp;with <u>INOCULATION_KEYWORD(S)_HERE</u> in the subject<br />
&nbsp;&nbsp;&nbsp;&nbsp;reply using <u>INOCULATION_EMAIL_TEMPLATE_HERE</u><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and move it to the <u>Deleted Items</u> folder</p>
<p>If you really feel compelled to Reply All, then at least do others the favor of changing the Reply-To address in your message to something less hideous (e.g. (in Outlook) Options | Direct Replies To | Have replies sent to: no-reply@&#8230;).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=5IN5ttMJspI:Ehy_3X-Iim0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5IN5ttMJspI:Ehy_3X-Iim0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5IN5ttMJspI:Ehy_3X-Iim0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5IN5ttMJspI:Ehy_3X-Iim0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5IN5ttMJspI:Ehy_3X-Iim0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=5IN5ttMJspI:Ehy_3X-Iim0:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=5IN5ttMJspI:Ehy_3X-Iim0:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/5IN5ttMJspI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/06/reply-all/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/06/reply-all/</feedburner:origLink></item>
		<item>
		<title>EMC Documentum Developer Edition</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/F4MkJ3jAcqw/</link>
		<comments>http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/#comments</comments>
		<pubDate>Thu, 14 May 2009 17:03:43 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[Content Server]]></category>
		<category><![CDATA[content-enabled applications]]></category>
		<category><![CDATA[content-enabled apps]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[Documentum Developer Edition]]></category>
		<category><![CDATA[EMC]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1071</guid>
		<description><![CDATA[Today we launched a new EMC Documentum developer-oriented community within the EMC Community Network. Front and center is the new developer edition of the EMC Documentum ECM Platform.
So, what does this developer edition include? We believe it includes a lot of goodness for the development of content-enabled applications.

First of all, free software for developers
A new [...]]]></description>
			<content:encoded><![CDATA[<p>Today we launched a new <a title="EMC Documentum Developer Community" href="https://community.emc.com/community/edn/documentum" target="_blank">EMC Documentum developer-oriented community</a> within the <a href="https://community.emc.com/index.jspa" target="_blank">EMC Community Network</a>. Front and center is the new developer edition of the EMC Documentum ECM Platform.</p>
<p>So, what does this developer edition include? We believe it includes a lot of goodness for the development of <a title="Building content-enabled applications" href="http://craigrandall.net/archives/2009/04/building-content-enabled-apps/">content-enabled applications</a>.</p>
<ul>
<li>First of all, <em>free</em> software for developers</li>
<li>A new one-click installation process for the core of the EMC Documentum ECM Platform</li>
<li>xDB and new XML components &#8211; please visit the just-launched <a href="https://community.emc.com/community/edn/xmltech" target="_blank">XML Technology Developer Community</a> for more details about our native XML database and other technologies</li>
<li>Integration between the resulting development environment and <a href="https://community.emc.com/community/edn/documentum" target="_blank">online community</a> resources and support mechanisms &#8211; think of this as a starting point and means to the ends <em>you want to pursue</em>, not an end in itself</li>
</ul>
<p>Essentially, we&#8217;re trying to provide a low-touch, <a title="Do it yourself" href="http://en.wikipedia.org/wiki/Do_it_yourself" target="_blank">DIY</a> experience. That being said, by integrating your local installation to an online community, the developer edition enables you to reach out to fellow developers and EMC employees as your pursuit your content management development interests grows. For example, you&#8217;ll find a range of white papers, documents and videos, as well as sample code in, for example, Java and C# (.NET). Topical tutorials available online are drawn from our Education Services library.</p>
<p>So, what is the process to obtain the free developer edition? We hope that it&#8217;s straightforward.</p>
<ol>
<li>Browse <a title="EMC Documentum Developer Community" href="https://community.emc.com/community/edn/documentum" target="_blank">here</a> and login into ECN/EDN</li>
<li>Navigate <a title="Documentum Content Server Developer Edition (registration)" href="https://developer-content.emc.com/downloads/documentum_dev_edition.htm" target="_blank">here</a> and complete a short (less than 30 seconds) registration form. Click the &#8220;Continue&#8221; button to proceed to the download site. (You may need to add ecn_communications@emc.com to your email safe senders list so as not to miss messages from that address (i.e. have them interpreted by Outlook as junk).)</li>
<li>Navigate the EMC SubscribeNet links to arrive at the FTP download (or HTTPS-based download, if you prefer). Note that the download is a bit more than 1.73 GB and represents a Zip archive, which means that you should ensure adequate disk space to extract, deploy, etc.</li>
<li>Commence your download.</li>
</ol>
<p>In a follow-up post, I&#8217;ll walk you through the installation experience and how to leverage the version of DFS that comes with the developer edition. BTW, if you&#8217;re too anxious to dive in and can&#8217;t wait for my post, go for it! There is an online getting started guide as well as an online tutorial for building your first application.</p>
<p>Cheers! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Update 5/20/2009: Well, I&#8217;m about to take a much needed vacation, and I have yet to follow-up with a walk-thru post. So, I wanted to at least provide some details here as to what this software requires system-wise. System requirements are as follows (and are displayed in the initial installer screen):</p>
<ul>
<li>No Microsoft SQL Server or SQL Server Express installed [1]</li>
<li>No other Documentum software installed [2]</li>
<li>Microsoft .NET 2.0 or higher [3]</li>
<li>Browser with Sun JRE 5.0 update 16 or higher [4]</li>
<li>Minimum of 3 GB RAM (4 GB RAM is recommended)</li>
<li>5 GB of free disk space [5]</li>
<li>Intel x86 CPU</li>
<li>Operating system&#8211;again 32-bit only for this release&#8211;is one of the following: Windows XP SP3, Windows Server 2003 SP2 or Windows Server 2003 R2 SP2</li>
<li>You must be logged in as a member of the Windows Administrators group, but not necessarily as Administrator</li>
</ul>
<p>Notes:<br />
[1] Be aware that if you already have Visual Studio (e.g. 2005 or 2008) installed on your target machine, you may need to first uninstall the version of SQL Server that may have been installed with the IDE. If you are running Windows SharePoint Services or UDDI on your target (Windows Server 2003) machine, you may also need to see what embedded database is supporting these services before proceeding with this developer edition installation.<br />
[2] Be sure to understand where you may still have Documentum-related configuration files on disk (e.g. dfc.properties, C:\Documentum, etc.).<br />
[3] Microsoft .NET Framework 3.0 is required for <a title="My posts tagged with both 'DFS' and 'WCF'" href="http://craigrandall.net/archives/tag/dfs+wcf/">WCF-based consumption of DFS endpoints</a>; so, I recommend .NET 3.0, which includes (requires as its foundation) .NET 2.0. .NET 3.5 is also supported by DFS, if you prefer to leverage WCF &#8220;v2.&#8221;<br />
[4] This is supported by Webtop and DA.<br />
[5] Keep in mind that, as I noted above, the Zip archive download is a bit more than 1.73 GB. The total size of its extracted contents is not that much larger, but you&#8217;re also starting to approach 4 GB; so, I recommend that you have 10 GB free disk space in order to complete the installation with room to spare before cleaning up the extracted bits and the original archive to reclaim that 4 GB.</p>
<p>&#8230;and, welcome, <a href="http://www.cmswire.com/cms/enterprise-cms/emc-releases-free-documentum-developer-edition-enterprise-cms-004660.php" target="_blank">CMS Watch</a> readers! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Update 7/16/2009: Be sure to run Windows Update after installing DevEd. Typically, you&#8217;ll need to apply SQL Server 2005 SP3. Note that if you upgrade a DevEd environment from 6.5 SP1 to 6.5 SP2 (via uninstall-reboot-install) that you should still run Windows Update after your upgrade, and you may need to re-apply SQL Server 2005 SP3.</p>
<p>When upgrading a DevEd environment from 6.5 SP1 to 6.5 SP2, I also recommend that following the uninstall and reboot, that you confirm C:\Documentum and C:\Program Files\Documentum are empty before you proceed to install the newer DevEd.</p>
<p>Finally, if you&#8217;re reading this blog but not the installation guide, please note that you should uninstall DevEd via Start | Programs | Documentum | Uninstall, not via Add/Remove Programs under Control Panel.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=F4MkJ3jAcqw:JsUJwaMvw6s:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=F4MkJ3jAcqw:JsUJwaMvw6s:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=F4MkJ3jAcqw:JsUJwaMvw6s:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=F4MkJ3jAcqw:JsUJwaMvw6s:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=F4MkJ3jAcqw:JsUJwaMvw6s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=F4MkJ3jAcqw:JsUJwaMvw6s:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=F4MkJ3jAcqw:JsUJwaMvw6s:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/F4MkJ3jAcqw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/</feedburner:origLink></item>
		<item>
		<title>Content-enabled applications empathized</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/arxxccG06HY/</link>
		<comments>http://craigrandall.net/archives/2009/05/content-enabled-apps-empathized/#comments</comments>
		<pubDate>Fri, 01 May 2009 17:37:46 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[case management]]></category>
		<category><![CDATA[content-enabled applications]]></category>
		<category><![CDATA[content-enabled apps]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[xCelerated Composition Platform]]></category>
		<category><![CDATA[xCP]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1040</guid>
		<description><![CDATA[Laurence Hart was kind enough to pick-up my previous post on content-enabled applications and add his thoughts to the subject, especially concerning the role CMIS can play.
From my first post: Content-enabled applications should facilitate the convergence of content, collaboration, interaction, and process.
I agree with Laurence (aka JaneDoePie) that content is an enabler, not the center. [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Word of Pie" href="http://wordofpie.com/" target="_blank">Laurence Hart</a> was kind enough to pick-up my previous post on <a title="Building content-enabled applications" href="http://craigrandall.net/archives/2009/04/building-content-enabled-apps/">content-enabled applications</a> and add <a title="Content-Enabled Applications in the Age of CMIS" href="http://wordofpie.com/2009/04/28/content-enabled-applications-in-the-age-of-cmis/" target="_blank">his thoughts</a> to the subject, especially concerning the role <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a> can play.</p>
<p>From my first post: <strong>Content-enabled applications should facilitate the convergence of content, collaboration, interaction, and process.</strong></p>
<p>I agree with Laurence (aka <strike>JaneDoe</strike>Pie) that content is <em>an enabler</em>, not the center. All content-enabled applications &#8220;should be shaped to work with and enhance the process the users use to perform their work.&#8221;</p>
<p>Laurence offers case management as his favorite, generic content-enabled application in order to further ground the point that success is determined by the combination of content, user experience (interaction, more than just UI, IMHO) and process (e.g. collaborative workflow).</p>
<p>I&#8217;m in the middle of reading <a title="Subject To Change: Creating Great Products &#038; Services for an Uncertain World: Adaptive Path on Design" href="http://www.amazon.com/Subject-Change-Creating-Products-Uncertain/dp/0596516835" target="_blank">Subject To Change</a>, and already I&#8217;ve found its message highly relevant to the subject of content-enabled applications. For example, the book focuses on <em>experience strategy</em> and how to develop organizational <em>empathy</em> where the target users of your products or services are concerned. Specifically, in the case of case management, the book would argue that you, as case management application architect/designer, need to actually observe case workers in their native setting to appreciate how case management really works (or doesn&#8217;t). Go beyond theory and someone else&#8217;s analysis. Experience business activity firsthand in order to model reality into your solution.</p>
<p>Recently as part of the <strike>Case Management Solution Framework</strike>&nbsp;<a title="EMC Documentum xCelerated Composition Platform" href="http://www.emc.com/solutions/business-need/collaboration/documentum-xcelerated-composition-platform.htm" target="_blank">xCelerated Composition Platform</a> (xCP) released for D6.5 SP1, a sample application for grants management was shipped that illustrates how <a title="EMC Documentum Process Suite" href="http://www.emc.com/products/detail/software/process-suite.htm" target="_blank">Process Suite</a> components can be used to build case-based, content-enabled applications. You can <a title="Documentum Case Management Solution Framework Grants Management Sample Application, Version 6.5 SP1" href="https://emc.subscribenet.com/control/dctm/download?element=2192753" target="_blank">download this package from Powerlink</a> (authentication required). The easiest way to run this sample application is to install it using the express installer, which will install all the right components (with their compatible versions) and the <a title="A bit more detail on Documentum ARchives from Paul Warren" href="http://paulcwarren.wordpress.com/2009/01/09/documentum-composer-whats-in-an-install/" target="_blank">DAR file</a>. <strike>You can also download the express installer from Powerlink (authentication required).</strike>Please see the update below for the correct link.</p>
<p>A goal of a solution framework is to make it easier to build content-enabled applications such as those for case management. A solution framework should allow you to invest more time in becoming empathic in order to ship solutions that resonate well with your users and drive more efficient business as a result.</p>
<p>In this response, I wanted to focus on empathy&#8217;s role. Separately, I plan to pick up the <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a> angle raised by Laurence. Thanks in advance for joining our discussion online&#8230;</p>
<p>Update 5/1/2009: A PM colleague pointed out to me that the link to the &#8220;one click&#8221; installer that takes one from state &#8220;zero&#8221; (i.e. Windows but not database) to state &#8220;ready for proof of concept&#8221; is as follows: <a title="Documentum Case Management Solution Framework Installer, Version 6.5 SP1" href="https://emc.subscribenet.com/control/dctm/download?element=2193203" target="_blank">https://emc.subscribenet.com/control/dctm/download?element=2193203</a> (authentication required). Cheers!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=arxxccG06HY:r6ujsmN-dxw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=arxxccG06HY:r6ujsmN-dxw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=arxxccG06HY:r6ujsmN-dxw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=arxxccG06HY:r6ujsmN-dxw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=arxxccG06HY:r6ujsmN-dxw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=arxxccG06HY:r6ujsmN-dxw:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=arxxccG06HY:r6ujsmN-dxw:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/arxxccG06HY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/05/content-enabled-apps-empathized/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/05/content-enabled-apps-empathized/</feedburner:origLink></item>
		<item>
		<title>Revisiting the passage of time via a tree</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/UOCXctUyjKY/</link>
		<comments>http://craigrandall.net/archives/2009/04/time-tree-2/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 03:20:29 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tree]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1036</guid>
		<description><![CDATA[Back on 7/30/2005, I marked time by reporting a new tree plant. Until now, I hadn&#8217;t followed with how time has &#8220;grown&#8221; since.

When you compare the first original picture to the one above, it&#8217;s clear that the tree has grown quite nicely. In addition, you can see why this particular variety of tree was planted&#8211;for [...]]]></description>
			<content:encoded><![CDATA[<p>Back on 7/30/2005, I marked time by <a title="Marking the passage of time" href="http://craigrandall.net/archives/2005/07/time-tree/">reporting a new tree plant</a>. Until now, I hadn&#8217;t followed with how time has &#8220;grown&#8221; since.</p>
<p align="middle"><img src="http://craigrandall.net/images/090423-growing-tree.jpg" alt="Healthy Purple Robe Locust tree" /></p>
<p>When you compare the first original picture to the one above, it&#8217;s clear that the tree has grown quite nicely. In addition, you can see why this particular variety of tree was planted&#8211;for its beautiful color.</p>
<p align="middle"><img src="http://craigrandall.net/images/090423-growing-tree-detail.jpg" alt="Detail of flowering Purple Robe Locust tree" /></p>
<p>I&#8217;m fortunate to have the same type of trees directly outside my office windows at work (three stories up).</p>
<p>Yes, you have to sweep up after the tree when its blooms fall to the ground. However, they&#8217;re not sticky, which puts the &#8220;downside&#8221; way above the downside of the rest of the sap-dropping city plants lining the rest of the street.</p>
<p>There are other interesting aspects about the time between the original picture of the newly planted tree and the more recent picture, which are not as obvious:</p>
<ul>
<li>The neighbors widened their driveway with more concrete.</li>
<li>The neighbors painted the outside of their house.</li>
<li>We replaced the car in the full-size original picture.</li>
<li>We replaced the entire fence around our property, including the shared segment in view of both pictures.</li>
<li>Just as I had to repair the surrounding sprinkler system while originally planting the tree, I recently had to go underground to repair a node on the same line.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=UOCXctUyjKY:P6reTOHlmQo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UOCXctUyjKY:P6reTOHlmQo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UOCXctUyjKY:P6reTOHlmQo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UOCXctUyjKY:P6reTOHlmQo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UOCXctUyjKY:P6reTOHlmQo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=UOCXctUyjKY:P6reTOHlmQo:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=UOCXctUyjKY:P6reTOHlmQo:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/UOCXctUyjKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/time-tree-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/time-tree-2/</feedburner:origLink></item>
		<item>
		<title>Getting Twitter</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/yMgb56A0FUA/</link>
		<comments>http://craigrandall.net/archives/2009/04/getting-twitter/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 16:36:39 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[MindManager]]></category>
		<category><![CDATA[SAF]]></category>
		<category><![CDATA[Social]]></category>
		<category><![CDATA[TweetDeck]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1015</guid>
		<description><![CDATA[
Yeah, I know that Twitter lately is all about Oprah, CNN and Ashton Kutcher, but it’s also about brief remarks, gripes and triumphs related to products and/or services that you send into the world wide market. (And if you were waiting for The Tipping Point, it’s already occurred for Twitter, IMHO.)
BTW, before I go any [...]]]></description>
			<content:encoded><![CDATA[<p align="middle"><img src="http://craigrandall.net/images/twitter256sq.png" alt="Twitter" /></p>
<p>Yeah, I know that <a href="http://twitter.com/" target="_blank">Twitter</a> lately is all about Oprah, CNN and Ashton Kutcher, but it’s also about brief remarks, gripes and triumphs related to products and/or services that you send into the world wide market. (And if you were waiting for <a title="The possibility of sudden, significant change" href="http://craigrandall.net/archives/2005/04/the-possibility-of-sudden-significant-change/">The Tipping Point</a>, it’s already occurred for Twitter, IMHO.)</p>
<p>BTW, before I go any further, I&#8217;m <a href="http://twitter.com/craigsmusings" target="_blank"><strong>@craigsmusings</strong></a> on Twitter. (Thanks, Dan.)</p>
<p>If a tree falls in a forest, it always makes a noise&#8211;regardless of your presence there. There are social conversations that occur online (e.g. Facebook, blogs, wikis, Twitter, newsgroups, IIRC, etc.), and they will continue to occur regardless of your presence there, too. However, that’s an especially risky position to take these days&#8211;see the conversation but not engage.</p>
<p>Consider the following conversation on Twitter:</p>
<blockquote>
<p>http://twitter.com/johnsmith</p>
<p>Very disappointed in _YOUR_PRODUCT_HERE_, does not appear to have very much to it at all&#8230;.if anything!<br />
12:10 AM Apr 23rd from TweetDeck </p>
<p>http://twitter.com/janedoe</p>
<p>@johnsmith Did you see a live presentation or play with it,<br />
4:45 AM Apr 23rd from TwitterBerry </p>
<p>http://twitter.com/johnsmith</p>
<p>@janedoe Had a play with it, will blog later this week, does not seem to give us anything to use as an accelerator<br />
4:52 AM Apr 23rd from TweetDeck in reply to janedoe</p>
<p>http://twitter.com/janedoe</p>
<p>@johnsmith Ouch! That&#8217;s the point in theory.<br />
4:58 AM Apr 23rd from TwitterBerry
</p></blockquote>
<p>So, what will John Smith blog exactly? He’s indicated that his post is forthcoming but also that there may be time to engage him&#8211;understand his concern and possibly influence him after listening by demonstrating value.</p>
<p>Jane appears to be an interested party, too. Is Jane a known advocate, possibly trying to reach out on your behalf? Is Jane known to be skeptical?</p>
<p>How can you &#8220;see&#8221; this conversation?</p>
<p>I use <a href="http://www.tweetdeck.com/" target="_blank">TweetDeck</a>, an <a href="http://www.adobe.com/products/air/" target="_blank">Adobe AIR</a>-based Twitter client, for my tweeting, etc. It works equally well on both MacOS and Windows. (There are many other clients out there, too!)</p>
<p align="middle"><a href="http://www.tweetdeck.com/" target="_blank"><img src="http://craigrandall.net/images/tweetdeck.jpg" alt="TweetDeck" /></a></p>
<p>TweetDeck allows me to do a number of useful things. </p>
<ul>
<li>For example, the leftmost column/pane is a group. (You can read that tiny font, right? <img src='http://craigrandall.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) In my case, I filtered All Friends (i.e. those I follow in Twitter) into just the subset that tweets about content management. (You can see that there is a horizontal scroll bar on the bottom, and the default “All Friends” column/pane is off to the far right (where I moved it to reduce <em>seen</em> UI changes).)</li>
<li>The “Replies” column/pane is just what it implies—tweets in reply to me from others.</li>
<li>The “Direct Messages” column/pane contains DM’s from me and DM’s to me.</li>
<li>The two rightmost columns/panes in view above are searches. Since these are Twitter-based searches&#8211;one for tweets containing “CMIS” and another for tweets containing both “EMC” and “Documentum”&#8211;I receive traffic updates that apply in near realtime (unlike, e.g., a Google search that requires one to hit Refresh to see new results).</li>
</ul>
<p>Anyway, I can visit John Smith&#8217;s Twitter profile to learn that he has a 70:30 ratio (i.e. he’s following 70 twitters and 30 twitters are following him). Clearly, Mr. Smith is not a “rock star” by Twitter standards. (Certainly, I am not either!)</p>
<p>However, consider the junior high campfire song’s sentiment: “It only takes a spark, to get a fire going&#8230;” This goes back to my point above: there may be time to engage him&#8211;understand his concern and possibly influence him after listening by demonstrating value (and create a <em>positive</em> fire&#8211;however big or small&#8211;about your product or service).</p>
<p>The truth is that, although I’ve been blogging for awhile now, I’m relatively new to Twitter. Fortunately for me, I have great resources in my &#8220;2.0 type&#8221; EMC colleagues and elsewhere online. For example, I recommend that you check out <a title="Twitter Job Aid - work in progress" href="http://gminks.edublogs.org/2009/04/12/twitter-job-aid-work-in-progress/" target="_blank">Gina Minks&#8217; Twitter Cheat Sheet</a>. (I understand from Gina that a v2.0 release is due out in time for EMC World, too.)</p>
<p>I recall during last year&#8217;s Microsoft Strategic Architect Forum (SAF) that a good industry colleague of mine suggested a &#8220;I don&#8217;t get Twitter&#8221; topic for the open space segment of that afternoon. I egged him on to make the suggestion; so, of course I attended&#8230;and I think that everyone learned a fair bit in the process.</p>
<p>Since then I&#8217;ve only recently begun to seriously tweet. Already that engagement has paid dividends, and due to the fact that most of my cross-domain architect colleagues don&#8217;t yet tweet, I thought I&#8217;d humbly offer this post to get them to &#8220;dive into&#8221; Twitter, too, in a way that&#8217;s both meaningful to them and meaningful to their communities. (You know who you are. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>For those who weren&#8217;t at or don&#8217;t know about SAF, Microsoft worked with <a href="http://www.mindjet.com/" target="_blank">Mindjet</a> to mind map the <a href="http://www.openspaceworld.org/cgi/wiki.cgi?AboutOpenSpace" target="_blank">open space</a> sessions. Here are the notes from the &#8220;I don&#8217;t get Twitter&#8221; session in mind map form&#8211;just click the following image for the .mmap (MindManager 8 format) file:</p>
<p align="middle"><a title="SAF08 topic - 'I don't get Twitter' (notes as mind map)" href="http://craigrandall.net/files/081120-SAF08-I-don't-get-Twiter.mmap" target="_blank"><img src="http://craigrandall.net/images/081120-SAF08-I-don't-get-Twiter.jpg" alt="SAF08 topic - 'I don't get Twitter' (notes as mind map)" /></a></p>
<p>So, what do you think of Twitter? If you find it useful, how do you receive value from it?</p>
<p>Update 4/30/2009: <a title="Adventures in Corporate Education" href="http://gminks.edublogs.org/" target="_blank">Gina Minks</a> just published a new <a title="Twitter on Your Phone Cheat Sheet" href="http://portfolio.ginaminks.com/job_aides/TwitteronYourPhoneCheatSheet.pdf" target="_blank">cheat sheet for tweeting from your phone</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=yMgb56A0FUA:XEpjBnzlTZg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=yMgb56A0FUA:XEpjBnzlTZg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=yMgb56A0FUA:XEpjBnzlTZg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=yMgb56A0FUA:XEpjBnzlTZg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=yMgb56A0FUA:XEpjBnzlTZg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=yMgb56A0FUA:XEpjBnzlTZg:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=yMgb56A0FUA:XEpjBnzlTZg:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/yMgb56A0FUA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/getting-twitter/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/getting-twitter/</feedburner:origLink></item>
		<item>
		<title>First 100K concurrent user ECM benchmark</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/EyHqIi_Omz8/</link>
		<comments>http://craigrandall.net/archives/2009/04/1st-100k-usr-bnchmrk/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 23:24:24 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[benchmark]]></category>
		<category><![CDATA[D6.5]]></category>
		<category><![CDATA[Documentum]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[Load Runner]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[Webtop]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1002</guid>
		<description><![CDATA[Earlier today, EMC formally announced the results of its significant Enterprise Content Management benchmark with Microsoft and HP.
The newly released study is one of the largest-ever benchmarks in the ECM industry, demonstrating 100,000 [concurrent] users of Documentum 6.5 [SP1] engaging in a variety of content management-related transactions and sustaining that workload over the course of [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier today, EMC formally <a title="EMC Documentum Reaches New Heights in Scalability and Performance in Enterprise Content Management (ECM) Performance Benchmark" href="http://www.emc.com/about/news/press/2009/20090420-02.htm" target="_blank">announced</a> the results of its significant Enterprise Content Management benchmark with Microsoft and HP.</p>
<blockquote><p>The newly released study is one of the largest-ever benchmarks in the ECM industry, demonstrating 100,000 [concurrent] users of Documentum 6.5 [SP1] engaging in a variety of content management-related transactions and sustaining that workload over the course of a 12-hour workday. Transactions included the most common content management activities.</p></blockquote>
<p>Here&#8217;s a picture of the EMC-HP-Microsoft team:</p>
<p align="middle"><img src="http://craigrandall.net/images/benchmark-team.png" alt="EMC-HP-MSFT benchmark team" /></p>
<p>From left to right:</p>
<ul>
<li>Surdeep Sharma &#8211; Microsoft SQL Server Premier Field Engineer</li>
<li>Pat Kirby &#8211; EMC Documentum Performance Engineer</li>
<li>Vishnu Badikol &#8211; EMC Documentum Performance Engineer</li>
<li>Joseph Isenhour &#8211; Microsoft Enterprise Engineering Center Program Manager</li>
<li>Gordon Newman &#8211; EMC Documentum Sr. Manager Performance Engineering</li>
<li>Gunter Zink (photographer hence not pictured) &#8211; HP Integrity Superdome Engineering Group Manager</li>
</ul>
<p>Here&#8217;s another picture that I copied from Gordon showing Pat and Vishnu working with a type of &#8220;geek heaven&#8221; (i.e. a view of PerfMon on a 64-core machine <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ):</p>
<p align="middle"><img src="http://craigrandall.net/images/benchmark-64-core-perfmon.png" alt="What a 64-core PerfMon UI looks like" /></p>
<p>I encourage you to listen to my colleagues Gordon, Pat and Vishnu talk about their experiences configuring and running this benchmark via <a title="<br />
100,000 Concurrent User Benchmark Study" href="https://community.emc.com/docs/DOC-3237" target="_blank">this video</a>. While you&#8217;re watching the video, download the attached <a title="Joint EMC-Microsoft Benchmark Whitepaper (PDF)" href="https://community.emc.com/servlet/JiveServlet/download/3237-14-3473/Joint%20EMC%20-%20Microsoft%20Benchmark%20Whitepaper.pdf" target="_blank">joint whitepaper</a>, <a title="100K Benchmark Summary (PDF)" href="https://community.emc.com/servlet/JiveServlet/download/3237-14-3109/100K%20Benchmark%20Summary.pdf" target="_blank">summary</a> and <a title="100K Benchmark Full Study (PDF)" href="https://community.emc.com/servlet/JiveServlet/download/3237-14-3275/100K%20Benchmark%20Full%20Study.pdf" target="_blank">detailed results</a>, too.</p>
<p>Of course, EMC isn&#8217;t resting on its laurels here. In fact, we&#8217;re already working to address lessons learned from this benchmark, which will result in even greater scalability. Kudos to my Performance Engineering colleagues!</p>
<p>Update 5/27/2009: The benchmark FAQ is now available <a title="100,000 Concurrent User Benchmark Study FAQ" href="https://community.emc.com/docs/DOC-3871" target="_blank">here</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyHqIi_Omz8:9ebMkXpFvMs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyHqIi_Omz8:9ebMkXpFvMs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyHqIi_Omz8:9ebMkXpFvMs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyHqIi_Omz8:9ebMkXpFvMs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyHqIi_Omz8:9ebMkXpFvMs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=EyHqIi_Omz8:9ebMkXpFvMs:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=EyHqIi_Omz8:9ebMkXpFvMs:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/EyHqIi_Omz8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/1st-100k-usr-bnchmrk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/1st-100k-usr-bnchmrk/</feedburner:origLink></item>
		<item>
		<title>Addressing MaxReceivedMessageSize issues</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/xWeIt67nL5Q/</link>
		<comments>http://craigrandall.net/archives/2009/04/maxreceivedmessagesize/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 19:02:00 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[DFS]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[app.config]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Charles]]></category>
		<category><![CDATA[CommunicationException]]></category>
		<category><![CDATA[Fiddler]]></category>
		<category><![CDATA[MaxReceivedMessageSize]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[web debugging proxy]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://craigrandall.net/archives/2009/04/maxreceivedmessagesize/</guid>
		<description><![CDATA[If you’re a .NET-based consumer of Enterprise Content Services (e.g. those offered via Documentum Foundation Services) and you experience a Windows Communication Foundation CommunicationException having to do with MaxReceivedMessageSize, you may be interested in the details of this post. This post applies both to direct-to-WSDL consumers and also to consumers that leverage the DFS productivity [...]]]></description>
			<content:encoded><![CDATA[<p>If you’re a .NET-based consumer of Enterprise Content Services (e.g. those offered via <a href="http://craigrandall.net/archives/2007/05/documentum-foundation-services/">Documentum Foundation Services</a>) and you experience a Windows Communication Foundation CommunicationException having to do with MaxReceivedMessageSize, you may be interested in the details of this post. This post applies both to <a title="DFS Object service consumer #2 (2-part post)" href="http://craigrandall.net/archives/2008/07/dfs-object-service-consumer-2b/">direct-to-WSDL consumers</a> and also to <a title="DFS Object service consumer #1" href="http://craigrandall.net/archives/2008/07/dfs-object-service-consumer-1/">consumers that leverage the DFS productivity layer for .NET</a>. Guidance herein has more to do with WCF in general; however, it will be offered in a ECS/DFS context.</p>
<p>Depending on the size of incoming messages from services to your application, you may discover the need to increase the maximum received message size. For example, your application experiences the following exception raised by WCF:</p>
<blockquote><p>System.ServiceModel.CommunicationException : The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.</p>
</blockquote>
<p>An example of exceeding quota could be application requests that result in data package-based responses with a large number of data objects and/or a set of data objects with significant metadata and/or content (e.g. ObjectService.get).</p>
<p>If you implement a direct-to-WSDL consumer of this service using Visual Studio and WCF’s Add Service Reference designer, you will by default introduce a per service binding application configuration file into the overall solution. Therefore, to declaratively increase the maximum received message size, you will edit app.config by focusing on increasing the value of the MaxReceivedMessageSize attribute on the appropriate (named) binding element from the default value in configuration as follows:</p>
<pre class="csharpcode"><span class="kwrd">&lt;?</span><span class="html">xml</span> <span class="attr">version</span><span class="kwrd">=&quot;1.0&quot;</span> <span class="attr">encoding</span><span class="kwrd">=&quot;utf-8&quot;</span> ?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">configuration</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">system.serviceModel</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">bindings</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">basicHttpBinding</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html"><strong>binding</strong></span> <span class="attr">name</span><span class="kwrd">=&quot;ObjectServicePortBinding&quot;</span> <span class="attr">closeTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">openTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">receiveTimeout</span><span class="kwrd">=&quot;00:10:00&quot;</span> <span class="attr">sendTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">allowCookies</span><span class="kwrd">=&quot;false&quot;</span> <span class="attr">bypassProxyOnLocal</span><span class="kwrd">=&quot;false&quot;</span> <span class="attr">hostNameComparisonMode</span><span class="kwrd">=&quot;StrongWildcard&quot;</span> <span class="attr">maxBufferSize</span><span class="kwrd">=&quot;65536&quot;</span> <span class="attr">maxBufferPoolSize</span><span class="kwrd">=&quot;524288&quot;</span> <span class="attr"><strong>maxReceivedMessageSize</strong></span><span class="kwrd">=&quot;65536&quot;</span> <span class="attr">messageEncoding</span><span class="kwrd">=&quot;Text&quot;</span> <span class="attr">textEncoding</span><span class="kwrd">=&quot;utf-8&quot;</span> <span class="attr">transferMode</span><span class="kwrd">=&quot;Buffered&quot;</span> <span class="attr">useDefaultWebProxy</span><span class="kwrd">=&quot;true&quot;</span><span class="kwrd">&gt;</span>
          <span class="kwrd">&lt;</span><span class="html">readerQuotas</span> <span class="attr">maxDepth</span><span class="kwrd">=&quot;32&quot;</span> <span class="attr">maxStringContentLength</span><span class="kwrd">=&quot;8192&quot;</span> <span class="attr">maxArrayLength</span><span class="kwrd">=&quot;16384&quot;</span> <span class="attr">maxBytesPerRead</span><span class="kwrd">=&quot;4096&quot;</span> <span class="attr">maxNameTableCharCount</span><span class="kwrd">=&quot;16384&quot;</span> <span class="kwrd">/&gt;</span>
          <span class="kwrd">&lt;</span><span class="html">security</span> <span class="attr">mode</span><span class="kwrd">=&quot;None&quot;</span><span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">transport</span> <span class="attr">clientCredentialType</span><span class="kwrd">=&quot;None&quot;</span> <span class="attr">proxyCredentialType</span><span class="kwrd">=&quot;None&quot;</span> <span class="attr">realm</span><span class="kwrd">=&quot;&quot;</span> <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">message</span> <span class="attr">clientCredentialType</span><span class="kwrd">=&quot;UserName&quot;</span> <span class="attr">algorithmSuite</span><span class="kwrd">=&quot;Default&quot;</span> <span class="kwrd">/&gt;</span>
          <span class="kwrd">&lt;/</span><span class="html">security</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;/</span><span class="html">binding</span><span class="kwrd">&gt;</span>
        . . .
      <span class="kwrd">&lt;/</span><span class="html">basicHttpBinding</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">bindings</span><span class="kwrd">&gt;</span>
    . . .
  <span class="kwrd">&lt;/</span><span class="html">system.serviceModel</span><span class="kwrd">&gt;</span>
  . . .
<span class="kwrd">&lt;/</span><span class="html">configuration</span><span class="kwrd">&gt;</span></pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>As in the case of a direct-to-WSDL consumer, a productivity layer-based consumer of the DFS Object service may also need to declaratively increase the value of MaxReceivedMessageSize more compatible with actual runtime requirements.</p>
<p>In the etc\config directory path of your local DFS SDK you should find an example App.config file. Please note that this app.config file is oriented toward productivity layer consumers, not direct-to-WSDL consumers via WCF. That being said, the same binding attributes apply to a solution here, too. The difference is how the bindings are declared in app.config. </p>
<p>The productivity layer oriented declaration names a single binding, DfsDefaultService, to act as the binding for all DFS services, except for DFS runtime services, which have separate, named bindings declared. So, Object service gets its (WCF- based) binding configuration from the “DfsDefaultService” binding…and so does, for example, Query service.</p>
<p>To declaratively increase the maximum received message size in productivity layer oriented app.config, you will most likely edit the MaxReceivedMessageSize attribute on the “DfsDefaultService” binding element from the default value in configuration as follows:</p>
<pre class="csharpcode"><span class="kwrd">&lt;?</span><span class="html">xml</span> <span class="attr">version</span><span class="kwrd">=&quot;1.0&quot;</span> <span class="attr">encoding</span><span class="kwrd">=&quot;utf-8&quot;</span>?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">configuration</span><span class="kwrd">&gt;</span>
  . . .
  <span class="kwrd">&lt;</span><span class="html">system.serviceModel</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">bindings</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">basicHttpBinding</span><span class="kwrd">&gt;</span>
        . . .
        <span class="kwrd">&lt;</span><span class="html"><strong>binding</strong></span> <span class="attr">name</span><span class="kwrd">=&quot;DfsDefaultService&quot;</span> <span class="attr">closeTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">openTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">receiveTimeout</span><span class="kwrd">=&quot;00:10:00&quot;</span> <span class="attr">sendTimeout</span><span class="kwrd">=&quot;00:01:00&quot;</span> <span class="attr">allowCookies</span><span class="kwrd">=&quot;false&quot;</span> <span class="attr">bypassProxyOnLocal</span><span class="kwrd">=&quot;false&quot;</span> <span class="attr">hostNameComparisonMode</span><span class="kwrd">=&quot;StrongWildcard&quot;</span> <span class="attr">maxBufferSize</span><span class="kwrd">=&quot;1000000&quot;</span> <span class="attr">maxBufferPoolSize</span><span class="kwrd">=&quot;10000000&quot;</span> <span class="attr"><strong>maxReceivedMessageSize</strong></span><span class="kwrd">=&quot;1000000&quot;</span> <span class="attr">messageEncoding</span><span class="kwrd">=&quot;Text&quot;</span> <span class="attr">textEncoding</span><span class="kwrd">=&quot;utf-8&quot;</span> <span class="attr">transferMode</span><span class="kwrd">=&quot;Buffered&quot;</span> <span class="attr">useDefaultWebProxy</span><span class="kwrd">=&quot;true&quot;</span><span class="kwrd">&gt;</span>
          <span class="kwrd">&lt;</span><span class="html">readerQuotas</span> <span class="attr">maxDepth</span><span class="kwrd">=&quot;32&quot;</span> <span class="attr">maxStringContentLength</span><span class="kwrd">=&quot;8192&quot;</span> <span class="attr">maxArrayLength</span><span class="kwrd">=&quot;16384&quot;</span> <span class="attr">maxBytesPerRead</span><span class="kwrd">=&quot;4096&quot;</span> <span class="attr">maxNameTableCharCount</span><span class="kwrd">=&quot;16384&quot;</span> <span class="kwrd">/&gt;</span>
          <span class="kwrd">&lt;</span><span class="html">security</span> <span class="attr">mode</span><span class="kwrd">=&quot;None&quot;</span><span class="kwrd">&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">transport</span> <span class="attr">clientCredentialType</span><span class="kwrd">=&quot;None&quot;</span> <span class="attr">proxyCredentialType</span><span class="kwrd">=&quot;None&quot;</span> <span class="attr">realm</span><span class="kwrd">=&quot;&quot;</span> <span class="kwrd">/&gt;</span>
            <span class="kwrd">&lt;</span><span class="html">message</span> <span class="attr">clientCredentialType</span><span class="kwrd">=&quot;UserName&quot;</span> <span class="attr">algorithmSuite</span><span class="kwrd">=&quot;Default&quot;</span> <span class="kwrd">/&gt;</span>
          <span class="kwrd">&lt;/</span><span class="html">security</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;/</span><span class="html">binding</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;/</span><span class="html">basicHttpBinding</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">bindings</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">system.serviceModel</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">configuration</span><span class="kwrd">&gt;</span></pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>You may notice that the DFS SDK-based app.config binding element attribute values differ from direct-from-WCF defaults (i.e. maxBufferSize&#8211;1000000 versus 65536, maxBufferPoolSize&#8211;1000000 versus 524288, and maxReceivedMessageSize&#8211;1000000 versus 65536). This is simply a change to <em>lessen</em> the likelihood of encountering WCF CommunicationExceptions having to do with MaxReceivedMessageSize values.</p>
<p>One technique you can employ to determine what a reasonable MaxReceivedMessageSize value should be for your application is to set the value of your binding attribute/property to the absolute maximum in order to profile actual runtime message size using a web debugging proxy like <a title="Charles - my preferred web debugging proxy" href="http://www.charlesproxy.com/" target="_blank">Charles</a> or <a title="Fiddler - a free web debugging proxy" href="http://www.fiddlertool.com/" target="_blank">Fiddler</a>. That is, temporarily set MaxReceivedMessageSize to 2147483648 (i.e. Int32.MaxValue), pass your SOAP messages through, for example, Charles via port forwarding, review response message content length values, and reset your default runtime MaxReceivedMessageSize value accordingly.</p>
<p>If you prefer to take a declarative approach to WCF binding configuration for your application but you’re concerned about a user setting the value too low, you can always interrogate values at runtime in order to ensure that they’re sufficient. </p>
<p>For example, a productivity layer-based client could do as follows:</p>
<pre class="csharpcode">System.Reflection.FieldInfo appConfigInfo = <span class="kwrd">typeof</span>(ContextFactory).GetField(<span class="str">&quot;appConfig&quot;</span>, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
System.Reflection.FieldInfo agentServiceBindingInfo = <span class="kwrd">typeof</span>(AppConfig).GetField(<span class="str">&quot;m_agentServiceBinding&quot;</span>, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
System.Reflection.FieldInfo contextRegistryServiceBindingInfo = <span class="kwrd">typeof</span>(AppConfig).GetField(<span class="str">&quot;m_contextRegistryServiceBinding&quot;</span>, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
System.Reflection.FieldInfo defaultServiceBindingInfo = <span class="kwrd">typeof</span>(AppConfig).GetField(<span class="str">&quot;m_defaultServiceBinding&quot;</span>, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
BasicHttpBinding binding = <span class="kwrd">new</span> BasicHttpBinding();
binding.MaxReceivedMessageSize = 0x7fffffffL;
binding.MaxBufferSize = 0x7fffffffL;
agentServiceBindingInfo.SetValue(appConfigInfo.GetValue(contextFactory), binding);
contextRegistryServiceBindingInfo.SetValue(appConfigInfo.GetValue(contextFactory), binding);
defaultServiceBindingInfo.SetValue(appConfigInfo.GetValue(contextFactory), binding);</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Of course, in a production app, I’d ensure that there is a log (auditable event) of such programmatic override activity. I might also consider presenting the user with a suggestion, requesting that the software be given the opportunity to auto-correct the value (e.g. updating the effective application configuration file). </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=xWeIt67nL5Q:zbGHXlOLVpw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=xWeIt67nL5Q:zbGHXlOLVpw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=xWeIt67nL5Q:zbGHXlOLVpw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=xWeIt67nL5Q:zbGHXlOLVpw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=xWeIt67nL5Q:zbGHXlOLVpw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=xWeIt67nL5Q:zbGHXlOLVpw:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=xWeIt67nL5Q:zbGHXlOLVpw:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/xWeIt67nL5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/maxreceivedmessagesize/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/maxreceivedmessagesize/</feedburner:origLink></item>
		<item>
		<title>Building content-enabled applications</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/efPlKCnX3B8/</link>
		<comments>http://craigrandall.net/archives/2009/04/building-content-enabled-apps/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 21:28:12 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[CEVA]]></category>
		<category><![CDATA[content-enabled applications]]></category>
		<category><![CDATA[content-enabled apps]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[EMC World]]></category>
		<category><![CDATA[EMC World 2009]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=969</guid>
		<description><![CDATA[Both Pie and Marko have blogged about content-enabled applications, or what Gartner calls CEVAs (content-enabled vertical applications).
As it so happens, I&#8217;ll be presenting there will be a session on this subject next month at EMC World 2009.
Based on my research of what folks label a content-enabled application, two things rise to the top: process (surrounding [...]]]></description>
			<content:encoded><![CDATA[<p>Both <a title="Vendor Support for CMIS" href="http://wordofpie.com/2008/09/11/vendor-support-for-cmis/" target="_blank">Pie</a> and <a title="Where Have All the CEVA’s Gone?" href="http://bigmenoncontent.com/2009/04/01/where-have-all-the-cevas-gone/" target="_blank">Marko</a> have blogged about content-enabled applications, or what <a title="Use CEVAs to Generate Value From Your Content" href="http://www.gartner.com/DisplayDocument?doc_cd=137675" target="_blank">Gartner calls</a> CEVAs (content-enabled <em>vertical</em> applications).</p>
<p>As it so happens, <strike>I&#8217;ll be presenting</strike> there will be <a title="Building content-enabled applications with DFS: Developer Track @ EMC World 2009" href="https://community.emc.com/thread/2809" target="_blank">a session on this subject</a> next month at <a href="http://www.emcworld.com/">EMC World 2009</a>.</p>
<p>Based on my research of what folks label a <em>content-enabled application</em>, two things rise to the top: <strong>process</strong> (surrounding content) and <strong>subject matter expertise</strong> (individual or group surrounding process), and <strong>context</strong>. OK, three things.</p>
<p>For example, <a title="The Forrester Wave™: Content-Centric Applications, Q1 2006" href="http://www.forrester.com/Research/Document/Excerpt/0,7211,37684,00.html" target="_blank">Forrester defines</a> content-<em>centric</em> applications as &#8220;solutions that put the business&#8217; content to use, and add context along the way&#8211;to support line-of-business needs.&#8221; Example solutions include customer self-service, claims processing, proposal management, contract management, and <a title="EMC Documentum Case Management Solution Framework " href="http://www.emc.com/solutions/business-need/collaboration/case-management-solution-framework.htm" target="_blank">case management</a>.</p>
<p>Other CEVA vendors argue that content-enabled applications are <em>process-oriented</em>, not content-centric. I tend to prefer this viewpoint. A claim is valueless in itself. Only once is claim <em>is processed</em> is value realized, including taking a future liability off the books.</p>
<p>Content-enabled applications should facilitate the convergence of content, collaboration, interaction, and process.</p>
<p>Before you leverage your content in an application to generate value, ask yourself few questions:</p>
<ul>
<li>Who uses the content? Why? How?</li>
<li>What processes does the content support?</li>
<li>If I&#8217;m not a subject matter expert for this type of content, who can I involve to design a better application experience?</li>
<li>What processes does it support?</li>
<li>What context is involved, either centrally or peripherally?</li>
</ul>
<p>Start with something familiar to just about anyone these days: email (or IM, micro-blogging, etc.). Answer the questions. See how applications, for example, around email have evolved. Think about where current email applications may have untapped potential. Etc.</p>
<p>So, where <em>have</em> all the CEVAs gone (as Marko asks)?</p>
<ul>
<li>I think that we in the content management business do ourselves a disservice by overly complicating concepts (e.g. behind <a title="Three-letter acronym" href="http://en.wikipedia.org/wiki/Three-letter_acronym" target="_blank">TLA</a>s or FLAs). Although fine as a conceptual catalyst, CEVA is self-defeating, IMHO, as a rallying label.</li>
<li>I agree that <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a> has great potential to increase the availability of content-enabled applications, if for no other reason, because application development that consumes the proposed standard should have a greater return on investment by being applicable to multiple content repositories. (ECM vendor partners are you listening?)</li>
<li>In the end, it&#8217;s the application, not the content or the process or the people. That is, if you&#8217;re just adding a document and perhaps a workflow to some code, you may have an app&#8230;but it won&#8217;t be used. Focus on user experience (i.e. the meaningful, intuitive presentation of content, context and process together).</li>
</ul>
<p>Back to EMC World&#8230;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://craigrandall.net/images/emc-world-2009.jpg" alt="Orlando, FL - May17-21" /></p>
<p>I&#8217;ll miss interacting with <a title="The Road to EMC World 2009" href="http://storagezilla.typepad.com/storagezilla/2009/03/the-road-to-emc-world-2009.html" target="_blank">&#8216;Zilla</a> at the conference. It was at <a title="i.e. the first public presentation of DFS" href="http://craigrandall.net/archives/2007/05/documentum-foundation-services/">EMC World in 2007</a> (also held in Orlando, FL) that I <a title="Opening in Orlando" href="http://craigrandall.net/archives/2007/05/opening-in-orlando/">first met Mark in person</a>.</p>
<p>If you are able to make the conference and consider yourself to be a &#8220;2.0 type,&#8221; you may be interested in <a title="EMC World 2009" href="http://lensblog.typepad.com/ebiz/2009/03/emc-world-2009.html" target="_blank">Len&#8217;s advert</a>. Looks like there is even a <a title="EMC World 2009" href="http://events.linkedin.com/EMC-World-2009/pub/37519" target="_blank">LinkedIn event</a> established for the conference.</p>
<p>I plan to <a title="@craigsmusings" href="http://twitter.com/craigsmusings" target="_blank">tweet</a> the conference and otherwise engage with the community. In the meantime, if you plan to attend my session (<em>as presented by others</em>), please feel free to comment (here or <a title="Building content-enabled applications with DFS: Developer Track @ EMC World 2009" href="https://community.emc.com/thread/2809" target="_blank">ECN</a>) on your thoughts about content-enabled applications and what you&#8217;d like discussed or demoed. Thanks in advance.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=efPlKCnX3B8:oLeF9IEJaeA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=efPlKCnX3B8:oLeF9IEJaeA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=efPlKCnX3B8:oLeF9IEJaeA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=efPlKCnX3B8:oLeF9IEJaeA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=efPlKCnX3B8:oLeF9IEJaeA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=efPlKCnX3B8:oLeF9IEJaeA:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=efPlKCnX3B8:oLeF9IEJaeA:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/efPlKCnX3B8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/building-content-enabled-apps/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/building-content-enabled-apps/</feedburner:origLink></item>
		<item>
		<title>CMIS panel discussion at AIIM info360</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/intMDkuPYrU/</link>
		<comments>http://craigrandall.net/archives/2009/04/cmis-panel-discussion/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 14:00:50 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[AIIM]]></category>
		<category><![CDATA[iECM]]></category>
		<category><![CDATA[info360]]></category>
		<category><![CDATA[OASIS]]></category>
		<category><![CDATA[TC]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=958</guid>
		<description><![CDATA[Tomorrow at 11:30am local time there will be an informal CMIS panel at the AIIM info360 conference in Philadelphia (i.e. Doculabs expo booth 434). This panel is organized by AIIM (Betsy Fanning). Thomas Pole, iECM co-chair and organizer of the CMIS demo, will be the moderator.
My EMC colleague and OASIS CMIS TC chair, Dr. David [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow at 11:30am local time there will be an informal <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a> panel at the <a title="AIIM International Exposition and Conference" href="http://www.aiimexpo.com/aiimexpo/v42/index.cvn" target="_blank">AIIM info360</a> conference in Philadelphia (i.e. <a title="Doculabs LIVE!" href="http://www.aiimexpo.com/aiimexpo/v42/index.cvn?id=10254" target="_blank">Doculabs expo booth 434</a>). This panel is organized by <a href="http://www.aiim.org/" target="_blank">AIIM</a> (Betsy Fanning). Thomas Pole, <a title="Interoperable Enterprise Content Managment" href="http://craigrandall.net/archives/2006/07/iecm/">iECM</a> co-chair and organizer of the <a href="http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/">CMIS demo</a>, will be the moderator.</p>
<p>My EMC colleague and <a title="OASIS Content Management Interoperability Services Technical Committee" href="http://www.oasis-open.org/committees/cmis/" target="_blank">OASIS CMIS TC</a> chair, Dr. David Choy, will provide an overview of CMIS at 11:30am leading into the panel discussion. As a reminder to my fellow TC&#8217;ers, the panel is open to any TC member.</p>
<p>So, if you&#8217;re at AIIM info360 and want to learn more about CMIS, please join the discussion. You can also stop by the EMC booth (#825) for the duration of the expo. Cheers!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=intMDkuPYrU:pV9hEx6wMz4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=intMDkuPYrU:pV9hEx6wMz4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=intMDkuPYrU:pV9hEx6wMz4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=intMDkuPYrU:pV9hEx6wMz4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=intMDkuPYrU:pV9hEx6wMz4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=intMDkuPYrU:pV9hEx6wMz4:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=intMDkuPYrU:pV9hEx6wMz4:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/intMDkuPYrU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/cmis-panel-discussion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/04/cmis-panel-discussion/</feedburner:origLink></item>
		<item>
		<title>AIIM iECM demo of CMIS</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/_W7XD3qGrQo/</link>
		<comments>http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 15:59:07 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[AIIM]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[iECM]]></category>
		<category><![CDATA[info360]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=954</guid>
		<description><![CDATA[Yesterday at the AIIM info360 conference in Philadelphia, the iECM committee announced its sponsored demonstration of CMIS. The AIIM press release has more details here.
Today that demo is live: http://aiim-iecm.org/cmisdemoc/. If you&#8217;re at AIIM info360, please stop by the EMC booth (#825) for a personal tour of the demo application.
If you want to understand how [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday at the <a title="AIIM International Exposition and Conference" href="http://www.aiimexpo.com/aiimexpo/v42/index.cvn" target="_blank">AIIM info360</a> conference in Philadelphia, the <a title="Interoperable Enterprise Content Managment" href="http://craigrandall.net/archives/2006/07/iecm/">iECM</a> committee announced its sponsored demonstration of <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a>. The AIIM press release has more details <a title="AIIM iECM Demonstrates Implementation of CMIS at info360: Industry Leaders Create Federated Content Environment" href="http://www.aiim.org/ResourceCenter/AIIMNews/PressReleases/Article.aspx?ID=36058" target="_blank">here</a>.</p>
<p>Today that demo is live: <strong><a title="AIIM iECM's Demonstration of CMIS" href="http://aiim-iecm.org/cmisdemoc/" target="_blank">http://aiim-iecm.org/cmisdemoc/</a></strong>. If you&#8217;re at AIIM info360, please stop by the EMC booth (#825) for a personal tour of the demo application.</p>
<p>If you want to understand how the demo was made, I encourage you to <a title="How the iECM CMIS Demo for the AIIM Conference was Made" href="http://wordofpie.com/2009/03/31/how-the-iecm-cmis-demo-for-the-aiim-conference-was-made/" target="_blank">read Pie&#8217;s account</a>, especially since he was a central figure in producing the application above <a title="EMC Documentum CMIS EA2" href="http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/">compliant repositories</a>, including EMC.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=_W7XD3qGrQo:vPQGeO4dUkY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=_W7XD3qGrQo:vPQGeO4dUkY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=_W7XD3qGrQo:vPQGeO4dUkY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=_W7XD3qGrQo:vPQGeO4dUkY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=_W7XD3qGrQo:vPQGeO4dUkY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=_W7XD3qGrQo:vPQGeO4dUkY:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=_W7XD3qGrQo:vPQGeO4dUkY:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/_W7XD3qGrQo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/</feedburner:origLink></item>
		<item>
		<title>Recovering well</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/CE5Wibh-atg/</link>
		<comments>http://craigrandall.net/archives/2009/03/recovering-well/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 00:37:15 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Lessons]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Achilles]]></category>
		<category><![CDATA[basketball]]></category>
		<category><![CDATA[injury]]></category>
		<category><![CDATA[patience]]></category>
		<category><![CDATA[therapy]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=941</guid>
		<description><![CDATA[Last month I revealed that I suffered a basketball injury (i.e. a high rupture of my right Achilles tendon, requiring surgical repair). Yesterday marked the six-week point since surgery. Today I completed my third week of physical therapy and being out of a cast and in a walking boot. This afternoon was my three-week follow-up [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I <a title="Fallen weekend warrior" href="http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/">revealed</a> that I suffered a basketball injury (i.e. a high rupture of my right Achilles tendon, requiring surgical repair). Yesterday marked the six-week point since surgery. Today I completed my third week of physical therapy and being out of a cast and <a href="http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/#comment-20738">in a walking boot</a>. This afternoon was my three-week follow-up with my surgeon.</p>
<p>Those professionally helping me in my recovery say that I&#8217;m making excellent progress. Given where I am calendar-wise since the injury, my range of motion is great and my strength is good, too. Perhaps next week, I&#8217;ll be able to spend time out of my walking boot in a regular shoe assisted by a crutch. This will allow me to work on re-establishing my normal gait.</p>
<p>Already this experience has been rich in life lessons for me:</p>
<ul>
<li>When you listen to your care givers, good things can and do happen! (Wish I&#8217;d learned this in my twenties.)</li>
<li>I still have a ways to go until I&#8217;m a consistently patient person. (Sometimes, I&#8217;m not a patient <em>patient</em>!)</li>
<li>I value my independence, and I have a hard time asking for help.</li>
<li>Handicapping injuries offer a great opportunity to slow down and experience the subtler, finer points of life (e.g. wonderful family moments).</li>
<li>When operating on a single crutch, the crutch goes on the strong side, not alongside the injury. (My physical therapist had a good laugh&#8211;and said that it&#8217;s not uncommon to see patients operate incorrectly.)</li>
<li>I thrive on communication (e.g. interacting with colleagues at work). While I&#8217;m grateful to be able to work regularly from home&#8211;even more so since my injury&#8211;there is simply no substitute for face-to-face communication.</li>
<li>Be conservative in your recovery goals, allowing more opportunity to be pleasantly surprised. Don&#8217;t confuse this with owning your recovery, being confident and taking initiative.</li>
<li>The human walk is truly elegant. It seems so simple, but there&#8217;s a lot to it when you have to deconstruct and re-learn it. Coordination requires more effort and focus than strength requires.</li>
</ul>
<p>You may have noticed that I&#8217;ve been light on blogging this month, after starting the year off at a better pace (for me, anyway). Needless to say, I&#8217;ve been focusing my spare (and non-spare) time on my recovery. Let&#8217;s see&#8230;post a blog&#8230;regain ability to walk&#8230;blog&#8230;walk&#8230;hmmm&#8230;  <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Suffice it to say, for now, that plenty of good things are happening where my professional life is concerned, too (e.g. cool new software features and products forthcoming from EMC). More on that later.</p>
<p>In the meantime, thanks for all the well-wishes and support. Cheers&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=CE5Wibh-atg:51wD00socFk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=CE5Wibh-atg:51wD00socFk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=CE5Wibh-atg:51wD00socFk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=CE5Wibh-atg:51wD00socFk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=CE5Wibh-atg:51wD00socFk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=CE5Wibh-atg:51wD00socFk:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=CE5Wibh-atg:51wD00socFk:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/CE5Wibh-atg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/03/recovering-well/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/03/recovering-well/</feedburner:origLink></item>
		<item>
		<title>CMIS Interoperability</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/O-qf5EbPoEw/</link>
		<comments>http://craigrandall.net/archives/2009/03/cmis-interoperability/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:50:43 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[CMIS Explorer]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[interoperability]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=924</guid>
		<description><![CDATA[CMS Wire recently picked up the development of CMIS Explorer by Shane Johnson (@shane_dev) at CityTech. CMIS Explorer (download) is a browser application written in Adobe AIR and Flex that uses the RESTful AtomPub binding of the proposed CMIS standard to interact with CMIS-compliant repositories.
Already early access support for CMIS is available from EMC, IBM [...]]]></description>
			<content:encoded><![CDATA[<p>CMS Wire recently <a title="Hiking Through CMIS Repos with CMIS Explorer" href="http://www.cmswire.com/cms/enterprise-cms/hiking-through-cmis-repos-with-cmis-explorer-004027.php" target="_blank">picked up the development of CMIS Explorer</a> by <a title="Shane's blog" href="http://blogs.citytechinc.com/sjohnson/" target="_blank">Shane Johnson</a> (<a title="Shane on Twitter" href="http://twitter.com/shane_dev" target="_blank">@shane_dev</a>) at CityTech. CMIS Explorer (<a href="http://code.google.com/p/cmis-explorer/" target="_blank">download</a>) is a browser application written in Adobe AIR and Flex that uses the RESTful AtomPub binding of the proposed CMIS standard to interact with CMIS-compliant repositories.</p>
<p>Already <a title="EMC Documentum CMIS EA2" href="http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/" target="_blank">early access support for CMIS</a> is available from EMC, IBM and Alfresco. Such support makes it possible for applications like <a href="http://blogs.citytechinc.com/sjohnson/?p=60" target="_blank">CMIS Explorer</a> to be applied to a variety of content repositories in ways not possible before <a title="CMIS - Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a>.</p>
<p>As fellow OASIS CMIS TC member Florent Guillaume from Nuxeo <a title="Hiking Through CMIS Repos with CMIS Explorer" href="http://www.cmswire.com/cms/enterprise-cms/hiking-through-cmis-repos-with-cmis-explorer-004027.php" target="_blank">comments</a>, though, CMIS is not yet a formal (fixed) standard. It is under development and somewhat fluid.</p>
<p>When a content repository vendor provides draft support, don&#8217;t <em>assume</em> that such support fully conforms to the current draft specification (e.g. v0.5). If you&#8217;re an application developer like Shane, you can <em>know</em> conformance exists by first building against what is specified on <a title="OASIS Content Management Interoperability Services (CMIS) TC" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cmis" target="_blank">the OASIS site for CMIS</a> and then pointing your application at desired content repository or repositories.</p>
<p>For example, you can point CMIS Explorer at a Documentum content repository via EMC CMIS support EA2 to search and to see types.</p>
<p align="middle"><img src="http://craigrandall.net/cmis/cmis-explorer-search.jpg" alt="Searching a Docbase via CMIS Explorer" /></p>
<p align="middle"><img src="http://craigrandall.net/cmis/cmis-explorer-types.jpg" alt="Reviewing Docbase types via CMIS Explorer" /></p>
<p>However, while basic interoperability seems OK, something prevents actual browsing functionality in CMIS Explorer from working with Documentum. In its com.citytechinc.cmis.Repository.setFolder() method, CMIS Explorer tries to get folder objects from root children via the following condition:<br /><code>f.object.properties.propertyString.(@name=='BaseType').value == "folder"</code><br />However, draft CMIS specification v0.5 does not define a BaseType property, not does the EMC CMIS support EA2 contain this property. As a result, CMIS Explorer cannot find any folder object in root children, which prevents it from being able to browse a Docbase.</p>
<p>To be fair, my colleague, Norrie Quinn, has already pointed out this matter on <a href="http://blogs.citytechinc.com/sjohnson/?p=60" target="_blank">Shane&#8217;s post</a>, and Shane has replied.</p>
<p>My focus here is simply as follows: <strong>It&#8217;s important for applications to leverage the currently proposed CMIS bindings from OASIS rather than a particular vendor&#8217;s implementation of these bindings in order to promote interoperability.</strong></p>
<p>It will be good to see the emergence of CMIS-based applications that go beyond exploration, navigation and portal-style user experiences. Such applications will help to influence the CMIS roadmap beyond version 1.0.</p>
<p>In the meantime, it&#8217;s great to see open source efforts like CMIS Explorer take root today. Thanks, Shane.</p>
<p>P.S. It would be good to see a community form around CMIS-based application development (e.g. shine a light on individual efforts, potentially pool interest and resources, solicit ideas and challenges, etc.). If you&#8217;re interested in something like, please leave me a comment. In the meantime, I plan to promote community efforts here as best I can. Thanks.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=O-qf5EbPoEw:8mD239ckRPw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O-qf5EbPoEw:8mD239ckRPw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O-qf5EbPoEw:8mD239ckRPw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O-qf5EbPoEw:8mD239ckRPw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O-qf5EbPoEw:8mD239ckRPw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=O-qf5EbPoEw:8mD239ckRPw:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=O-qf5EbPoEw:8mD239ckRPw:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/O-qf5EbPoEw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/03/cmis-interoperability/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/03/cmis-interoperability/</feedburner:origLink></item>
		<item>
		<title>Fallen weekend warrior</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/q8pEwu8AhbQ/</link>
		<comments>http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 22:48:38 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Achilles]]></category>
		<category><![CDATA[basketball]]></category>
		<category><![CDATA[cast]]></category>
		<category><![CDATA[injury]]></category>
		<category><![CDATA[surgery]]></category>

		<guid isPermaLink="false">http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/</guid>
		<description><![CDATA[“What happened to you?”
Since my return to the office this week, it’s pretty obvious that something did, indeed, happen to me.

No, I didn’t work on “Red Dog” (i.e. Windows Azure)—for those of you were attended last year’s PDC and saw the bright red shoes worn proudly by those on the main stage during keynotes.
What you [...]]]></description>
			<content:encoded><![CDATA[<p>“What happened to you?”</p>
<p>Since my return to the office this week, it’s pretty obvious that something did, indeed, happen to me.</p>
<p align="middle"><img src="http://craigrandall.net/images/090219-cast2.jpg" /></p>
<p>No, I didn’t work on “Red Dog” (i.e. <a title="Azure is like NT" href="http://craigrandall.net/archives/2008/11/azure-is-like-nt/">Windows Azure</a>)—for those of you were attended last year’s PDC and saw the bright red shoes worn proudly by those on the main stage during keynotes.</p>
<p>What you see in the picture above, unfortunately, is a <em>cast</em>—my second cast in a series of casts, too. Red is the color chosen by my son, who I empowered to be my “awkward restraint device” designer. Currently the leading color for my next cast is maroon—although camouflage is a close second. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>While playing a league basketball game on Sunday 2/8 I ruptured my Achilles tendon, as per the ER doctor&#8217;s opinion. This diagnosis was confirmed when I saw an orthopedic doctor on Tuesday 2/10. I had a successful surgery to repair my tendon on Wednesday 2/11.</p>
<p>By the way, if you have a ruptured Achilles tendon, you don&#8217;t want <em>the kind I apparently have</em>. My rupture involves my calf muscle, too (i.e. more where the tendon and muscle connect than just the tendon alone). So, my recovery time will be extended. </p>
<p>Yesterday I had my stitches removed—I look like Frankenstein where my incision exists—and received my second cast. Boy, did it feel good not to have anything touching my skin for that brief period of time!</p>
<p>Basically I’ll be in a series of casts for the next several weeks, being put into a new cast roughly every week. The goal of this process is to stretch the repaired tendon so that my foot is perpendicular to my lower leg (i.e. bent at a 90 degree angle). So, with each new cast, my foot will be positioned with more tension/stretch toward that goal. Yesterday I began at 50 degrees.</p>
<p>Achieving 90 degrees will allow me to proceed into my next phase of recovery: physical therapy. It will also mean the end of casts and the start of a wearing a walking boot instead.</p>
<p>At the outside, it will be about six months until I fully recover (i.e. I can run and play basketball again).</p>
<p>Fun, eh?</p>
<p>But I’m thankful for a very loving and supportive wife and family. My employer, EMC, and my work colleagues are great, too. I’m fortunate to have a job that doesn’t require me to be on my feet or to perform heavy physical labor—especially during these tough economic times.</p>
<p>Besides, this will all pass before you know it. I certainly won’t take my ability to walk unassisted let alone run anytime soon… <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>P.S. I wasn’t fouled while playing basketball either, although I thought that someone took a bat to my leg right above my heel at the time. I understand through teammates that I was actually alone while making a defensive rebound. Regardless of playing the incident over and over in my mind, I can’t recall if the “pop” I heard (internally) was before or after landing—just recall landing like a bag of rocks on the hardwood floor.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=q8pEwu8AhbQ:lxsOz2xWqYE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=q8pEwu8AhbQ:lxsOz2xWqYE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=q8pEwu8AhbQ:lxsOz2xWqYE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=q8pEwu8AhbQ:lxsOz2xWqYE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=q8pEwu8AhbQ:lxsOz2xWqYE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=q8pEwu8AhbQ:lxsOz2xWqYE:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=q8pEwu8AhbQ:lxsOz2xWqYE:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/q8pEwu8AhbQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/02/fallen-weekend-warrior/</feedburner:origLink></item>
		<item>
		<title>JIRA Client for OASIS</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/GREPd2_dXhk/</link>
		<comments>http://craigrandall.net/archives/2009/02/jira-client-for-oasis/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:30:18 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ALM Works]]></category>
		<category><![CDATA[issue tracker]]></category>
		<category><![CDATA[JIRA Client]]></category>
		<category><![CDATA[OASIS]]></category>
		<category><![CDATA[TC]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=890</guid>
		<description><![CDATA[Thanks to a recent IT change concerning the OASIS JIRA server, I can now leverage ALM Works JIRA Client to work OASIS CMIS TC issues.

Furthermore, all OASIS Issue Trackers in the single OASIS JIRA server are available to me&#8211;or any other OASIS member!
Here is how&#8230;

Visit ALM Works and download JIRA Client.
Install JIRA Client and choose [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to a recent IT change concerning the OASIS JIRA server, I can now leverage <a title="JIRA Client overview" href="http://almworks.com/jiraclient/overview.html" target="_blank">ALM Works JIRA Client</a> to work <a title="OASIS Content Management Interoperability Services Technical Committee" href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=cmis" target="_blank">OASIS CMIS TC</a> issues.</p>
<p align="middle"><img src="http://craigrandall.net/cmis/oasis-site-license-splash-dialog.jpg" alt="JIRA Client for OASIS splash screen" /></p>
<p>Furthermore, <strong>all OASIS Issue Trackers in the single OASIS JIRA server are available to me&#8211;<em>or any other OASIS member</em></strong>!</p>
<p>Here is how&#8230;</p>
<ol>
<li>Visit ALM Works and <a title="JIRA Client download" href="http://almworks.com/jiraclient/download.html" target="_blank">download JIRA Client</a>.</li>
<li>Install JIRA Client and choose &#8220;Run JIRA Client&#8221; before exiting the installer.</li>
<li>Enter your license key. That is, download <a title="JIRA Client license file for OASIS usage" href="http://craigrandall.net/cmis/deskzilla_oasis.license" target="_blank">deskzilla_oasis.license</a> to your local %USERPROFILE%\.JIRAClient directory (e.g. C:\Documents and Settings\YourUserName\.JIRAClient, on a Windows XP machine), and point your JIRA Client instance to your local license file (i.e. select it).</li>
<li>Verify the following license data is presented upon selection:<br /><code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Site license<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Licensed to: open-source community<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Support ID: 4000383<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Supported servers:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JIRA [http://tools.oasis-open.org/issues]</code></li>
<li>Restart JIRA Client in order for this license to take effect (i.e. Start | Programs | JIRA Client | JIRA Client).</li>
<li>Configure connection (i.e. enter your OASIS member login credentials).</li>
<li>Connect and select the OASIS issue trackers of interest.</li>
<li>Initialize connection, which may take a short amount of time during first-time initialization.</li>
</ol>
<p>At this point you should be able to leverage JIRA Client against OASIS issue trackers (e.g. <a title="Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/">CMIS</a>).</p>
<p>Credits&#8230;</p>
<ul>
<li>A big thank you to ALM Works founder, <a href="http://www.linkedin.com/in/igorsereda" target="_blank">Igor Sereda</a>, for his support of open source projects and organizations like OASIS.</li>
<li>Thanks also go to Mary McRae of OASIS for gently vetting JIRA Client licensing details, since I&#8217;m not an OASIS employee.</li>
</ul>
<p>Just to be clear, this ALM Works software is not being provided by, nor licensed to OASIS as an organization. The JIRA Client license from ALM Works isn’t granted to OASIS, but it’s restricted to access the OASIS JIRA repository. Each person who installs will need to determine whether or not they are able to accept the licensing agreements for their organization.</p>
<p>Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=GREPd2_dXhk:ZD94qf3v3aU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GREPd2_dXhk:ZD94qf3v3aU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GREPd2_dXhk:ZD94qf3v3aU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GREPd2_dXhk:ZD94qf3v3aU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GREPd2_dXhk:ZD94qf3v3aU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=GREPd2_dXhk:ZD94qf3v3aU:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=GREPd2_dXhk:ZD94qf3v3aU:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/GREPd2_dXhk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/jira-client-for-oasis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/02/jira-client-for-oasis/</feedburner:origLink></item>
		<item>
		<title>Updated DFS Developer Guide on EDN</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/ZYncvEvtMnY/</link>
		<comments>http://craigrandall.net/archives/2009/02/updated-dfs-dev-guide-on-edn/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 21:09:12 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[dev guide]]></category>
		<category><![CDATA[EDN]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=885</guid>
		<description><![CDATA[My colleague and technical writer, Joe Ferrie, just uploaded the second edition of the DFS 6.5 Development Guide to the EMC Developer Network (EDN) here. The information here is applicable to DFS 6.5 and DFS 6.5 SP1.
(I&#8217;m still working on this, but at least this content is available via EDN.)
Some highlights of this edition are [...]]]></description>
			<content:encoded><![CDATA[<p>My colleague and technical writer, Joe Ferrie, just uploaded the <strong>second edition of the DFS 6.5 Development Guide</strong> to the EMC Developer Network (EDN) <a title="EMC Documentum Foundation Services 6.5 Development Guide" href="https://community.emc.com/docs/DOC-2820" target="_blank">here</a>. The information here is applicable to DFS 6.5 and DFS 6.5 SP1.</p>
<p>(I&#8217;m still working on <a title="Wikify Documentum already" href="http://craigrandall.net/archives/2007/11/wikify-documentum-already/">this</a>, but at least this content is available via <a title="EMC Developer Network" href="https://community.emc.com/community/edn" target="_blank">EDN</a>.)</p>
<p>Some highlights of this edition are as follows:</p>
<ul>
<li>A new content transfer chapter, with practical information about uploading and downloading content using Base64 and MTOM, as well as using UrlContent to get content from Accelerated Content Services (ACS). Examples are provided for WSDL-based consumers, as well as productivity layer consumers. Unified Client Facilities (UCF) now gets its own chapter.</li>
<li>Details of Java productivity layer dependencies so that you can more easily understand what JAR files you need on your ClassPath given for your particular development scenario</li>
<li>A new chapter comparing DFC and DFS, which is expected to be useful for DFC developers who are ramping up with DFS and want to compare the general approach and specific operations</li>
<li>A revised explanation of the sometimes confusing restrictions on retrieving deep relationships in DataObjects.</li>
</ul>
<p>Thanks, Joe!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZYncvEvtMnY:gw1wO6pqvVg:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZYncvEvtMnY:gw1wO6pqvVg:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZYncvEvtMnY:gw1wO6pqvVg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZYncvEvtMnY:gw1wO6pqvVg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZYncvEvtMnY:gw1wO6pqvVg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZYncvEvtMnY:gw1wO6pqvVg:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZYncvEvtMnY:gw1wO6pqvVg:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/ZYncvEvtMnY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/updated-dfs-dev-guide-on-edn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/02/updated-dfs-dev-guide-on-edn/</feedburner:origLink></item>
		<item>
		<title>Dynamic value assistance using DFS</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/ZiiW9XbAG6Y/</link>
		<comments>http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 05:09:16 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[DFS]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[schema]]></category>
		<category><![CDATA[value-assist]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/</guid>
		<description><![CDATA[Continuing my collaboration with John Sweeney (or his collaboration with me), today we’ll examine the DFS Schema service and do so in .NET as a direct-to-WSDL consumer. This tutorial builds upon a previous tutorial; so, if you’re not already familiar with it, please read this post and play with this sample. You’ll also need and [...]]]></description>
			<content:encoded><![CDATA[<p>Continuing my collaboration with John Sweeney (or his collaboration with me), today we’ll examine the <a title="Documentum Foundation Services" href="http://craigrandall.net/archives/2007/05/documentum-foundation-services/" target="_blank">DFS</a> Schema service and do so in .NET as a direct-to-WSDL consumer. This tutorial builds upon a previous tutorial; so, if you’re not already familiar with it, please read <a title="Consuming DFS WSDL in Visual Studio" href="http://craigrandall.net/archives/2009/01/consuming-dfs-wsdl-in-visual-studio/" target="_blank">this post</a> and play with <a title="Direct-to-WSDL DFS services consumer sample" href="https://community.emc.com/docs/DOC-2604" target="_blank">this sample</a>. You’ll also need and be familiar with using Documentum Administrator (DA) and Documentum Composer 6.5 SP1.</p>
<p>Thanks to John for doing the legwork in this tutorial and for allowing me to share it all with you here. (Although, I’d really like to see John blog about this directly; he has a lot to share.)</p>
<p>Not only can the DFS Schema service return value-assist values, it also supports dynamic value assistance, including the handling of dependencies (e.g. one attribute value-assist dynamically built based on the value of another attribute).</p>
<p>This tutorial demonstrates how to use the DFS Schema service to perform dynamic value-assist tasks. Knowledge of Documentum Administrator, Documentum Composer 6.5 SP1, DFS 6.5 SP1, Visual Studio 2008 and WSDL-based consumption of DFS with .NET is assumed. </p>
<p>Before we begin, we&#8217;ll need to create users, groups and an object type to use as test data.</p>
<p><strong>Step 1 – Create users and groups</strong> (to be performed with Documentum Administrator)</p>
<p>1. Create three groups named writers, reviewers and publishers in your repository.</p>
<p>2. Create six users. Name them appropriately, but for this tutorial, they will be referred to as User1–6. Put the users in the new groups, as specified in the following chart:</p>
<p align="middle">
<table cellspacing="0" cellpadding="5" width="296" border="1">
<tbody>
<tr>
<td valign="top" width="150"><font color="#0000ff">&#160; Group</font></td>
<td valign="top" width="144"><font color="#0000ff">&#160; Members</font></td>
</tr>
<tr>
<td valign="top" width="152">&#160; writers</td>
<td valign="top" width="145">&#160; User1, User2</td>
</tr>
<tr>
<td valign="top" width="152">&#160; reviewers</td>
<td valign="top" width="146">&#160; User3, User4</td>
</tr>
<tr>
<td valign="top" width="152">&#160; publishers</td>
<td valign="top" width="146">&#160; User5, User6</td>
</tr>
</tbody>
</table>
<p></p>
<p><strong>Step 2 – Create a new object type</strong> (to be performed with Documentum Composer 6.5 SP1)</p>
<p>1. Open Documentum Composer and create a new project.</p>
<p>2. Add a new type called kb_document with a supertype of dm_document.</p>
<p>3. Add a new attribute to the type named document_state (as shown in the following image).</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-01.jpg" /></p>
<p>4. Expand the document_state attribute and select Value mapping.</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-02.jpg" /></p>
<p>5. In the Conditional Assistance section, click New&#8230;</p>
<p>6. Add Draft,Review,Publish as values of Fixed List (as shown in the following image) and click OK.</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-03.jpg" /></p>
<p>Your Conditional Assistance section should now look like this:</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-04.jpg" /></p>
<p>7. Add another new attribute to the type named assigned_to as shown in the following image.</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-05.jpg" /></p>
<p>8. Expand the assigned_to attribute and select Value mapping.</p>
<p>9. In the Conditional Assistance section, click New&#8230;</p>
<p>10. Add the following query:</p>
<p><code>select users_names from dm_group where group_name = 'writers'</code></p>
<p>Set the other fields (as shown in the following image).</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-06.jpg" /></p>
<p>The value-assist list will be populated with users who are members of the writers group by default, when document_state does not have a value of Review or Publish.</p>
<p>11. In the Conditional Assistance section, click New&#8230;</p>
<p>12. Add the following query:</p>
<p><code>select users_names from dm_group where group_name = 'reviewers'</code></p>
<p>Set the other fields (as shown in the following image).</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-07.jpg" /></p>
<p>The value in the Expression field will cause the value-assist list to be populated with users who are members of the reviewers group, but only when document_state has a value of &quot;Review.&quot;</p>
<p>13. In the Conditional Assistance section, click New&#8230;</p>
<p>14. Add the following query:</p>
<p><code>select users_names from dm_group where group_name = 'publishers'</code></p>
<p>Set the other fields (as shown in the following image).</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-08.jpg" /></p>
<p>The value in the Expression field will cause the value-assist list to be populated with users who are members of the publishers group, but only when document_state has a value of &quot;Publish.&quot;</p>
<p>Your Conditional Assistance section should now look like the following:</p>
<p align="middle"><img src="http://craigrandall.net/dfs/schema-tutorial-09.jpg" /></p>
<p>15. Install the Documentum project to your repository.</p>
<p><strong>Step 3 – Retrieve the value-assist list</strong> (using C# and the .NET Framework 3.0 or higher)</p>
<p>Note: the ServiceContextHeader class used in this tutorial comes from <a title="Direct-to-WSDL DFS services consumer sample" href="https://community.emc.com/docs/DOC-2604" target="_blank">this prior sample</a>, as noted above.</p>
<p>The following code snippet will return group members in the ValueAssist Values list. A PropertySet is created for document_state. The value of document_state will alter the dynamic-assist values for the assigned_to property.</p>
<pre class="csharpcode"><span class="rem">// Get a reference to the DFS Schema service</span>
SchemaServicePortClient schemaService =
    <span class="kwrd">new</span> SchemaServicePortClient(<span class="str">&quot;SchemaServicePort&quot;</span>); 

StringProperty sp = <span class="kwrd">new</span> StringProperty();
sp.name = <span class="str">&quot;document_state&quot;</span>;
<span class="rem">// assigned_to will have different dynamic-assist values, </span>
<span class="rem">// depending upon the value set here</span>
sp.Value = <span class="str">&quot;Publish&quot;</span>; <span class="rem">// or Review or Draft</span>

<span class="rem">// Create a PropertySet for document_state, which assigned_to depends upon</span>
PropertySet ps = <span class="kwrd">new</span> PropertySet();
ps.Properties = <span class="kwrd">new</span> Property[1];
ps.Properties[0] = sp; 

<span class="kwrd">using</span> (OperationContextScope scope =
           <span class="kwrd">new</span> OperationContextScope(schemaService.InnerChannel))
{
    <span class="rem">// Add the ServiceContextHeader info to the outgoing request</span>
    OperationContext.Current.OutgoingMessageHeaders.Add(
        <span class="kwrd">new</span> ServiceContextHeader(repositoryName, userName, password)); 

    <span class="rem">// Get the values for the assigned_to property</span>
    ValueAssist valueAssist = schemaService.getDynamicAssistValues(
        repositoryName, <span class="str">&quot;DEFAULT&quot;</span>, <span class="str">&quot;kb_document&quot;</span>, <span class="str">&quot;assigned_to&quot;</span>, ps, <span class="kwrd">null</span>); 

    <span class="rem">// Display the values</span>
    <span class="kwrd">if</span> (valueAssist != <span class="kwrd">null</span> || valueAssist.Values != <span class="kwrd">null</span>)
    {
        <span class="kwrd">foreach</span> (<span class="kwrd">string</span> s <span class="kwrd">in</span> valueAssist.Values)
            MessageBox.Show(s, <span class="str">&quot;Value Assist Value&quot;</span>);
    }
}</pre>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>The following table shows the expected results:</p>
<p align="middle">
<table cellspacing="0" cellpadding="5" width="296" border="1">
<tbody>
<tr>
<td valign="top" width="150"><font color="#0000ff">&#160; document_state value</font></td>
<td valign="top" width="144"><font color="#0000ff">&#160; assigned_to values</font></td>
</tr>
<tr>
<td valign="top" width="152">&#160; Draft</td>
<td valign="top" width="145">&#160; User1, User2</td>
</tr>
<tr>
<td valign="top" width="152">&#160; Review</td>
<td valign="top" width="146">&#160; User3, User4</td>
</tr>
<tr>
<td valign="top" width="152">&#160; Publish</td>
<td valign="top" width="146">&#160; User5, User6</td>
</tr>
</tbody>
</table>
<p></p>
<p>It is worth noting that if you execute SchemaService.getTypeInfo for kb_document, and examine the assigned_to property, you can determine that the property has dependencies. The returned TypeInfo.PropertyInfos[n].Dependencies will contain an entry for document_state. You can check this beforehand as a way of determining if setting one property (document_state) should trigger a refresh of the value list (calling getDynamicAssistValues again). This is very useful for a picklist property page where the values of one list depend on the value of another.</p>
<p>Here endeth the lesson&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Update 2/6/2009: In order for you to spend more time understanding dynamic value assistance with DFS, I&#8217;ve uploaded a Visual Studio project to EDN <a title="<br />
Dynamic value assistance using DFS<br />
" href="https://community.emc.com/docs/DOC-2830" target="_blank">here</a>. Enjoy.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZiiW9XbAG6Y:6OEUbVkdxFw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZiiW9XbAG6Y:6OEUbVkdxFw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZiiW9XbAG6Y:6OEUbVkdxFw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZiiW9XbAG6Y:6OEUbVkdxFw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZiiW9XbAG6Y:6OEUbVkdxFw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=ZiiW9XbAG6Y:6OEUbVkdxFw:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=ZiiW9XbAG6Y:6OEUbVkdxFw:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/ZiiW9XbAG6Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/</feedburner:origLink></item>
		<item>
		<title>Mr. Infrastructure</title>
		<link>http://feedproxy.google.com/~r/craigrandall/~3/WBT3zHLsjDw/</link>
		<comments>http://craigrandall.net/archives/2009/02/mr-infrastructure/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:08:09 +0000</pubDate>
		<dc:creator>Craig Randall</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[GRC]]></category>
		<category><![CDATA[IT]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=875</guid>
		<description><![CDATA[My EMC colleague, Edward Newman, CTO of the Infrastructure Consulting Services organization, recently started to blog. Edward is quietly conspiring behind the scenes to change IT.  
]]></description>
			<content:encoded><![CDATA[<p>My EMC colleague, Edward Newman, CTO of the Infrastructure Consulting Services organization, recently started to <a title="Mr. Infrastructure" href="http://mrinfrastructure.com/" target="_blank">blog</a>. Edward is quietly conspiring behind the scenes to change IT. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/craigrandall?a=WBT3zHLsjDw:_S7YPgAuCzA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WBT3zHLsjDw:_S7YPgAuCzA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WBT3zHLsjDw:_S7YPgAuCzA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WBT3zHLsjDw:_S7YPgAuCzA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WBT3zHLsjDw:_S7YPgAuCzA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/craigrandall?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/craigrandall?a=WBT3zHLsjDw:_S7YPgAuCzA:3QFJfmc7Om4"><img src="http://feeds.feedburner.com/~ff/craigrandall?i=WBT3zHLsjDw:_S7YPgAuCzA:3QFJfmc7Om4" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/craigrandall/~4/WBT3zHLsjDw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/mr-infrastructure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://craigrandall.net/archives/2009/02/mr-infrastructure/</feedburner:origLink></item>
	</channel>
</rss>
