<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Craig's Musings &#187; Content management</title>
	<atom:link href="http://craigrandall.net/archives/categories/technology/content-mgmt/feed/" rel="self" type="application/rss+xml" />
	<link>http://craigrandall.net</link>
	<description>Thoughts about software architecture, books and life</description>
	<lastBuildDate>Wed, 08 Feb 2012 22:52:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>		<item>
		<title>The Experience Architecture</title>
		<link>http://craigrandall.net/archives/2011/10/the-experience-architecture/</link>
		<comments>http://craigrandall.net/archives/2011/10/the-experience-architecture/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 16:15:11 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[CX]]></category>
		<category><![CDATA[Digital Marketing]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1582</guid>
		<description><![CDATA[Tweet The Experience Architecture (MAX 2011) View more presentations from Craig Randall. In my #AdobeMAX session today, I presented a set of experience architecture principles with my colleague Marcel Boucher as follows: Modularity is critical to &#8216;better experience faster&#8217; Everything is content (and content is managed in a repository) Context is king Cloud first, mobile [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1582" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FrnlpHZ&amp;via=craigsmusings&amp;text=The%20Experience%20Architecture&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F10%2Fthe-experience-architecture%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><iframe title="AdobeTV Video Player" width="480" height="296" src="http://tv.adobe.com/embed/802/11245/" frameborder="0" allowfullscreen scrolling="no"></iframe></p>
<div style="width:425px" id="__ss_9533832"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/the-experience-architecture-max-2011" title="The Experience Architecture (MAX 2011)">The Experience Architecture (MAX 2011)</a></strong><object id="__sse9533832" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=theexperiencearchitecturemax2011-111004001304-phpapp01&#038;stripped_title=the-experience-architecture-max-2011&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse9533832" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=theexperiencearchitecturemax2011-111004001304-phpapp01&#038;stripped_title=the-experience-architecture-max-2011&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>In my <a href="http://search.twitter.com/search?q=%23AdobeMAX" title="Adobe MAX 2011">#AdobeMAX</a> session today, I presented a set of <em>experience architecture</em> principles with my colleague <a href="http://twitter.com/marcelboucher" title="@marcelboucher">Marcel Boucher</a> as follows:</p>
<ul>
<li><a href="http://craigrandall.net/archives/2011/07/modularity-in-adep/" title="Modularity is critical to industrialize differentiated experience">Modularity is critical to &#8216;better experience faster&#8217;</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/everything-is-content/" title="Everything is content">Everything is content (and content is managed in a repository)</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/context-is-king/" title="Context is king">Context is king</a></li>
<li><a href="http://craigrandall.net/archives/2011/07/cloud-1st-mobile-1st-social-1st/" title="Cloud first, mobile first, social first">Cloud first, mobile first, social first</a></li>
</ul>
<p>I&#8217;ve gone into greater detail about these principles in a technical white paper that is available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Enterprise Developer Center" target="_blank">Adobe Enterprise Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform: Architectural principles and choices" target="_blank">PDF download</a>.</p>
<p>During our session, Marcel presented two demonstrations:</p>
<ol>
<li>The first demonstration featured an overall <strong>vision</strong> for customer experience in the retail banking domain. If you weren&#8217;t able to catch this demo live, you can see it presented <a href="http://www.finovate.com/spring11vid/adobe.html" title="Adobe retail banking solution demonstration" target="_blank">here</a> during the FinovateSpring 2011 event. </li>
<li>Marcel&#8217;s second demonstration provided more of the <strong>how</strong> behind the vision in terms of Adobe&#8217;s integration across its <a href="http://www.adobe.com/solutions/customer-experience/web-experience-management.html" target="_blank">Web Experience Management (WEM) solution</a>, <a href="http://www.omniture.com/en/products/analytics/sitecatalyst" target="_blank">SiteCatalyst</a> and <a href="http://www.omniture.com/en/products/conversion/test-and-target" target="_blank">Test&#038;Target</a>. A video similar to Marcel&#8217;s demonstration of this integration is available <a href="http://www.day.com/day/en/products/targeting_optimization.html" target="_blank">here</a>.</li>
</ol>
<p>MAX is always a great event, and the enterprise team at Adobe is looking forward to sharing more with you about Digital Marketing at our upcoming summit in March 2012.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/10/the-experience-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Everything is content</title>
		<link>http://craigrandall.net/archives/2011/07/everything-is-content/</link>
		<comments>http://craigrandall.net/archives/2011/07/everything-is-content/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 20:32:18 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1539</guid>
		<description><![CDATA[TweetIn the Adobe® Digital Enterprise Platform (ADEP), everything is content, and content resides in a repository. There are no loose files somewhere else to manage. Source code, dynamic modules, configuration and even the state of an application reside side by side with marketing collateral, digital assets such as images, audio and video, etc. The content [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1539" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fq0xMEE&amp;via=craigsmusings&amp;text=Everything%20is%20content&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F07%2Feverything-is-content%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>In the <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a> (ADEP), everything is content, and content resides in a repository. There are no loose files somewhere else to manage. Source code, dynamic modules, configuration and even the state of an application reside side by side with marketing collateral, digital assets such as images, audio and video, etc. The content repository recognizes that &#8220;meta&#8221; is in the eye of the beholder.[1] Consequently, there is no justification to treat content (i.e. the file stream) and metadata differently.</p>
<p align="center"><img src="http://craigrandall.net/adep/adep-experience-server-resource-first-request-processing.png" alt="Resource-first request processing in the ADEP Experience Server" /></p>
<p>Since the content repository consistently manages this diversity, the rich set of content services above the repository is uniformly available. For example, the resource-first request processing of the ADEP Experience Server[2] is equally available to traditional content such as Web pages and to applications such as a product configurator. By managing to a wide definition of content, ADEP can reduce the amount of code and effort required to deliver a solution.</p>
<p>Since ADEP provides a virtual content repository that easily connects with existing content silos in an enterprise, &#8220;everything is content&#8221; also means that any existing content is free to participate in serving customer experience (e.g. via marketing campaigns, customer communication, etc.).</p>
<p>Next: <a href="http://craigrandall.net/archives/2011/07/context-is-king/" title="Context is king">context is king</a>.</p>
<p>Update 9/6/2011: The larger technical white paper from which this post was drawn is now available from the <a href="http://www.adobe.com/devnet/enterprise-platform.html" title="Adobe Digital Enterprise Platform Developer Center" target="_blank">ADEP Developer Center</a> as a <a href="http://demand.assets.adobe.com/en/downloads/whitepaper/7958.whitepaper.ADEP_Architecture.en.pdf" title="The Adobe® Digital Enterprise Platform:  Architectural principles and choices" target="_blank">PDF download</a>. Please feel free to provide me with your feedback on that work here. Thanks in advance!</p>
<p>Footnotes:<br />
[1] Content management systems that treat files in a differentiated, somehow more valuable, manner miss the reality that often the metadata around the file has the real business value.<br />
[2] At the core of the ADEP Experience Server is CRX technology that Adobe acquired from Day Software. More on the ADEP Experience Server in a future post.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/07/everything-is-content/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>What is a UX Component?</title>
		<link>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/</link>
		<comments>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 20:16:17 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[xoa]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1480</guid>
		<description><![CDATA[TweetPreviously, I offered some thoughts in response to &#8220;What is XOA?&#8221; To recap, experience-oriented architecture indicates an approach to solution design that is about the customer in, not the underlying systems out. I mentioned the concept of experience components in the Adobe® Digital Enterprise Platform (ADEP) as a concrete expression of XOA for Flex developers, [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1480" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fj7X8Jh&amp;via=craigsmusings&amp;text=What%20is%20a%20UX%20Component%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2011%2F06%2Fwhat-is-a-ux-component%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Previously, I offered some thoughts in response to &#8220;<a href="http://craigrandall.net/archives/2011/06/what-is-xoa/">What is XOA?</a>&#8221; To recap, <em>experience-oriented architecture</em> indicates an approach to solution design that is about the customer in, not the underlying systems out. I mentioned the concept of <em>experience components</em> in the <strong><a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">Adobe® Digital Enterprise Platform</a></strong> (ADEP) as a concrete expression of XOA for Flex developers, noting that XOA is, in fact, technology agnostic.</p>
<p>Now, let&#8217;s talk in more detail about <em>UX Components</em>.</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-makeup.png" title="Click image to enlarge: UX Component makeup"><img src="http://craigrandall.net/adep/thumbs/ux-component-makeup.jpg" alt="UX Component makeup" /></a></p>
<p>Adobe CEM applications use a component model that is oriented toward reuse across a spectrum of applications. At one end of the spectrum we have static applications where individual components are statically linked into an application. At the other end of the spectrum, individual components are placed in a catalog on a server and dynamically injected into an application at runtime. We call these &#8220;experience components&#8221;&#8211;<em>UX Components</em>.</p>
<p>Technically speaking, a UX Component is a combination of MXML and ActionScript classes that is bundled into SWC files that separate concerns and encapsulate each concern behind an interface. Interfaces make the implementation of concerns (i.e. presentation, domain, etc.) replaceable and extensible.</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-decomposition.png" title="Click image to enlarge: Technical decomposition of a UX Component"><img src="http://craigrandall.net/adep/thumbs/ux-component-decomposition.jpg" alt="Technical decomposition of a UX Component" /></a></p>
<p>The fact that a UX Component is well-composed behind a set of interfaces, allows you to focus on the concrete implementation of familiar coding <em>patterns</em> productively.</p>
<p>For example, let&#8217;s assume that the domain model and service integration specified by Adobe for a UX Component is well-suited for your use case, but in order to differentiate your customer experience, you need to implement a custom user interface. By leveraging UX Components in ADEP, you simply focus your attention on implementing a custom view and presentation model that will leverage everything as-is:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-comp-pattern-custom-view.png" title="Click image to enlarge: UX Component pattern: custom view and presentation model"><img src="http://craigrandall.net/adep/thumbs/ux-comp-pattern-custom-view.jpg" alt="UX Component pattern: custom view and presentation model" /></a></p>
<p>Another common requirement involves integrating existing systems into new customer experiences. Depending on your use case, you may be satisfied with a UX Component as provided by Adobe. So, you need only focus on implementing a custom façade to ensure that customer interaction with your experience is integrated with your existing infrastructure:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-comp-pattern-custom-facade.png" title="Click image to enlarge: UX Component pattern: custom application façade"><img src="http://craigrandall.net/adep/thumbs/ux-comp-pattern-custom-facade.jpg" alt="UX Component pattern: custom application façade" /></a></p>
<p>Here is an example of a UX Component:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-look1.png" title="Click image to enlarge: Example UX Component"><img src="http://craigrandall.net/adep/thumbs/ux-component-look1.jpg" alt="Example UX Component" /></a></p>
<p>At the top is a logo component and a navigation bar. The left column has a calendar, and the right column has resources finder and a document viewer. Each of these components are very generic displays of information. For instance, the project calendar is a graphical list of items, actually a tree of items that is rolled up into a Gantt chart. Each of these items has a start date, finish date, phases, a current state shown in color and descriptions.</p>
<p>A UX Component is completely independent of its data source. Simply by injecting a data source at runtime and providing a different skin, a different application experience can be delivered:</p>
<p align="center"><a href="http://craigrandall.net/adep/fulls/ux-component-look2.png" title="Click image to enlarge: Previous UX Component with new look and feel"><img src="http://craigrandall.net/adep/thumbs/ux-component-look2.jpg" alt="Previous UX Component with new look and feel" /></a></p>
<p>Here is the same calendar UX component, with a new skin and a new data source. This shows a charcoal theme, and the data is a product development plan rather than a marketing plan. The renderer for each of the items now shows the phases of the project as colors in the bar.</p>
<p>By creating a well thought out UX Component, where concerns are inheritable, skins are replaceable, and services are injectable, <a href="http://www.adobe.com/solutions/customer-experience/enterprise-platform.html" title="Adobe® Digital Enterprise Platform" target="_blank">ADEP</a> enables you to achieve a high level of reuse while providing both richness and consistency in the experience.</p>
<p><a href="http://craigrandall.net/archives/tag/adep/" title="Posts tagged for Adobe® Digital Enterprise Platform">More on ADEP</a>&#8216;s Composite Application Framework (pka Mosaic) and Client Component Framework (pka Gravity) in future posts&#8230;</p>
<p>Update 7/6/2011: &#8220;<a href="http://craigrandall.net/archives/2011/07/what-is-the-client-component-framework/">What is the Client Component Framework?</a>&#8220;</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2011/06/what-is-a-ux-component/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Day community now a part of Adobe Enterprise Café</title>
		<link>http://craigrandall.net/archives/2010/12/day-in-cafe/</link>
		<comments>http://craigrandall.net/archives/2010/12/day-in-cafe/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 16:20:01 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[Cafe]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[Enterprise Cafe]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[Omniture]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1433</guid>
		<description><![CDATA[TweetA little over a month ago, I encouraged my readers&#8211;many new from the Day Software (now Adobe) community via the Ignite conference in Berlin&#8211;to download and leverage Adobe Enterprise Café. &#8230;the Café is hard at work to integrate the Day community as well. However, you don&#8217;t need to wait for that new version of Café; [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1433" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FhdBZtJ&amp;via=craigsmusings&amp;text=Day%20community%20now%20a%20part%20of%20Adobe%20Enterprise%20Caf%C3%A9&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F12%2Fday-in-cafe%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>A little over a month ago, I encouraged my readers&#8211;many new from the Day Software (now Adobe) community via the Ignite conference in Berlin&#8211;to <a title="When content meets apps, Berlin edition" href="http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/">download and leverage Adobe Enterprise Café</a>.</p>
<blockquote><p>&#8230;the Café is hard at work to integrate the Day community as well. However, you don&#8217;t need to wait for that new version of Café; you can install Café today and when the Day community is integrated, you&#8217;ll receive that update the next time you launch the Adobe AIR application.</p></blockquote>
<p>Hopefully you&#8217;re already receiving value from Café. If you held out for the Day community integration with Café, that day has arrived.</p>
<p>Presenting <strong>Adobe Enterprise Café 1.6</strong>!</p>
<p align="center"><iframe width="224" height="200" frameborder=0 scrolling="no" src="http://cafe.host.adobe.com/download/"></iframe></p>
<p>Update 7/29/2011: Now that the Adobe® Digital Enterprise Platform (ADEP) has been announced, I recommend that you upgrade to <strong>Adobe Enterprise Café 1.8</strong>, which features a new ADEP community that is the combination of the previous LiveCycle and Day Communities.</p>
<p align="center"><img src="http://craigrandall.net/adep/adep-in-cafe.png" alt="Adobe® Digital Enterprise Platform community within Adobe Enterprise Café (since v1.8)" /></p>
<p>For technical insights on ADEP, please follow the <a href="http://craigrandall.net/archives/categories/adobe/adep/" title="Craig's blog posts categorized under Adobe® Digital Enterprise Platform (ADEP)">ADEP category</a> and/or <a href="http://craigrandall.net/archives/tag/adep/" title="Craig's blog posts tagged for Adobe® Digital Enterprise Platform (ADEP)">ADEP tag</a> herein. Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/12/day-in-cafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(Re)Balancing atoms and bits</title>
		<link>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/</link>
		<comments>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 17:54:44 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[Instapaper]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[winnowing]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1413</guid>
		<description><![CDATA[TweetSeveral years ago, I blogged about how I winnowed atom-based content at that time. When I consider my increasingly digital life now, I smile at how out-dated that post seems. Maybe some day I&#8217;ll let go of my hardcopy altogether and go 100% digital. Almost two years after my winnowing (paper-based) content post, I briefly [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1413" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FfXK2A6&amp;via=craigsmusings&amp;text=%28Re%29Balancing%20atoms%20and%20bits&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F11%2Fre-atoms-and-bits%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Several years ago, I blogged about <a title="Winnowing content" href="http://craigrandall.net/archives/2004/01/winnowing-content/">how I winnowed atom-based content at that time</a>. When I consider my increasingly digital life now, I smile at how out-dated that post seems. </p>
<blockquote><p>Maybe some day I&#8217;ll let go of my hardcopy altogether and go 100% digital.</p></blockquote>
<p>Almost two years after my winnowing (paper-based) content post, I <a title="Personal content management evolution" href="http://craigrandall.net/archives/2005/10/personal-cm-evolution/">briefly waxed sentimental about personal content management</a>. Judging by that post&#8217;s imagery, I&#8217;m not sure how much &#8220;evolution&#8221; had actually occurred. I do know that the binders of paper were eventually tosed outright, but even a quick glance at my current technical library at home tells me that I have far from reached any &#8220;evolved&#8221; state.</p>
<p>As a visual person, I tend to value what I can see and tangibly interact with. Books present a particular challenge to me. A good book, in hard cover format especially, is immediately available to give to someone else as a loan or a gift (e.g. from one generation to the next). The same book in electronic format is more subject to the winds of technology (e.g. will there be a reader for this format? what all is required to actually <strong>read</strong> the book in terms of supporting hardware and software? etc.). On the other hand, if I took the time to bookmark or otherwise annotate paper, this could distract subsequent reading by others&#8211;electronic metadata should be more distinctly layered and separable from original content.</p>
<p>Given the choice between hunter or gatherer in a shopping context, I&#8217;m definitely a <em>hunter</em>. Put me in the middle of a men&#8217;s department or clothing store and I&#8217;ll happily panoramically scan the selection, deciding in mere seconds whether there is something for me (to <del datetime="2010-11-27T07:09:30+00:00">kill</del>purchase), or not. (Thankfully, my wife is my primary wardrobe consultant; so, my hunter instincts are necessarily balanced and muted. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) However, as much as I may be a hunter over clothes, I am a serious <em>gatherer</em> of books and music. Places like Barnes &#038; Noble and Borders <em>love</em> guys like me.</p>
<p>So, you might think that my struggle over books (i.e. physical or digital) is a struggle I have with music, too. Perhaps, but I think that my music-as-content evolution is a bit more &#8220;advanced&#8221; and, therefore, may be informative.</p>
<p>Although I still buy physical CDs more than digital downloads, all of my music is immediately rendered in digital format and almost entirely consumed digitally thereafter. Going &#8220;essentially digital&#8221; has enabled me to take full advantage of classification software (e.g. <a href="http://musicbrainz.org/" target="_blank">MusicBrainz</a>, <a href="http://www.freedb.org/" target="_blank">freedb</a>, etc.), playback software (e.g. Apple iTunes, Microsoft Zune, etc.), recommendation engines like <a title="Pandora rocks!" href="http://craigrandall.net/archives/2005/08/pandora-rocks/">Pandora</a>, etc. and also various playback hardware (e.g. an Apple iDevice, laptop, PC, etc.). If I read the liner notes for an album, I do so once (typically after unwrapping the CD). From then on, interaction with music is based on bits rather than atoms (the occasional CD play through my high fidelity entertainment system notwithstanding).</p>
<p>Perhaps with the advent of <a href="http://www.theatlantic.com/technology/print/2010/11/the-undesigned-web/65458/" target="_blank">The Undesigned Web</a>, software like <a href="http://www.instapaper.com" target="_blank">Instapaper</a>, and hardware like iPad, etc., my interaction with reading material will tip to become predominantly digital. Certainly, as I use the <a href="http://www.instapaper.com/extras" target="_blank">Read Later</a> feature of Instapaper, I find it to be a digital equivalent to my paper-based content winnowing approach from years ago. (Tapping into familiar workstreams is always an effective catalyst to change my behavior.)</p>
<blockquote><p>&#8230;if I did go digital my office would be too Spartan.</p></blockquote>
<p>Actually, I think another contributing factor to my attempt at balancing the gathering of atoms with gathering bits instead is the fact that there is limited physical space to house either. Today, it&#8217;s not really a concern over becoming Spartan, it&#8217;s about using limited wall and desktop space to display physical items of the greatest value (e.g. family photos, art, sculpture, etc.).</p>
<p>Just like I&#8217;m able to visualize the &#8220;height&#8221; (or &#8220;depth&#8221;) of, say, my iPod (i.e. the number of digitized albums stored in terms of a stack of CD cases), I&#8217;m beginning to visualize my iPad in a similar manner (i.e. in terms of the stack of print magazines and books available electronically instead). Virtually speaking, such devices &#8220;fill a room.&#8221; </p>
<p>Who knows, I may just have to invest in <a title="DIY Book Scanners Turn Your Books Into Bytes" href="http://www.wired.com/gadgetlab/2009/12/diy-book-scanner/" target="_blank">my own book scanner</a> to help free up some shelf space&#8230; <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/11/re-atoms-and-bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When content meets apps, Berlin edition</title>
		<link>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/</link>
		<comments>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:22:52 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Enterprise Cafe]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1402</guid>
		<description><![CDATA[TweetThanks to everyone at Day Ignite Berlin 2010 who came to the technical track session that I presented this afternoon. In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows: When Content Meets Applications View more presentations from Craig Randall. During this presentation I recommended that you consume my &#8220;Realizing great customer [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1402" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FdjSnwP&amp;via=craigsmusings&amp;text=When%20content%20meets%20apps%2C%20Berlin%20edition&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F11%2Fwhen-content-meets-apps-berlin-edition%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Day Ignite Berlin 2010 who came to the technical track session that I presented this afternoon. In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5658958"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/when-content-meets-applications-5658958" title="When Content Meets Applications">When Content Meets Applications</a></strong><object id="__sse5658958" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=when-content-meets-applicationsber-101103145350-phpapp02&#038;stripped_title=when-content-meets-applications-5658958&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5658958" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=when-content-meets-applicationsber-101103145350-phpapp02&#038;stripped_title=when-content-meets-applications-5658958&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>During this presentation I recommended that you consume my &#8220;Realizing great customer experiences with LiveCycle ES3&#8243; presentation from Adobe MAX 2010, if you&#8217;re interested in more details about the architecture and capabilities of LiveCycle ES3. You will find that presentation <a href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
<p>I also asked you to consider downloading and installing <a href="http://www.adobe.com/devnet/enterprise/cafe.html" target="_blank">Adobe Enterprise Café</a>. Café, as we like to call it in Adobe, helps you stay in touch with the enterprise community, receive news, find information and aggregate content related to Adobe LiveCycle ES (Enterprise Suite), Acrobat, Connect, ColdFusion, the Adobe Flash Platform, and (since its v1.5 release) the Omniture community. Targeted at the general developer ecosystem, Café is the one tool you need to search across the entire community knowledge base and stay in touch with the Adobe teams. Furthermore, the Café is hard at work to integrate the Day community as well. However, you don&#8217;t need to wait for that new version of Café; you can install Café today and when the Day community is integrated, you&#8217;ll receive that update the next time you launch the Adobe AIR application.</p>
<p align="center"><iframe width="224" height="200" frameborder=0 scrolling="no" src="http://cafe.host.adobe.com/download/"></iframe></p>
<p>When I presented this session with Alex Choy in Chicago, <a title="@irina_guseva" href="http://twitter.com/irina_guseva/" target="_blank">Irina Guseva</a> of CMS Wire published her thoughts on the session: &#8220;<a href="http://www.cmswire.com/cms/web-engagement/apps-as-content-or-how-day-and-adobe-may-fit-together-008905.php" target="_blank">Apps as Content, or How Day and Adobe May Fit Together</a>.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe, Day and open development</title>
		<link>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/</link>
		<comments>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 20:37:13 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[CQ5]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[open development]]></category>
		<category><![CDATA[WCM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1395</guid>
		<description><![CDATA[TweetThanks to everyone at Adobe MAX 2010 who came to the session that David Nuescheler, Roy Fielding and I presented. If you weren&#8217;t able to attend our session, it&#8217;s provided below. Roy kicked off the discussion by talking about open development and how open development is critical to architecture. David followed Roy by showing how [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1395" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FaYN4zU&amp;via=craigsmusings&amp;text=Adobe%2C%20Day%20and%20open%20development&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Fadobe-day-and-open-development%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Adobe MAX 2010 who came to the session that <a title="@davidnuescheler" href="http://twitter.com/davidnuescheler" target="_blank">David Nuescheler</a>, <a title="@fielding" href="http://twitter.com/fielding" target="_blank">Roy Fielding</a> and I presented. If you weren&#8217;t able to attend our session, it&#8217;s provided below.</p>
<p>Roy kicked off the discussion by talking about open development and how open development is critical to architecture. David followed Roy by showing how open development principles have been powerfully applied at Day to its products like CQ5, providing live demonstrations to our audience. I wrapped up this discussion by relating WCM and Day content infrastructure (e.g. Sling and CRX) to Adobe&#8217;s CEM platform and specifically to LiveCycle RIA. (For more detail on LiveCycle RIA and other aspects of the LiveCycle ES3 release, which is currently under development, please see <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">my previous post</a>.)</p>
<p>In order to keep the conversation going, I’ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5611687"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/strengthening-adobes-enterprise-platform-with-day-software-and-open-development" title="Strengthening Adobe’s Enterprise Platform with Day Software and Open Development">Strengthening Adobe’s Enterprise Platform with Day Software and Open Development</a></strong><object id="__sse5611687" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=strengthening-adobes-enterprise-platform-with-day-software-and-open-development-101029150356-phpapp01&#038;stripped_title=strengthening-adobes-enterprise-platform-with-day-software-and-open-development&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5611687" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=strengthening-adobes-enterprise-platform-with-day-software-and-open-development-101029150356-phpapp01&#038;stripped_title=strengthening-adobes-enterprise-platform-with-day-software-and-open-development&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>, <a href="http://www.slideshare.net/uncled">David Nuescheler</a> and <a href="http://www.slideshare.net/royfielding">Roy Fielding</a>.</div>
</div>
<p>Update 11/5/2010: You can now <a title="Strengthening Adobe’s Enterprise Platform with Day Software and Open Development" href="http://2010.max.adobe.com/online/2010/MAX289_1288043052218KODZ" target="_blank">watch and listen to this MAX session online</a> (i.e. in synchronized fashion).</p>
<p>Update 12/3/2010: <a title="@jayankandathil" href="http://twitter.com/jayankandathil" target="_blank">Jayan</a> has done a nice job of rounding up LiveCycle-flavored MAX sessions, including this one, <a title="MAX 2010 Sessions With a LiveCycle Flavor" href="http://blogs.adobe.com/livecycle/2010/12/max-2010-sessions-with-a-livecycle-flavor.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When content meets applications</title>
		<link>http://craigrandall.net/archives/2010/10/when-content-meets-apps/</link>
		<comments>http://craigrandall.net/archives/2010/10/when-content-meets-apps/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 22:42:35 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Content]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1360</guid>
		<description><![CDATA[TweetThanks to everyone at Day Ignite Chicago 2010 who came to the technical track session that Alex and I presented&#8211;especially those who stood the entire time in a packed room. In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows: When Content Meets Applications View more presentations from Craig Randall. We&#8217;re very [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1360" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpQZScB&amp;via=craigsmusings&amp;text=When%20content%20meets%20applications&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F10%2Fwhen-content-meets-apps%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Thanks to everyone at Day Ignite Chicago 2010 who came to the technical track session that Alex and I presented&#8211;especially those who stood the entire time in a packed room.</p>
<p>In order to keep the conversation going, I&#8217;ve uploaded this presentation as follows:</p>
<div style="width:425px" id="__ss_5446976"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/craigrandall/when-content-meets-applications" title="When Content Meets Applications">When Content Meets Applications</a></strong><object id="__sse5446976" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whencontentmeetsapps-101014172712-phpapp01&#038;stripped_title=when-content-meets-applications&#038;userName=craigrandall" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse5446976" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=whencontentmeetsapps-101014172712-phpapp01&#038;stripped_title=when-content-meets-applications&#038;userName=craigrandall" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/craigrandall">Craig Randall</a>.</div>
</div>
<p>We&#8217;re very excited at Adobe about the opportunity to work with those at Day Software as fellow colleagues. By working together with you, we believe that great things will emerge from the <em>unified delivery of content plus applications</em>.</p>
<p>P.S. If you&#8217;re not already watching the <a title="Results for #dayignite on Twitter" href="http://twitter.com/#search/%23dayignite" target="_blank">#dayignite</a> tweetstream, why not? <img src='http://craigrandall.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Update 10/18/2010: <a title="@irina_guseva" href="http://twitter.com/irina_guseva/" target="_blank">Irina Guseva</a> published her thoughts on this presentation on CMS Wire: &#8220;<a href="http://www.cmswire.com/cms/web-engagement/apps-as-content-or-how-day-and-adobe-may-fit-together-008905.php" target="_blank">Apps as Content, or How Day and Adobe May Fit Together</a>.&#8221;</p>
<p>Update 10/22/2010: Presentations from Day Ignite Chicago 2010 are appearing <a title="Day Ignite Chicago 2010 presentations on Slideshare" href="http://www.slideshare.net/event/day-ignite-chicago-2010/slideshows" target="_blank">here</a>. Presentations that will also be delivered during Day Ignite Berlin 2010 won&#8217;t appear on Slideshare until after both events have concluded. (That being said, you can see a thorough write-up of David Nuescheler&#8217;s presentation <a title="Sneak Peek into Day's CQ 5.4 CMS" href="http://www.cmswire.com/cms/web-engagement/sneak-peek-into-days-cq-54-cms-dayignite-008854.php" target="_blank">here</a>.) Event photos from Chicago are <a title="Day Ignite Chicago 2010 photos on Shutterfly" href="http://dayignite2010.shutterfly.com/pictures" target="_blank">here</a>.</p>
<p>Update on 10/27/2010: The message first delivered in Chicago around the <em>unified delivery of content and applications</em> was expanded upon in Los Angeles at Adobe MAX 2010, and that presentation is now available <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/10/when-content-meets-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming speaking engagements</title>
		<link>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/</link>
		<comments>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/#comments</comments>
		<pubDate>Tue, 28 Sep 2010 22:54:26 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[CQ]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[dayignite]]></category>
		<category><![CDATA[Ignite]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[opendev]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1347</guid>
		<description><![CDATA[TweetConferences have always been about networking and when you have the privilege to speak at a conference it&#8217;s about engaging with your audience, listening to feedback and sharing ideas. In the next several weeks, I&#8217;ve been given the opportunity to speak at two different venues: Adobe&apos;s annual MAX conference and Day Software&apos;s Ignite conference. This [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1347" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fb7gAg1&amp;via=craigsmusings&amp;text=Upcoming%20speaking%20engagements&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F09%2Fupcoming-speaking-engagements%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Conferences have always been about networking and when you have the privilege to speak at a conference it&#8217;s about engaging with your audience, listening to feedback and sharing ideas.</p>
<p>In the next several weeks, I&#8217;ve been given the opportunity to speak at two different venues: <a title="Adobe Systems Incorporated" href="http://www.adobe.com/" target="_blank">Adobe</a>&apos;s annual <a title="Adobe MAX 2010" href="http://max.adobe.com/" target="_blank">MAX conference</a> and <a href="http://www.day.com/" target="_blank">Day Software</a>&apos;s <a title="Day Ignite 2010: The Innovative Summit" href="http://www.day.com/ignite.html" target="_blank">Ignite conference</a>. This will be my first time speaking at either venue, and I&#8217;m really looking forward to the experiences.</p>
<p>So, if you&#8217;re in Chicago, Los Angeles or Berlin and want to learn more about Adobe&#8217;s focus on customer experience, I encourage you to take advantage of the following opportunities:</p>
<ol>
<li><strong>When Content Meets Applications</strong>, <a title="Day 2, Technical Track" href="http://www.day.com/ignite/chicago/speakers/tracks.html" target="_blank">October 14, 2010, Day Ignite Chicago 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Come hear how the combination of Adobe and Day will help you realize greater customer experiences through contextually agile content and applications that have been previously managed separately.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: Alex Choy, VP of Engineering and Technical Marketing, LiveCycle, &#038; Craig Randall, Principal Scientist, Adobe</li>
<li><strong>Realizing Great Customer Experiences with LiveCycle ES Next</strong>, <a title="Day 1, Develop Track" href="http://2010.max.adobe.com/schedule/by-session/realizing-great-customer-experiences-with-livecycle-es-next/f95a7457-ca6d-44fb-a515-2160de729515" target="_blank">October 25, 2010, Adobe MAX 2010</a> (repeated on 10/27/2010)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hear how focusing on user experience can improve the value of the enterprise applications you deliver. Also learn about architectural changes in the next release of Adobe LiveCycle Enterprise Suite as well as new features in servers, client runtimes, and tools that will allow you to build, deploy, and measure excellent customer experiences.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speaker: Craig Randall, Principal Scientist, Adobe</li>
<li><strong>Strengthening Adobe’s Enterprise Platform with Day Software and Open Development</strong>, <a title="Day 1, Develop Track" href="http://2010.max.adobe.com/schedule/by-session/strengthening-adobes-enterprise-platform-with-day-software-and-open-development/9ab81a0a-c0a4-4096-b994-8dd1d422eaa2" target="_blank">October 25, 2010, Adobe MAX 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Learn how the combination of Day&#8217;s leading web solutions and Adobe&#8217;s enterprise portfolio provides a unique opportunity to developers: a unified web content and application delivery platform. By introducing web content management, digital asset management, and social collaboration to Adobe’s product portfolio, the combination offers developers an impressive set of capabilities to create, manage, distribute, and monetize content while delivering the best experience possible. Learn why open development is the cornerstone of Day&#8217;s R&#038;D strategy for web content management and how it can help software development organizations design more adaptive systems and leverage the power of virtual communities.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: David Nuescheler, CTO, Day Software, Roy Fielding, Chief Scientist, Day Software, &#038; Craig Randall, Principal Scientist, Adobe</li>
<li><strong>When Content Meets Applications</strong>, <a title="Day 2, Technical Track" href="http://www.day.com/ignite/berlin/speakers/tracks.html" target="_blank">November 3, 2010, Day Ignite Berlin 2010</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Come hear how the combination of Adobe and Day will help you realize greater customer experiences through contextually agile content and applications that have been previously managed separately.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Speakers: Alex Choy, VP of Engineering and Technical Marketing, LiveCycle &#038; Craig Randall, Principal Scientist, Adobe</li>
</ol>
<p>See you there! Otherwise, check back later for updates online. Cheers.</p>
<p>Update on 10/14/2010: The presentation for #1, above, is now available <a title="When content meets applications" href="http://craigrandall.net/archives/2010/10/when-content-meets-apps/">here</a>.</p>
<p>Update on 10/27/2010: The presentation for #2, above, is now available <a title="Realizing great customer experiences with LiveCycle ES3" href="http://craigrandall.net/archives/2010/10/realizing-great-customer-experiences-with-livecycle-es3/">here</a>.</p>
<p>Update on 10/29/2010: The presentation for #3, above, is now available <a title="Adobe, Day and open development" href="http://craigrandall.net/archives/2010/10/adobe-day-and-open-development/">here</a>.</p>
<p>Update on 11/3/2010: The presentation for #4, above, is now available <a title="When content meets apps, Berlin edition" href="http://craigrandall.net/archives/2010/11/when-content-meets-apps-berlin-edition/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/09/upcoming-speaking-engagements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe, Customer Experience Management and Day Software</title>
		<link>http://craigrandall.net/archives/2010/07/adobe-cem-day/</link>
		<comments>http://craigrandall.net/archives/2010/07/adobe-cem-day/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 05:00:21 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[CEM]]></category>
		<category><![CDATA[Connect]]></category>
		<category><![CDATA[CQ]]></category>
		<category><![CDATA[CRX]]></category>
		<category><![CDATA[DAM]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[JCR]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[SoCo]]></category>
		<category><![CDATA[WCM]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1328</guid>
		<description><![CDATA[TweetUpdate 10/28/2010: Adobe successfully completes its acquisition of Day Software. Day will operate as a new product line within Adobe&#8217;s Digital Enterprise Solutions Business Unit, joining Acrobat, Connect and LiveCycle. Welcome to all my new teammates! Adobe has just announced a definitive agreement stipulating its intent to acquire Day Software. This acquisition will bolster Adobe&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1328" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FcqDznO&amp;via=craigsmusings&amp;text=Adobe%2C%20Customer%20Experience%20Management%20and%20Day%20Software&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F07%2Fadobe-cem-day%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Update 10/28/2010: <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/201010/102910AdobeAcquiresDaySoftware.html" target="_blank">Adobe successfully completes its acquisition of Day Software</a>. Day will operate as a new product line within Adobe&#8217;s Digital Enterprise Solutions Business Unit, joining Acrobat, Connect and LiveCycle. Welcome to all my new teammates! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a title="Adobe Systems Incorporated" href="http://www.adobe.com/" target="_blank">Adobe</a> has <a title="Adobe to Acquire Day Software" href="http://www.businesswire.com/portal/site/cnnmoney/index.jsp?ndmViewId=news_view&#038;newsId=20100727007505&#038;newsLang=en&#038;ndmConfigId=1000618&#038;vnsId=33" target="_blank">just announced</a> a definitive agreement stipulating its intent to acquire <a href="http://www.day.com/" target="_blank">Day Software</a>. This acquisition will bolster Adobe&#8217;s leadership in Customer Experience Management, bringing Day&#8217;s industry-leading <a href="http://www.day.com/day/en/products/web_content_management.html" target="_blank">Web Content Management</a>, <a href="http://www.day.com/day/en/products/digital_asset_management.html" target="_blank">Digital Asset Management</a> and <a href="http://www.day.com/day/en/products/social_collaboration.html" target="_blank">Social Collaboration</a> applications, better known collectively as <em>CQ</em>, and <em>Web scale</em> content application infrastructure (<a href="http://www.day.com/day/en/products/crx.html" target="_blank">CRX</a>) together with <a title="Adobe® LiveCycle® Enterprise Suite" href="http://www.adobe.com/products/livecycle/" target="_blank">Adobe&#8217;s LiveCycle</a>, <a title="Adobe® Connect™" href="http://www.adobe.com/products/connect/" target="_blank">Connect</a> and other enterprise software offerings&#8211;not to mention <a title="Adobe® Flash® Platform" href="http://www.adobe.com/flashplatform/" target="_blank">Adobe&#8217;s Flash Platform</a> and <a title="Adobe Creative Suite" href="http: //www.adobe.com/products/creativesuite/" target="_blank">industry-leading tools for creative professionals</a>.</p>
<p>There is plenty to talk about in terms of how deeply aligned this acquisition is architecturally, technically and in terms of shared vision, and I plan to use this space to go into more of these details over time (e.g. synergies between <a href="http://www.day.com/day/en/products/web_content_management/targeting_optimization.html"  target="_blank">Day&#8217;s targeting and optimization</a> and <a title="Adobe® Omniture®" href="http://www.omniture.com/" target="_blank">Adobe Omniture</a>&#8216;s capabilities). However, I&#8217;m equally excited by the <em>people</em> involved here.</p>
<p>I&#8217;m looking forward to shortly being able to call folks like <a title="@davidnuescheler" href="http://twitter.com/davidnuescheler" target="_blank">David Nuescheler</a>, <a title="@kevinc2003" href="http://twitter.com/kevinc2003" target="_blank">Kevin Cochrane</a> and <a title="Roy's blog" href="http://roy.gbiv.com/untangled/" target="_blank">Roy T. Fielding</a> not just industry colleagues but fellow Adobe employees. <strong>Welcome to Adobe, Day Software!</strong></p>
<p>For more on Adobe&#8217;s approach to superior customer experience, I encourage you to subscribe to <a title="Adobe CEM blog" href="http://blogs.adobe.com/experiencedelivers/" target="_blank">experiencedelivers.com</a> and/or follow <a title="Adobe CEM on Twitter" href="http://twitter.com/adobecem" target="_blank">@AdobeCEM</a>.</p>
<p>Update 7/28/2010: The Web is all a-buzz about this acquisition, and I would say it&#8217;s with good reason. Simply put: <strong>customer experience wins and therefore customers win, which means that businesses embracing Adobe CEM increase their own profitability</strong>. </p>
<p>Since my brief post above, Adobe has posted a <a title="Adobe to Acquire Day Sofware"  href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/pdfs/201007/072810AdobetoAcquireDaySoftware.pdf" target="_blank">press release</a> and <atitle ="Adobe to Acquire Day Sofware - Frequently Asked Questions" href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/pdfs/201007/072810AdobetoAcquireDaySoftwareFAQ.pdf" target="_blank">FAQ about the acquisition. Rob Tarkoff, SVP and GM of Adobe&#8217;s Digital Enterprise Solutions Business Unit (or DESBU) has also posted his thoughts, offering some <a title="Adobe Expands Enterprise Software Portfolio with Web Content Management - Acquires Day Software" href="http://blogs.adobe.com/conversations/2010/07/adobe_expands_enterprise_softw.html" target="_blank">key takeaways to consider from this acquisition</a>.</atitle></p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/07/adobe-cem-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understanding LiveCycle ES2&#8242;s application model</title>
		<link>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/</link>
		<comments>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/#comments</comments>
		<pubDate>Wed, 19 May 2010 23:15:42 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[appmodel]]></category>
		<category><![CDATA[asset]]></category>
		<category><![CDATA[ES2]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[Workbench]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=1289</guid>
		<description><![CDATA[TweetNote: If you&#8217;re visiting this blog from the Adobe LiveCycle Developer Center or from the Adobe LiveCycle Blog, welcome to my musings. You&#8217;re invited to tell me what you want to know about LiveCycle via a comment. Thanks in advance! This longer-than-usual post is intended to help customers understand why the new application model exists [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1289" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FaxiZP1&amp;via=craigsmusings&amp;text=Understanding%20LiveCycle%20ES2%26%238242%3Bs%20application%20model&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2010%2F05%2Flivecycle-es2-app-model%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Note: If you&#8217;re visiting this blog from the <a href="http://www.adobe.com/devnet/livecycle/" target="_blank">Adobe LiveCycle Developer Center</a> or from the <a title="New In LiveCycle ES2 - 'Applications'"href="http://blogs.adobe.com/livecycle/2010/06/new_in_livecycle_es2_-_applica.html" target="_blank">Adobe LiveCycle Blog</a>, welcome to my musings. You&#8217;re invited to tell me what you want to know about LiveCycle via a comment. Thanks in advance! <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>This longer-than-usual post is intended to help customers understand why the new application model exists in <a title="Adobe LiveCycle Enterprise Suite" href="http://www.adobe.com/products/livecycle/" target="_blank">LiveCycle ES2</a> and understand how to migrate LiveCycle ES assets into ES2 assets, based on business value into doing so. It is meant to complement, not reiterate, other content already published concerning the application model (e.g. the section on migration process, below, is just an example meant to whet the reader’s appetite for more detailed demonstration/conversation elsewhere).</p>
<p>So, without further ado&#8230;</p>
<p>Table of contents:</p>
<ol>
<li><a href="#intro">Introduction</a></li>
<li><a href="#principles">Application model principles</a></li>
<li><a href="#migration>Example migration to ES2 application model</a></li>
<li><a href="#conclusion">Conclusion</a></li>
<li><a href="#resources">Additional resources</a></li>
</ol>
<h3 id="intro">Introduction</h3>
<p>When Adobe LiveCycle ES2 released, major advancements and changes occurred in several areas of application development. The purpose of this white paper is to explain these advances specifically in the context of migrating existing LiveCycle assets into the new ES2 application model. However, before the migration process is described step by step, it&#8217;s important to understand the new model, why it is exists and when it should be leveraged.</p>
<p>The most notable changes to application development in LiveCycle ES2 are as follows:</p>
<ul>
<li>LiveCycle Applications</li>
<li>Versioning</li>
<li>Far and Near References</li>
</ul>
<p>All new development work in LiveCycle ES2 occurs in LiveCycle Applications.<a href="#footone">[1]</a> A new Applications view replaces the Processes and Resources views in LiveCycle Workbench ES2 as the primary view for application development. Both Processes and Resources views remain to support upgraded LiveCycle assets that have not yet been migrated to LiveCycle Applications.</p>
<p>LiveCycle Applications contain processes, forms, guides, data models, events, fragments, images, DDX files (Assembler document service), DSC&#8217;s, etc.<a href="#foottwo">[2]</a> A LiveCycle Application is a container of design-time assets. When a LiveCycle Application is deployed, services are delivered into the runtime, and at this point a particular service&#8217;s implementation becomes hidden from the consumer (e.g. there is no “File | New -> Service” that emits a service object in LiveCycle). Consumers continue to discover services via the LiveCycle Service Registry.</p>
<p>It is important to understand that from now on when you do something in Workbench the first thing you do is &#8220;File | New -> LiveCycle Application&#8221; and that the Application is the container for all your application assets.</p>
<p>A LiveCycle Application is the basis for a hardened, discrete versioning model in LiveCycle ES2. That is, application assets do not have versions of their own; they inherit the version of their parent LiveCycle Application. These version numbers are immutable, meaning that they do not change even when the application is deployed on different LiveCycle systems. In LiveCycle ES an edit/save gesture on an application assert <em>could</em> result in the creation of a new version of that asset; however, in LiveCycle ES2 such gestures will <em>not</em>&#8211;version is defined solely by the hosting application.</p>
<p>A LiveCycle Application is the context for how asset references are maintained. An asset referring to another asset in the same LiveCycle Application uses a relative <em>near reference</em>. When an asset refers to an asset in a different LiveCycle Application then it is a <em>far reference</em>. Far references are required to state LiveCycle Application name and version (e.g. repository:///Applications/NewCustomers/1.0/Loan/Forms/request.xdp).</p>
<p align="center"><img src="http://craigrandall.net/images/es2-appmodel-fig.1.png" alt="Applications, assets and references" /><br />Figure 1. Applications, Assets and References</p>
<p>In the above figure, there are two applications (i.e. App1 and App2) and a total of three application assets (i.e. A, B and C). The line between A and B represents a near reference (i.e. wholly contained by App1). The line between A and C represents a far reference (i.e. a reference that spans from one application to another application&#8211;specific version).</p>
<p>In the above figure, App1 and App2 can be versioned (i.e. 1.0, 1.1, 2.0, etc.); however, A, B and C cannot be versioned apart from their containing LiveCycle Application.</p>
<h3 id="principles">Application Model Principles</h3>
<p>So, why did LiveCycle ES2 usher in a new application model, and why should you want to upgrade to leveraging it?</p>
<p>In LiveCycle ES, there were services/processes, events, forms and Document Service Components (DSCs). Each object had distinct user interface with different semantics for how the object could be edited, locked, activated, secured, versioned and exported. Conceptual information that the user acquired while using one subsystem was not transferable to the other subsystems. One of the design goals of the LiveCycle ES2 application model was to normalize these behaviors and provide a consistent user model across the managed objects.</p>
<p>The LiveCycle ES2 application model provides hooks at strategic points in an asset’s runtime. The ability to transactionally deploy a collection of assets and the ability to intercept the runtime lookup of a named asset both represent key indirection points that can be leveraged in future versions of LiveCycle.</p>
<p>The LiveCycle ES2 application model enforces a consistent persistence model for the design-time assets. This, in turn, provides the foundation for supporting disconnected mode (offline or occasional connectivity), SCM integration and intuitive experience in Workbench (e.g. login/logout, open/save).</p>
<p>Your confidence during migration is of utmost importance. The LiveCycle ES2 application model addresses migration confidence by enabling existing investments to continue running in a &#8220;bug compatible&#8221; manner. Maintenance of existing systems can involve evolving an existing system on an as-needed basis.</p>
<p>The application model in ES2 supports two types of changes: semantic and non-semantic. Given that an application is a composition of assets, change can refer to the set of assets in the application and/or to the assets themselves—both their content and their associated metadata.</p>
<p>A non-semantic change represents an update that does not provide any new functionality over prior versions but rather represents an incremental refinement. Bug fixes and patches are good examples for a non-semantic change. A non-semantic change never requires consumers to be aware of the change. Non-semantic changes can be imposed by the producer on all of its consumers without requiring the participation of the consumer. </p>
<p>A semantic change represents an update that will introduce new capability above what is available in pre-existing versions. It is possible that a semantic change will necessitate that the consumers adjust the way that they interact with the objects. A semantic change must be explicitly requested by consumers, it is never implicitly forced upon them by the producer.</p>
<h3 id="migration">Example migration to ES2 application model</h3>
<p>So, now that you have a better understanding of a LiveCycle Application and the new application model in LiveCycle ES2, let&#8217;s walk through the process of migrating a LiveCycle ES (8.x) process to a LiveCycle ES2 (9.x) process:</p>
<ol>
<li>Deploy the LiveCycle ES LCA as LiveCycle Archives (8.x) (Compatibility mode).
<ul>
<li>The LiveCycle ES processes will run as-is on LiveCycle ES2 as LiveCycle is backward-compatible. If your goal is to simply move the running content to an ES2-based server (without taking advantage of any new capabilities) you are done.</li>
<li>If you want to leverage native ES2 functionality, you will need to follow the rest of these migration steps in order to convert the LiveCycle ES process to LiveCycle ES2 process. Converting the process will result in a service name change since the LiveCycle Application name (namespace), version, etc. become part of the service name in LiveCycle ES2.</li>
<li>Best practice: If you are adding new resources to the application the recommendation would be to do a full migration and import all assets into the new application, resetting the deployment identifiers. Mixing and matching legacy ES resources and the new ES2 application model is not recommended.</li>
</ul>
</li>
<li>In Workbench, create a new application (e.g. MyApplication).
<ul>
<li>Application name forms a namespace for assets therein.</li>
<li>You can optionally create folders within the application to specialize this namespace further.</li>
<li>For example, your development team may have particular standards for organization (e.g. based on asset type, based along functional lines, etc.).</li>
<li>In this particular migration, we&#8217;ll create a &#8220;processes&#8221; folder to receive the imported ES process assets.</li>
</ul>
</li>
<li>In Workbench, right-click on MyApplication/1.0/processes and select Import. In the dialog shown, select Process and click Next. In the next screen, select the LiveCycle ES process from its LiveCycle ES category. Click Finish.</li>
<li>The LiveCycle ES process will be added to the LiveCycle Application (i.e. MyApplication). Please note that this is a copy of the original process.
<ul>
<li>The service name of original process is the process name itself; however, the service name of the new process is ApplicationName/processes/ProcessName.</li>
<li>Assets in ES lived apart from a namespace (i.e. unqualified services at runtime). ES assets in ES2 operate in a global service namespace (implied) at runtime. Native ES2 assets operate in application-scoped namespaces.</li>
</ul>
</li>
<li>If the original LiveCycle ES process has dependencies on other LiveCycle ES sub-processes, the new LiveCycle ES2 process will also have the same dependencies (i.e. LiveCycle ES2 process depending on LiveCycle ES processes). Therefore, in order to create a self-sufficient LiveCycle ES2 LCA containing processes with the same functionality, we need to identify and reset these dependencies. That means finding each dependency, visiting it and pointing it to something new.
<ul>
<li>In order to point a dependency at something new, the desired dependency target must exist in the application.</li>
<li>Best practice: create self-contained applications.</li>
</ul>
</li>
<li>To remove dependencies from other LiveCycle ES processes, we’ll have to repeat steps #3 to #4 and import all those processes under the same LiveCycle Application (e.g. ApplicationName/processes/SubprocessName).</li>
<li>After importing all processes under the LiveCycle Application, we’ll have to edit all the processes individually in order to replace all the sub-process activity with the new processes.
<ul>
<li>Consider the following example: Process A uses process B (LiveCycle ES).
<ul>
<li>Both ES processes are imported into the LiveCycle Application, which results in processes A’ and B’ (LiveCycle ES2).</li>
<li>However, process A’ (LiveCycle ES2) still uses process B (LiveCycle ES).</li>
<li>We edit A’ and replace activity B with B’, using the same input/output parameters.</li>
</ul>
</li>
<li>This step requires manual editing of all processes using sub-processes, which is time-consuming and can be error-prone without sufficient attention to detail.</li>
</ul>
</li>
</ol>
<p>This example is simply focused on process asset migration, but, as previously noted, there are several other application asset types that may be migrated.</p>
<h3 id="conclusion">Conclusion</h3>
<p>Hopefully this paper has been helpful to your understanding of why there is a new application model in LiveCycle ES2 and how to take advantage of this capability with your LiveCycle ES investments in mind.</p>
<p>The LiveCycle team continues to work on enhancing migration support for its customers (e.g. increased automation), and it appreciates your feedback.</p>
<h3 id="resources">Additional Resources</h3>
<p>For a more detailed dive into the process of migrating LiveCycle ES applications and assets to LiveCycle ES2, please consider the following content:</p>
<ul>
<li><a href="http://livecycleapps.wordpress.com/2010/05/12/migrating-an-application-from-adobe%c2%ae-livecycle%c2%ae-es-to-es2/" target="_blank">Migrating an Application from Adobe LiveCycle ES to ES2</a> (guided demonstration by my LiveCycle colleague <a title="LiveCycle Espresso" href="http://livecycleapps.wordpress.com/ target="_blank">Seth Reilly</a>)</li>
<li><a href="http://help.adobe.com/en_US/livecycle/9.0/leverage_legacy_solutions.pdf" target="_blank">Leveraging Legacy Solutions in LiveCycle ES2</a> (document)</li>
</ul>
<h4>Footnotes</h4>
<ol>
<li>
<div id="footone"><em>LiveCycle Application</em> should not be confused with LCA, which stands for <em>LiveCycle Archive</em>. LiveCycle Archives continue to provide the ability to export an application along with its assets (i.e. variables, images, documents, etc. since ES, service endpoint configuration and security since ES Update 1, etc.). Asides: (a) legacy LCA&#8217;s are still supported in ES2 (i.e. it&#8217;s possible to create/import them), and (b) there are two kinds of native ES2 LCA&#8217;s: patch (a specifically selected set of assets) and full (one or more applications where all content from the application is involved&#8211;no need to explicitly enumerate assets).</div>
</li>
<li>
<div id="foottwo">These contained objects are called <em>assets</em> (i.e. application assets).</div>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2010/05/livecycle-es2-app-model/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PDF from Confluence</title>
		<link>http://craigrandall.net/archives/2009/11/pdf-from-confluence/</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</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[TweetAtlassian&#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[<div id="tweetbutton1225" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FovZlmE&amp;via=craigsmusings&amp;text=PDF%20from%20Confluence&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F11%2Fpdf-from-confluence%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/11/pdf-from-confluence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documentum RESTful Services EAP</title>
		<link>http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/</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</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[Tweet 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1132" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FofRlFS&amp;via=craigsmusings&amp;text=Documentum%20RESTful%20Services%20EAP&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F07%2Fdctm-restful-svcs-eap%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/07/dctm-restful-svcs-eap/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inoculating a Reply All plague</title>
		<link>http://craigrandall.net/archives/2009/06/reply-all/</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</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[TweetThe &#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[<div id="tweetbutton1087" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FnwF3Wy&amp;via=craigsmusings&amp;text=Inoculating%20a%20Reply%20All%20plague&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F06%2Freply-all%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/06/reply-all/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EMC Documentum Developer Edition</title>
		<link>http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/</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</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[Development Toolbox]]></category>
		<category><![CDATA[DFS]]></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[TweetToday 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1071" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpiZrAz&amp;via=craigsmusings&amp;text=EMC%20Documentum%20Developer%20Edition&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F05%2Femc-documentum-developer-edition%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/05/emc-documentum-developer-edition/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Content-enabled applications empathized</title>
		<link>http://craigrandall.net/archives/2009/05/content-enabled-apps-empathized/</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</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[TweetLaurence 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1040" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FqTbOWw&amp;via=craigsmusings&amp;text=Content-enabled%20applications%20empathized&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F05%2Fcontent-enabled-apps-empathized%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/05/content-enabled-apps-empathized/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First 100K concurrent user ECM benchmark</title>
		<link>http://craigrandall.net/archives/2009/04/1st-100k-usr-bnchmrk/</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</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[TweetEarlier 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton1002" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FodO6SA&amp;via=craigsmusings&amp;text=First%20100K%20concurrent%20user%20ECM%20benchmark&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F04%2F1st-100k-usr-bnchmrk%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/1st-100k-usr-bnchmrk/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Building content-enabled applications</title>
		<link>http://craigrandall.net/archives/2009/04/building-content-enabled-apps/</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</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>

		<guid isPermaLink="false">http://craigrandall.net/?p=969</guid>
		<description><![CDATA[TweetBoth 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: [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton969" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FoLjfcz&amp;via=craigsmusings&amp;text=Building%20content-enabled%20applications&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F04%2Fbuilding-content-enabled-apps%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/building-content-enabled-apps/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CMIS panel discussion at AIIM info360</title>
		<link>http://craigrandall.net/archives/2009/04/cmis-panel-discussion/</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</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[TweetTomorrow 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. [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton958" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FoEV4jz&amp;via=craigsmusings&amp;text=CMIS%20panel%20discussion%20at%20AIIM%20info360&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F04%2Fcmis-panel-discussion%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/04/cmis-panel-discussion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIIM iECM demo of CMIS</title>
		<link>http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/</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</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[TweetYesterday 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton954" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FraCnNQ&amp;via=craigsmusings&amp;text=AIIM%20iECM%20demo%20of%20CMIS&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F03%2Faiim-iecm-demo-of-cmis%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/03/aiim-iecm-demo-of-cmis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CMIS Interoperability</title>
		<link>http://craigrandall.net/archives/2009/03/cmis-interoperability/</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</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[TweetCMS 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, [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton924" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FrlMiZU&amp;via=craigsmusings&amp;text=CMIS%20Interoperability&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F03%2Fcmis-interoperability%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/03/cmis-interoperability/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Updated DFS Developer Guide on EDN</title>
		<link>http://craigrandall.net/archives/2009/02/updated-dfs-dev-guide-on-edn/</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</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[TweetMy 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 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton885" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FobZsgw&amp;via=craigsmusings&amp;text=Updated%20DFS%20Developer%20Guide%20on%20EDN&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F02%2Fupdated-dfs-dev-guide-on-edn%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/updated-dfs-dev-guide-on-edn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic value assistance using DFS</title>
		<link>http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/</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</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[TweetContinuing 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[<div id="tweetbutton878" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FoXB67J&amp;via=craigsmusings&amp;text=Dynamic%20value%20assistance%20using%20DFS&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F02%2Fdynamic-value-assistance-using-dfs%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><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>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/02/dynamic-value-assistance-using-dfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consuming CMIS WSDL in Visual Studio</title>
		<link>http://craigrandall.net/archives/2009/01/consuming-cmis-wsdl-in-visual-studio/</link>
		<comments>http://craigrandall.net/archives/2009/01/consuming-cmis-wsdl-in-visual-studio/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 19:48:12 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[AtomPub]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://craigrandall.net/archives/2009/01/consuming-cmis-wsdl-in-visual-studio/</guid>
		<description><![CDATA[TweetAs indicated previously, I’ve uploaded a CMIS v0.5 sample to EDN. This sample works with EMC Documentum CMIS EA2. This CMIS sample is intentionally similar to a sample produced previously for DFS 6.5 SP1. The intent is to help you compare and contrast one set of service contracts from the other. In doing so, please [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton869" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fq9QrmH&amp;via=craigsmusings&amp;text=Consuming%20CMIS%20WSDL%20in%20Visual%20Studio&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Fconsuming-cmis-wsdl-in-visual-studio%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>As indicated previously, I’ve uploaded a <strong><a title="Direct-to-WSDL CMIS services consumer sample" href="https://community.emc.com/docs/DOC-2688" target="_blank">CMIS v0.5 sample</a></strong> to <a title="EMC Developer Network" href="https://community.emc.com/community/edn" target="_blank">EDN</a>. This sample works with <a title="EMC Documentum CMIS EA2" href="http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/" target="_blank">EMC Documentum CMIS EA2</a>.</p>
<p>This CMIS sample is intentionally similar to a <a title="Consuming DFS WSDL in Visual Studio" href="http://craigrandall.net/archives/2009/01/consuming-dfs-wsdl-in-visual-studio/" target="_blank">sample</a> produced previously for DFS 6.5 SP1. The intent is to <em>help you compare and contrast one set of service contracts from the other</em>. In doing so, please keep in mind that CMIS is focused on basic library services for content management—common features across supporting repositories—while DFS is focused on the broader richness of the EMC Documentum ECM Platform.</p>
<p>It’s worth noting that in the case of its CMIS Repository service interaction, this sample EXE was also used by IBM during this week’s <a title="OASIS CMIS TC f2f" href="http://craigrandall.net/archives/2009/01/cmis-f2f/" target="_blank">TC meeting</a> against their P8-based WSDL endpoint—requiring only a binding configuration change (i.e. zero code changes).</p>
<p>I mentioned that the CMIS AtomPub service (introspection) document for EA2 is accessible as follows: &lt;code&gt;http://host:port/resources/cmis&lt;/code&gt;. Let’s say your EA2 installation is running at localhost on 8080, then a request for this document will return the following type of response:</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="attr">standalone</span><span class="kwrd">=&quot;yes&quot;</span>?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">ns3:service</span> <span class="attr">xmlns</span><span class="kwrd">=&quot;http://www.w3.org/2005/Atom&quot;</span> <span class="attr">xmlns:ns2</span><span class="kwrd">=&quot;http://www.cmis.org/2008/05&quot;</span> <span class="attr">xmlns:ns3</span><span class="kwrd">=&quot;http://www.w3.org/2007/app&quot;</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">ns3:workspace</span> <span class="attr">ns2:id</span><span class="kwrd">=&quot;dfs&quot;</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>dfs<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns2:repositoryInfo</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:repositoryId</span><span class="kwrd">&gt;</span>dfs<span class="kwrd">&lt;/</span><span class="html">ns2:repositoryId</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:repositoryName</span><span class="kwrd">&gt;</span>dfs<span class="kwrd">&lt;/</span><span class="html">ns2:repositoryName</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:repositoryDescription</span><span class="kwrd">&gt;</span>dfs<span class="kwrd">&lt;/</span><span class="html">ns2:repositoryDescription</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:vendorName</span><span class="kwrd">&gt;</span>EMC<span class="kwrd">&lt;/</span><span class="html">ns2:vendorName</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:productName</span><span class="kwrd">&gt;</span>Documentum<span class="kwrd">&lt;/</span><span class="html">ns2:productName</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:productVersion</span><span class="kwrd">&gt;</span>6.5.0.033<span class="kwrd">&lt;/</span><span class="html">ns2:productVersion</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:rootFolderId</span><span class="kwrd">&gt;</span>0c00302180000105<span class="kwrd">&lt;/</span><span class="html">ns2:rootFolderId</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:capabilities</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityMultifiling</span><span class="kwrd">&gt;</span>true<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityMultifiling</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityUnfiling</span><span class="kwrd">&gt;</span>false<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityUnfiling</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityVersionSpecificFiling</span><span class="kwrd">&gt;</span>true<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityVersionSpecificFiling</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityPWCUpdateable</span><span class="kwrd">&gt;</span>false<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityPWCUpdateable</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityPWCSearchable</span><span class="kwrd">&gt;</span>false<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityPWCSearchable</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityAllVersionsSearchable</span><span class="kwrd">&gt;</span>true<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityAllVersionsSearchable</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityQuery</span><span class="kwrd">&gt;</span>both<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityQuery</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityJoin</span><span class="kwrd">&gt;</span>inneronly<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityJoin</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ns2:capabilityFullText</span><span class="kwrd">&gt;</span>fulltextandstructured<span class="kwrd">&lt;/</span><span class="html">ns2:capabilityFullText</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;/</span><span class="html">ns2:capabilities</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">ns2:cmisVersionsSupported</span><span class="kwrd">&gt;</span>0.5<span class="kwrd">&lt;/</span><span class="html">ns2:cmisVersionsSupported</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns2:repositoryInfo</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/objects/0c00302180000105/children&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;root-children&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>root-children<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/objects/0c00302180000105/descendants&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;root-descendants&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>root-descendants<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/types&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;types-children&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>types-children<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/types&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;types-descendants&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>types-descendants<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/checkedout&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;checkedout&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>checkedout<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">ns3:collection</span> <span class="attr">href</span><span class="kwrd">=&quot;http://localhost:8080/resources/cmis/repositories/dfs/queries&quot;</span> <span class="attr">ns2:collectionType</span><span class="kwrd">=&quot;query&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">title</span> <span class="attr">type</span><span class="kwrd">=&quot;text&quot;</span><span class="kwrd">&gt;</span>query<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">ns3:collection</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">ns3:workspace</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">ns3:service</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>Your repository name and object identifiers will likely differ from the example references above, but hopefully you get the gist of the response payload.</p>
<p>Comparing the RESTful AtomPub binding to the SOAP binding in CMIS, one has to make two service requests to yield the same repository information (i.e. the block of data represented by &lt;code&gt;repositoryInfo&lt;/code&gt; above) as follows:</p>
<pre class="csharpcode">repositories = repositoryService.getRepositories();
<span class="kwrd">foreach</span> (cmisRepositoryEntryType repository <span class="kwrd">in</span> repositories)
{
  cmisAnyXml repositorySpecificInformation;
  <span class="kwrd">string</span> repositoryId = repository.repositoryID,
         repositoryRelationship,
         repositoryDescription,
         vendorName,
         productName,
         productVersion,
         rootFolderId,
         cmisVersionsSupported;
  cmisRepositoryCapabilitiesType capabilities;
  XmlAttribute[] AnyAttr;
  XmlElement[] Any;
  repositoryService.getRepositoryInfo(<span class="kwrd">ref</span> repositoryId, <span class="kwrd">out</span> repositoryRelationship,
         <span class="kwrd">out</span> repositoryDescription, <span class="kwrd">out</span> vendorName, <span class="kwrd">out</span> productName,
         <span class="kwrd">out</span> productVersion, <span class="kwrd">out</span> rootFolderId, <span class="kwrd">out</span> capabilities,
         <span class="kwrd">out</span> cmisVersionsSupported, <span class="kwrd">out</span> repositorySpecificInformation,
         <span class="kwrd">out</span> Any, <span class="kwrd">out</span> AnyAttr);
  . . .
}</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>Comparing CMIS Repository service WSDL consumption with DFS Search service WSDL consumption, the same DFS-based consumer code is as follows:</p>
<pre class="csharpcode">Repository[] repositories = searchService.getRepositoryList(<span class="kwrd">null</span>);
<span class="kwrd">foreach</span> (Repository repository <span class="kwrd">in</span> repositories)
{
  . . .
}</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>To be clear, these examples are not provided for me to argue that one approach is better than another but rather to <em>show how approaches</em> <em>differ</em> based on domain model, use cases, etc.</p>
<p>I’ll leave it as an exercise for the reader to perform similar comparisons where query support and object support is concerned between DFS and CMIS. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Perhaps it’s also useful to comment on how WS-Security header information is passed to CMIS WSDL endpoints, since CMIS WSDL doesn’t currently declare headers explicitly in the service contract.</p>
<p>This sample injects WS-Security headers via app.config-based declaration (versus programmatically):</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">extensions</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">behaviorExtensions</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">add</span> <span class="attr">name</span><span class="kwrd">=&quot;usernameToken&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;SecurityMessageInspector.UsernameTokenBehaviorExtensionElement, SecurityMessageInspector, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null&quot;</span><span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">behaviorExtensions</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">extensions</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">behaviors</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">endpointBehaviors</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">behavior</span> <span class="attr">name</span><span class="kwrd">=&quot;UsernameTokenBehavior&quot;</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">usernameToken</span> <span class="attr">username</span><span class="kwrd">=&quot;Administrator&quot;</span> <span class="attr">password</span><span class="kwrd">=&quot;emc&quot;</span> <span class="attr">passwordType</span><span class="kwrd">=&quot;PasswordText&quot;</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">behavior</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">endpointBehaviors</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">behaviors</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>Right away, understand that this is a <em>sample</em>—you will likely want to take a more secure approach to managing user credentials. Certainly, if you employed this approach, you should employ a <em>secure</em> transport (i.e. SSL). Please see the sample solution’s README file for more details if a more programmatic approach is desired (with or without SSL).</p>
<p>There are other ways to &quot;wire&quot; WS-Security header creation and passing into applications. This particular sample takes a more subtle (less in-your-face) approach to accomplish this concern. Regardless, <em>implicit SOAP headers in a contract require extra coding on the part of a consumer</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/consuming-cmis-wsdl-in-visual-studio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OASIS CMIS TC f2f</title>
		<link>http://craigrandall.net/archives/2009/01/cmis-f2f/</link>
		<comments>http://craigrandall.net/archives/2009/01/cmis-f2f/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 23:50:52 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[f2f]]></category>
		<category><![CDATA[OASIS]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=864</guid>
		<description><![CDATA[TweetEarlier today, John Newton posted a nice summary of what the OASIS CMIS Technical Committee (TC) accomplished this Monday through Wednesday. Anyone interested in the CMIS progress will want to read John&#8217;s post. Earlier this week, EMC released its second Early Access bits that support both bindings in the current draft specification. It was great [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton864" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FnMv4Lk&amp;via=craigsmusings&amp;text=OASIS%20CMIS%20TC%20f2f&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Fcmis-f2f%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Earlier today, John Newton posted a nice <a title="CMIS Face to Face at Microsoft in Redmond" href="http://newton.typepad.com/content/2009/01/cmis-face-to-face-at-microsoft-in-redmond.html" target="_blank">summary</a> of what the OASIS CMIS Technical Committee (TC) accomplished this Monday through Wednesday. Anyone interested in the CMIS progress will want to read John&#8217;s post.</p>
<p>Earlier this week, EMC released its second <a title="EMC Documentum CMIS EA2" href="http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/" target="_blank">Early Access bits</a> that support both bindings in the current draft specification.</p>
<p>It was great to spend time focusing on technical issues and discussing proposals to resolve them. Sometimes there simply isn&#8217;t a substitute for working with others in the same room! It was also nice to catch up with prior colleagues&#8211;John and Dave Caruana&#8211;and establish new report with others in the Enterprise Content Management industry.</p>
<p>In particular, I appreciate the effort made by TC&#8217;ers from EMC and IBM to get our bits&#8211;both REST and SOAP&#8211;interoperating together. We did make demonstrable progress&#8211;however <em>difficult</em> the technical environment (i.e. lack of viable network onsite) proved to be. (I&#8217;ll post my WCF test client (CMIS WSDL endpoint consumer) separately.)</p>
<p>(By the way, if you ever test MTOM content transfer while outputting messages to a console window, think twice about logging all HTTP traffic. I think that folks in the lobby of building 40 thought my laptop was a bomb when I rushed to leave the TC meeting after I couldn&#8217;t get my computer alarm to silence or stop&#8211;until a hard power-down action was applied.  <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>Update 1/31/2009: Thanks to Dennis Hamilton, here is a group photo of those physically present at the TC meeting:</p>
<p align="middle"><a title="2009-01-28 OASIS CMIS TC Group Photograph" href="http://www.flickr.com/photos/orcmid/3242255998/in/set-72157606487285841/" target="_blank"><img src="http://craigrandall.net/cmis/090128-oasis-cmis-tc-at-f2f.jpg" alt="090128 OASIS CMIS TC group photo" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/cmis-f2f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EMC Documentum CMIS EA2</title>
		<link>http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/</link>
		<comments>http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 06:56:23 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[AIIM]]></category>
		<category><![CDATA[AtomPub]]></category>
		<category><![CDATA[Early Access]]></category>
		<category><![CDATA[EDN Labs]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[iECM]]></category>
		<category><![CDATA[SOAP]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=852</guid>
		<description><![CDATA[TweetEarlier today, the second Early Access (EA2) release of EMC Documentum ECM Platform support for the proposed CMIS standard (i.e. current v0.5 draft) was made publicly available via EDN Labs. EA2 features support for both bindings in the proposed draft standard: SOAP and AtomPub. CMIS EA2 WSDL endpoints are available as follows:http://host:port/services/cmis/service?wsdl(e.g. http://localhost:8080/services/cmis/RepositoryService?wsdl) CMIS EA2 [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton852" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpbdBDt&amp;via=craigsmusings&amp;text=EMC%20Documentum%20CMIS%20EA2&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Femc-documentum-cmis-ea2%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Earlier today, the second Early Access (EA2) release of EMC Documentum ECM Platform support for the proposed <a title="CMIS - Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/" target="_blank">CMIS</a> standard (i.e. <a title="CMIS specification v0.5 (full)" href="http://community.emc.com/docs/DOC-1605" target="_blank">current v0.5 draft</a>) was made publicly available via <a title="EDN Labs: Content Management Interoperability Services" href="https://community.emc.com/community/labs/cmis/" target="_blank">EDN Labs</a>.</p>
<p>EA2 features support for <em>both</em> bindings in the proposed draft standard: <a title="CMIS specification v0.5 - SOAP binding" href="https://community.emc.com/docs/DOC-1584" target="_blank">SOAP</a> and <a title="CMIS specification v0.5 - AtomPub binding" href="https://community.emc.com/docs/DOC-1583" target="_blank">AtomPub</a>.</p>
<ul>
<li>CMIS EA2 WSDL endpoints are available as follows:<br /><code>http://host:port/services/cmis/service?wsdl</code><br />(e.g. <code>http://localhost:8080/services/cmis/RepositoryService?wsdl</code>)</li>
<li>CMIS EA2 AtomPub service document is available as follows:<br /><code>http://host:port/resources/cmis</code></li>
<li>CMIS EA2 WADL for the AtomPub resources (not covered by the CMIS specification):<br /><code>http://host:port/resources/application.wadl</code></li>
</ul>
<p>You&#8217;ll find more deployment details in the associated <a title="EMC Documentum CMIS EA2 Deployment Guide" href="https://community.emc.com/docs/DOC-2086" target="_blank">guide</a>.</p>
<p>EMC is committed to CMIS and the standards process. Just as there was an EA1 before this update, there will be subsequent EA releases in the future. Hopefully by making CMIS support available to you as the proposed standard develops and matures, you will consider exercising the draft bindings and submitting your feedback. Thanks in advance!</p>
<p>Update 1/27/2008: Pie (Laurence Hart) has <a title="AIIM’s iECM Committee, Validating CMIS" href="http://wordofpie.wordpress.com/2009/01/26/aiims-iecm-committee-validating-cmis/" target="_blank">posted</a> about AIIM&#8217;s intention to demonstrate CMIS-based interoperability at its upcoming Expo via a prototype. EMC is looking forward to participating in this effort, which will provide a nice proof point for ECM customers, partners and vendors all.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/emc-documentum-cmis-ea2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Big Men on Content</title>
		<link>http://craigrandall.net/archives/2009/01/big-men-on-content/</link>
		<comments>http://craigrandall.net/archives/2009/01/big-men-on-content/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 01:17:30 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[Content management]]></category>
		<category><![CDATA[BMoC]]></category>
		<category><![CDATA[CMSWire]]></category>
		<category><![CDATA[colleagues]]></category>
		<category><![CDATA[EMC]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=849</guid>
		<description><![CDATA[TweetHopefully you&#8217;ve already been reading the musings of Lee Dallas and Marko Sillanpaa over at their Big Men on Content blog. If not, I recommend that you give them a read; I do, regularly. Anyway, this post is a belated acknowledgment of the fact that both Lee and Marko are EMC colleagues now. Marko joined [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton849" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Fn97mdR&amp;via=craigsmusings&amp;text=Big%20Men%20on%20Content&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Fbig-men-on-content%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Hopefully you&#8217;ve already been reading the musings of Lee Dallas and Marko Sillanpaa over at their <a title="Big Men on Content" href="http://bmoc.wordpress.com/" target="_blank">Big Men on Content</a> blog. If not, I recommend that you give them a read; I do, regularly.</p>
<p>Anyway, this post is a belated acknowledgment of the fact that both Lee and Marko are <em>EMC colleagues</em> now. Marko joined EMC last quarter and is focused on enabling strategic SI&#8217;s to develop solutions on top of the CMA platforms. Marko also <a title="CMSwire search results for Marko" href="http://www.cmswire.com/s/results/?cx=006171070544741918777%3Avcodaewypvc&#038;q=marko&#038;cof=FORID%3A9#965" target="_blank">writes for CMSWire</a>. Although not a <em>package deal</em>&#8211;&#8221;might have exceeded weight limitations,&#8221; to quote Marko*&#8211;, Lee joined around the same time and is part of the same group supporting our system integration partners.</p>
<p>So, welcome Lee and Marko to the EMC team!</p>
<p>* Reference the <a title="Big Men on Content" href="http://bmoc.wordpress.com/" target="_blank">BMoC</a> tagline and about panel for context, please. <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/big-men-on-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaking of CMIS</title>
		<link>http://craigrandall.net/archives/2009/01/speaking-of-cmis/</link>
		<comments>http://craigrandall.net/archives/2009/01/speaking-of-cmis/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 16:14:55 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[BMoC]]></category>
		<category><![CDATA[ECM]]></category>
		<category><![CDATA[EMC]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=843</guid>
		<description><![CDATA[Tweet&#8230;there&#8217;s a discussion over at Big Men on Content.]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton843" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FreHhiv&amp;via=craigsmusings&amp;text=Speaking%20of%20CMIS&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Fspeaking-of-cmis%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>&#8230;there&#8217;s a discussion over at <a title="Delivering Integrated ECM" href="http://bmoc.wordpress.com/2009/01/14/delivering-integrated-ecm/" target="_blank">Big Men on Content</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/speaking-of-cmis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consuming DFS WSDL in Visual Studio</title>
		<link>http://craigrandall.net/archives/2009/01/consuming-dfs-wsdl-in-visual-studio/</link>
		<comments>http://craigrandall.net/archives/2009/01/consuming-dfs-wsdl-in-visual-studio/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 06:04:45 +0000</pubDate>
		<dc:creator>Craig</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[LINQ to XML]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=830</guid>
		<description><![CDATA[TweetEarlier today I posted to EDN a new sample project that demonstrates consuming DFS web services directly from their WSDL in a Visual Studio 2008 environment. Right up front, I want to credit my colleague John Sweeney, who really should start blogging, with providing the original work contained in this sample. My subsequent contribution was [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton830" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2FpgfLFN&amp;via=craigsmusings&amp;text=Consuming%20DFS%20WSDL%20in%20Visual%20Studio&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2009%2F01%2Fconsuming-dfs-wsdl-in-visual-studio%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Earlier today I posted to <a title="EMC Developer Network" href="https://community.emc.com/community/edn" target="_blank">EDN</a> a <a title="EDN: Direct-to-WSDL DFS services consumer sample" href="https://community.emc.com/docs/DOC-2604" target="_blank">new sample project</a> that demonstrates consuming <a title="Documentum Foundation Services" href="http://craigrandall.net/archives/2007/05/documentum-foundation-services/" target="_blank">DFS</a> web services directly from their WSDL in a Visual Studio 2008 environment. Right up front, I want to credit my colleague John Sweeney, <em>who really should start blogging</em>, with providing the original work contained in this sample. My subsequent contribution was mostly UI/UX-related. Thanks, John!</p>
<p>After downloading and extracting the sample to your local development machine, open the solution in Visual Studio 2008. The default code assumes that you&#8217;re running the DFS web services locally (i.e. IP 127.0.0.1 and port 8080). You should, of course, modify the IP address and port to match your particular development environment.</p>
<p><img alt="Main sample UI" src="http://craigrandall.net/dfs/DFSWSDLConsumer-main-form.gif" /></p>
<p>The main intent of this sample is to demonstrate various ways to authenticate via DFS. It’s worth noting that this sample doesn’t cover single sign-on (SSO) support in DFS, nor does it cover WS-Security header-based authentication. Good demos to be certain…</p>
<p>As the user interface (UI) above tries to clearly state upfront, content repository (aka Docbase) name cannot be null or empty, regardless of authentication approach. Given authentication via ServiceContext header, user name and password cannot be null or empty. Given authentication via ContextRegistry runtime service, when token is null or empty, user name and password cannot be null or empty, and when user name and password are both null or empty, token cannot be null or empty.</p>
<p>One thing that is still a bit obscure in the current UI is that authentication via DFS can be a two-step or one-step process, depending on the situation. If you choose &quot;Via ContextRegistry…&quot; and a Context Registry token isn’t provided to DFS, two runtime service invocations will be made. In all other cases, there is one service invocation.</p>
<p>Assuming that your connection details are valid given your authentication approach, this sample will (a) retrieve a repository list, (b) retrieve cabinets, and (c) retrieve content (i.e. transfer MenuItemTemplate.ini to your desktop).</p>
<p>A previous direct-to-WSDL DFS consumer sample I <a title="Part 2 of 2: DFS Object service consumer" href="http://craigrandall.net/archives/2008/07/dfs-object-service-consumer-2b/" target="_blank">posted</a>, targeted .NET 3.0 and WCF &quot;v1.&quot; This sample targets .NET 3.5 and WCF &quot;v2&quot; instead, along with support for Silverlight 2. It accomplishes this change via LINQ to XML (e.g. leverages System.Xml.Linq.XDocument instead of System.Xml.XmlDocument).</p>
<p>If you need to target this sample at .NET 3.0, in addition to adjusting the project build properties, removing the project reference to the System.Xml.Linq.dll assembly, and removing the System.Xml.Linq namespace declaration in ServiceContextHeader.cs, you’ll need to change the relevant code within OnWriteHeaderContents. For example:</p>
<pre class="csharpcode">  XDocument doc = <span class="kwrd">null</span>;
  <span class="kwrd">using</span> (StringWriter sw = <span class="kwrd">new</span> StringWriter(CultureInfo.CurrentCulture))
  {
      XmlSerializer xs = <span class="kwrd">new</span> XmlSerializer(<span class="kwrd">typeof</span>(ServiceContext));
      xs.Serialize(sw, serviceContext);
      doc = XDocument.Load(<span class="kwrd">new</span> StringReader(sw.ToString()));
  }</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>would become:</p>
<pre class="csharpcode">  XmlDocument doc = <span class="kwrd">null</span>;
  <span class="kwrd">using</span> (StringWriter sw = <span class="kwrd">new</span> StringWriter(CultureInfo.CurrentCulture))
  {
      XmlSerializer xs = <span class="kwrd">new</span> XmlSerializer(<span class="kwrd">typeof</span>(ServiceContext));
      xs.Serialize(sw, serviceContext);
      doc = XmlDocument.LoadXml(<span class="kwrd">new</span> StringReader(sw.ToString()));
  }</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>etc.</p>
<p>Although, it&#8217;s not currently employed in the sample, there is also code to add a ContentTransferProfile to the ServiceContext header. </p>
<p>As always, consult the DFS Developer Guide for complete details on everything that may be passed in the ServiceContext header.</p>
<p>I do expect that this sample will be incorporated into the DFS SDK and DFS technical publications content; however, I wanted to get this into your hands sooner rather than later. Cheers&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2009/01/consuming-dfs-wsdl-in-visual-studio/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How do you say CMIS?</title>
		<link>http://craigrandall.net/archives/2008/11/how-do-you-say-cmis/</link>
		<comments>http://craigrandall.net/archives/2008/11/how-do-you-say-cmis/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 22:26:10 +0000</pubDate>
		<dc:creator>Craig</dc:creator>
				<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Content management]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[content management interoperability services]]></category>

		<guid isPermaLink="false">http://craigrandall.net/?p=598</guid>
		<description><![CDATA[TweetWhile I&#8217;ve been saying &#8220;see em eye ess&#8221; for CMIS up to this point, I&#8217;ve discovered that others are pronouncing CMIS &#8220;see miss&#8221; instead. One&#8217;s pronunciation of SQL has been offered in support of pronouncing CMIS (i.e. &#8220;see qul&#8221; versus &#8220;ess queue el&#8221;). (I say &#8220;see qul;&#8221; so perhaps I should be saying &#8220;see miss.&#8221;) [...]]]></description>
			<content:encoded><![CDATA[<div id="tweetbutton598" class="tw_button" style="float:right;margin-left:10px;"><a href="http://twitter.com/share?url=http%3A%2F%2Fbit.ly%2Foi1Zm5&amp;via=craigsmusings&amp;text=How%20do%20you%20say%20CMIS%3F&amp;related=craigsmusings&amp;lang=en&amp;count=vertical&amp;counturl=http%3A%2F%2Fcraigrandall.net%2Farchives%2F2008%2F11%2Fhow-do-you-say-cmis%2F" class="twitter-share-button"  style="width:55px;height:22px;background:transparent url('http://craigrandall.net/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>While I&#8217;ve been saying &#8220;see em eye ess&#8221; for CMIS up to this point, I&#8217;ve discovered that <a title="Some early thoughts on CMIS" href="http://www.cmswatch.com/Trends/1434-Some-early-thoughts-on-CMIS" target="_blank">others</a> are pronouncing <a title="CMIS - Content Management Interoperability Services" href="http://craigrandall.net/archives/2008/09/cmis/" target="_blank">CMIS</a> &#8220;see miss&#8221; instead. </p>
<ul>
<li>One&#8217;s pronunciation of SQL has been offered in support of pronouncing CMIS (i.e. &#8220;see qul&#8221; versus &#8220;ess queue el&#8221;). (I say &#8220;see qul;&#8221; so perhaps I should be saying &#8220;see miss.&#8221;)</li>
<li>Using the shortest pronunciation possible as measured by number of syllables has been offered in support of &#8220;see miss&#8221; (i.e. two versus four syllables).</li>
<li>Conjunctives like CMIS-enabled, CMIS-ready, etc. has been offered in consideration of &#8220;see miss.&#8221; On other hand, &#8220;see em eye ess&#8221; may be better in conversation with someone not yet familiar with the standards effort.</li>
<li>One&#8217;s locale and native language has also been offered in support of &#8220;see em eye ess&#8221; (e.g. easier to understand in conversation with non-native speakers by avoiding use of two common English words, which can be hard to parse in the middle of a sentence for someone not already used to the meaning).</li>
<li>Pop culture features shows like CSI, SVU and NCIS. <em>Initialism</em> applies to these shows (e.g. you don&#8217;t hear &#8220;see sci&#8221; or &#8220;en sis&#8221;). Therefore, &#8230;</li>
</ul>
<p>So, how do <em>you</em> say CMIS? <img src='http://craigrandall.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>P.S. Yes, this is completely unimportant in every technical aspect where the standards effort around CMIS is concerned. Nevertheless, consistent identity, including pronunciation matters, and the standards effort is just getting started&#8230;</p>
<p>P.P.S. Happy Thanksgiving!</p>
]]></content:encoded>
			<wfw:commentRss>http://craigrandall.net/archives/2008/11/how-do-you-say-cmis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

