<?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/"
	>

<channel>
	<title>ecmarchitect.com</title>
	<atom:link href="http://ecmarchitect.com/feed" rel="self" type="application/rss+xml" />
	<link>http://ecmarchitect.com</link>
	<description>Jeff Potts on ECM, portals, search, collaboration, and a bunch of personal stuff</description>
	<lastBuildDate>Wed, 18 Aug 2010 14:24:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Administering Alfresco via JMX at the command line</title>
		<link>http://ecmarchitect.com/archives/2010/08/18/1209</link>
		<comments>http://ecmarchitect.com/archives/2010/08/18/1209#comments</comments>
		<pubDate>Wed, 18 Aug 2010 14:24:19 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[JMX]]></category>
		<category><![CDATA[jmxterm]]></category>
		<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1209</guid>
		<description><![CDATA[Jared Ottley has a cool post on using jmxterm from CyclopsGroups.org. It lets you query and operate on Alfresco&#8217;s JMX beans from the command line. One of the examples he gives uses JMX to show how many users are logged in to Alfresco, a list of the logged in users, and then how to log [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jared.ottleys.net/">Jared Ottley</a> has a cool <a href="http://jared.ottleys.net/alfresco/alfresco-jmx-from-the-command-line">post</a> on using <a href="http://www.cyclopsgroup.org/projects/jmxterm/index.html">jmxterm</a> from <a href="http://www.cyclopsgroup.org/">CyclopsGroups.org</a>. It lets you query and operate on Alfresco&#8217;s JMX beans from the command line. One of the examples he gives uses JMX to show how many users are logged in to Alfresco, a list of the logged in users, and then how to log off a specific user.</p>
<p>I used this recently to query the state of an Open Office process and then to restart the Open Office converter. It worked great.</p>
<p>JMX is only available in the Enterprise version of <a href="http://www.alfresco.com" alt="Alfresco Home">Alfresco</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/08/18/1209/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>After more than a year, I&#8217;m still in love with my Bacchetta recumbent</title>
		<link>http://ecmarchitect.com/archives/2010/08/15/1191</link>
		<comments>http://ecmarchitect.com/archives/2010/08/15/1191#comments</comments>
		<pubDate>Mon, 16 Aug 2010 03:23:45 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Bacchetta]]></category>
		<category><![CDATA[Cycling]]></category>
		<category><![CDATA[Giro]]></category>
		<category><![CDATA[Recumbent]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1191</guid>
		<description><![CDATA[It&#8217;s been about a year and a half since I bought my Bacchetta recumbent. I&#8217;ve put about a thousand miles on it so far and I still love it. I ride as much as my schedule will allow, which, unfortunately, isn&#8217;t enough. People are always curious about the bike. Other cyclists chat me up, pedestrians [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been about a year and a half since I bought my Bacchetta recumbent. I&#8217;ve put about a thousand miles on it so far and I still love it. I ride as much as my schedule will allow, which, unfortunately, isn&#8217;t enough.</p>
<p><center><a title="Jeff on his Bacchetta Giro 26" href="http://www.flickr.com/photos/jeffpotts01/4895648911/"><img src="http://farm5.static.flickr.com/4074/4895648911_b986b35d71_m.jpg" alt="Jeff on his Bacchetta Giro 26" width="240" height="180" /></a></center></p>
<p>People are always curious about the bike. Other cyclists chat me up, pedestrians shout questions at me as I ride by, and one couple in a car even pulled out a camera and snapped a bunch of pics while we sat at a light. I have seen other recumbents in the &#8216;hood and on large organized rides, but they are a very well kept secret around here so the bike tends to get noticed.</p>
<p>To celebrate my Bacchetta-versary, I&#8217;ve compiled a list of the most common questions I&#8217;ve been asked about the bike over the last year. Maybe it&#8217;ll motivate you to give one a spin the next time you&#8217;re at your local bike shop.</p>
<p><strong>&#8220;What is that thing?&#8221;</strong></p>
<p>It&#8217;s a recumbent bicycle. It&#8217;s called a recumbent because you ride in a reclined or semi-reclined position.</p>
<p>Recumbents come in all shapes and sizes. There are Long Wheel Base (LWB) models where the front wheel is in front of the pedals and Short Wheel Base (SWB) models where the front-pedals are above or in front of the front wheel. There are some with Above-Seat Steering (ASS; seriously, that&#8217;s what they call it) and Below- or Under-Seat Steering (BSS/USS). Many recumbents have a standard-sized wheel in the back and a smaller wheel in the front. Others have the same sized-wheel front and back. There are tandem recumbents. There are recumbent tricycles. There are tandem recumbent tricycles. It is unbelievable how many different styles there are, with significant differences in application (heavy loads, long-distance rides, racing), performance, and cost.</p>
<p><center><a title="Bacchetta Giro 26" href="http://www.flickr.com/photos/jeffpotts01/4895338455/"><img src="http://farm5.static.flickr.com/4096/4895338455_0cbf857cc1_m.jpg" alt="Bacchetta Giro 26" width="240" height="180" /></a></center></p>
<p>My bike is a Bacchetta Giro 26 (ba-KET-a is the Italian pronunciation, but ba-SHET-a is okay too). It&#8217;s a &#8220;high racer&#8221; with a Short Wheel Base, Above-Seat Steering, and 26 inch wheels on the front and back. The Bacchetta Giro and similar models have a unique-looking frame design: the bike essentially has only one main tube running from the rear wheel to the crank on the front-end. The word Bacchetta is actually Italian for &#8220;stick&#8221; and that name is certainly fitting when you look at the bike. I chose the Giro 26 because it is exciting to ride and looks sportier than its Long Wheel Base cousins.</p>
<p><strong>&#8220;Why?&#8221;</strong></p>
<p>I could try to make an argument about better efficiency or aerodynamics but that&#8217;s not why I ride it. I ride it because it&#8217;s comfortable. Try this: Sit in a comfortable chair, put your feet up, extend your arms, but keep them relaxed, and lay back a little bit. That&#8217;s what it&#8217;s like. While my upright cycling friends are crunched over, staring at their front tires, I ride reclined in comfort, my head naturally positioned to take a look around and enjoy the scenery. The other day a red-tailed hawk flew next to me for a short stretch. I don&#8217;t think I would have seen it had I been heads-down on an upright. It&#8217;s this open, laid-back style of riding that makes me want to ride as often as possible, as far as possible.</p>
<p>When people ask &#8220;why&#8221; the question often includes either an implied or an explicit question-within-a-question: &#8220;Is there a medical reason you ride a recumbent?&#8221; It&#8217;s funny that these bikes are so different, people assume something must have happened to you physically to persuade you to not go with an upright bike by default.</p>
<p>In my early teens I did long-distance rides with my father and uncle. I did Freewheel, a week-long ride across the State of Oklahoma, several times. On those rides, it wasn&#8217;t uncommon to end a 60- or 70-mile day with various sore spots&#8211;hands, ass, crotch, and sometimes knees. On Freewheel, you camp out, so heading to dinner, the shower, anywhere, usually means getting back on the bike. There were times when that was the last thing I wanted to do.</p>
<p>Hardcore upright cyclists will say that on a properly fitted bike with the right gear, you should be able to ride pain-free. That may be the case and to each his own. But for me, on my recumbent, pain is just not an issue. Sure, on a long ride I get tired, but nothing hurts. I&#8217;m not an athlete in any sense of the word, but I really feel like time is my only limiting factor when I&#8217;m riding my Bacchetta.</p>
<p>(When I first began riding the recumbent I did have some problems with foot numbness but some Specialized shoe inserts fixed that right up).</p>
<p><strong>&#8220;Is it hard to ride?&#8221;</strong></p>
<p>Honestly, it can take some getting used to. Starts are the biggest issue. On my Bacchetta, my pedal is 27 inches from the ground at its lowest point and 41 inches from the ground at its highest. On an upright, when you first start, your weight pushes down on the pedal and gives you enough forward momentum to get going. On a recumbent your weight gives you no vertical advantage. When starting, you have to push hard on the pedal with one foot while you get your planted foot off the ground and up to the pedal fast enough to get that second stroke in before you lose momentum and fall over. I&#8217;ve had some awkward starts and some close calls but I haven&#8217;t dumped it over yet.</p>
<p><center><a title="Heel touch by jeffpotts01, on Flickr" href="http://www.flickr.com/photos/jeffpotts01/4895335571/"><img src="http://farm5.static.flickr.com/4123/4895335571_79fdc9141e_m.jpg" alt="Heel touch" width="240" height="180" /></a></center></p>
<p>Tight turns are a little exciting. Because the crank is in front of the front wheel, and because I&#8217;ve got giant size 12 feet, it is possible for my heel to come in contact with the front tire. So turns take a little bit of foresight. Even with that in mind, tight turns can be a little unsettling. I can easily turn within the width of my neighborhood street, but our neighborhood bike paths aren&#8217;t happening for me. For that reason, you may want to think twice about a recumbent if you primarily ride on tight bike paths rather than on the road.</p>
<p>When I first starting riding it, I found the balance to be a little twitchy. When I was really stroking, it felt like my pedaling was throwing my balance off and I had to consciously correct. Even twisting the grip shift added a wobble. Over time, my body learned to compensate automatically and now it&#8217;s a very stable, comfortable ride. When you&#8217;re on a long, flat road, maybe with a little tail wind, clipping along at about 18-20, a quiet purr coming from the wheels on the road, you&#8217;re not thinking about balance any more&#8211;you&#8217;re in some sort of recumbent Zen state.</p>
<p><strong>&#8220;Is it slow/is it fast/is it hard to climb hills?&#8221;</strong></p>
<p>I&#8217;m not a hardcore cyclist. I try to ride 50 miles a week, but I don&#8217;t always hit that. And I&#8217;m definitely not a fast rider. Garmin says my average speed (with stops) is about 15 mph. The Giro, a touring/commuting bike, weighs around 32 lbs, depending on seat choice and pedals. Bacchetta does offer a performance line of bikes, including the all-carbon Aero that weighs about 20 lbs and costs three times as much as the Giro. So I&#8217;m a slow rider on a heavy bike. Are you faster than me? Probably. Am I faster on my recumbent than I am on an upright? I think so, but I kind of don&#8217;t care.</p>
<p>Hill-climbing is a drag on a recumbent. You can&#8217;t stand up, so there&#8217;s not much to do about it other than down shift and pedal hard. At least there&#8217;s a back rest to push against. When you do make it to the top, though, the reward is oh so sweet. There&#8217;s nothing quite like flying down a hill feet first.</p>
<p><strong>&#8220;Have you had any problems with it?&#8221;</strong></p>
<p>The usual bike stuff. I used to throw my chain all of the time until I figured out how to adjust the derailleur. I&#8217;ve had to adjust the disc brakes a bit. From time to time, it sounds like my brake pads are dragging, but it&#8217;s intermittent. Every once in a while the chain grabs a leg hair or two, but I figure that&#8217;s a self-correcting problem.</p>
<p>Transporting a recumbent can be challenging. I can get it into the back of a mini-van with no problem. I&#8217;ve got a Thule roof rack with standard trays. My Bacchetta just barely fits in the tray, but the clamp that would normally hold the down tube on an upright bike doesn&#8217;t work for the Bacchetta so I bought an arm that holds the front wheel instead. I&#8217;ve seen a Thule rack with a really long tray that actually pivots to make it easier to get a long and heavy bike (like a tandem) onto the roof, which is probably what you&#8217;d need for a recumbent with a Long Wheel Base. I&#8217;ve seen recumbents on hitch- and trunk-mounted racks as well.</p>
<p>I bought a Garmin Edge 705 GPS cycling computer that came with a magnetic pace/speed sensor add-on. The add-on works great when the magnet on your crank arm and the magnet on your wheel spokes can pass by the same sensor. I think making that work on my Bacchetta would require some soldering, so I don&#8217;t monitor my pace and I use the GPS for speed. The included maps still made the bundle worth it, though.</p>
<p><strong>&#8220;Can I ride your bike?&#8221;</strong></p>
<p>If you&#8217;re thinking about buying a recumbent, you need to ride as many different styles as you can. They all feel different. And, at least when you are starting out, it helps to have someone that knows what they are doing give you some pointers and fit the bike to you.</p>
<p>I&#8217;m 6&#8217;1&#8243;, so I ride the &#8220;large&#8221; version of the Giro 26. Once you&#8217;ve got the right frame size, there are still several things you can tweak. The seat moves forward and backward and the recline angle is adjustable. The handle bars can be brought forward or backward and the handle bar tilt can be adjusted. Because it is so adjustable, it is a bit of a pain to let someone with different dimensions ride it. But bike shops deal with that all of the time so don&#8217;t be afraid to ask for that test ride.</p>
<p><strong>&#8220;Where can I get one?&#8221;</strong></p>
<p>Some bike shops specialize in recumbents. These will have the best selection and the most knowledgeable staff. For example, if you&#8217;re in the Austin area, I highly recommend a visit to <a title="Easy Street Recumbents Home Page" href="http://www.easystreetrecumbents.com/" target="_blank">Easy Street Recumbents</a>. Mike is super friendly and very helpful. Unfortunately, there&#8217;s not a shop that specializes in recumbents here in North Texas. Shops around here tend to have a limited selection or none at all. I bought my Bacchetta at <a title="Plano Cycling and Fitness Home" href="http://planocycling.com/" target="_blank">Plano Cycling and Fitness</a>. They were great and I&#8217;d recommend them in a heartbeat.</p>
<p>Sometimes you can buy directly from the manufacturer. <a title="Bacchetta Home" href="http://www.bacchettabikes.com" target="_blank">Bacchetta</a> has that option if a dealer isn&#8217;t in your area. Also check out used bikes on Craig&#8217;s List, recumbent forums, etc.</p>
<p><center><a title="Jeff comes home after a ride" href="http://www.flickr.com/photos/jeffpotts01/4895932570/"><img src="http://farm5.static.flickr.com/4116/4895932570_53920a7bf0_m.jpg" alt="Jeff comes home after a ride" width="240" height="180" /></a></center></p>
<p>I hate cold weather but I rode straight through winter this year. I couldn&#8217;t let it sit. I wanted to be out there, kicked back and pedaling hard. There&#8217;s something about riding that bike that I miss terribly when I don&#8217;t do it. I suspect many recumbent riders feel this way. The next time you&#8217;re about to yell, &#8220;Hey, nice bike!&#8221; at someone on a &#8216;bent, check to see if he isn&#8217;t already smiling.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/08/15/1191/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe acquires Day Software for $240 million</title>
		<link>http://ecmarchitect.com/archives/2010/07/28/1189</link>
		<comments>http://ecmarchitect.com/archives/2010/07/28/1189#comments</comments>
		<pubDate>Wed, 28 Jul 2010 06:19:11 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Apache Jackrabbit]]></category>
		<category><![CDATA[Apache Sling]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Acquisition]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Day]]></category>
		<category><![CDATA[Jackrabbit]]></category>
		<category><![CDATA[Sling]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1189</guid>
		<description><![CDATA[I&#8217;ll admit it. I did not see this one coming: Adobe announced today that it will acquire Day Software for $240 million USD. (Thanks, @pmonks, for the heads-up tweet). Honestly, I thought Adobe would acquire Alfresco by the end of last year and I was surprised when it didn&#8217;t happen. They had done a big [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll admit it. I did not see this one coming: Adobe <a title="CNN Money: Adobe to acquire Day" href="http://www.businesswire.com/portal/site/cnnmoney/index.jsp?ndmViewId=news_view&amp;newsId=20100727007505&amp;newsLang=en&amp;ndmConfigId=1000618&amp;vnsId=33" target="_blank">announced today</a> that it will acquire Day Software for $240 million USD. (Thanks, @pmonks, for the heads-up tweet).</p>
<p>Honestly, I thought Adobe would acquire Alfresco by the end of last year and I was surprised when it didn&#8217;t happen. They had done a big OEM deal making Alfresco part of LiveCycle and they did a gigantic Alfresco implementation as part of standing up Adobe&#8217;s acrobat.com site. Heck, Adobe even hosted Alfresco&#8217;s community event back in 2008. All small potatoes in the grand scheme of things, I know, but I can&#8217;t help but feel like the proud parent who&#8217;s daughter brought home a keeper, only to find out the guy&#8217;s been dating a hottie from Switzerland the whole time.</p>
<p>Day has a <a title="Day acquisition FAQ" href="http://www.day.com/day/en/company/adobefaq.html" target="_blank">FAQ</a> up on their site. As you would expect, Day promises that current customers have nothing to fear and that the products will continue to live on.</p>
<p>Day has some really cool stuff in both their commercial products and their open source projects (<a title="Apache Sling Home" href="http://sling.apache.org/site/index.html" target="_blank">Sling</a>, <a title="Apache Jackrabbit Home" href="http://jackrabbit.apache.org/" target="_blank">Jackrabbit</a>). I hope the acquisition gives Day a huge injection of resources they are able to invest in the open source side of things.</p>
<p>Congrats to Erik Hansen, David Nuescheler, Kevin Cochrane, and the rest of the Day team!</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/07/28/1189/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reminder: Last Thursday CMS Geekup DFW is next week</title>
		<link>http://ecmarchitect.com/archives/2010/07/22/1184</link>
		<comments>http://ecmarchitect.com/archives/2010/07/22/1184#comments</comments>
		<pubDate>Thu, 22 Jul 2010 20:16:30 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Content Management]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1184</guid>
		<description><![CDATA[Don&#8217;t forget that one week from tonight, CMS geeks from around the Dallas-Ft. Worth Metroplex will be descending on The Flying Saucer in Addison to have a couple of drinks and to talk shop. The event is free to attend, but if you RSVP I&#8217;ll be able to give them a heads up on how [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t forget that one week from tonight, CMS geeks from around the Dallas-Ft. Worth Metroplex will be descending on The Flying Saucer in Addison to have a couple of drinks and to talk shop. The event is free to attend, but if you <a title="CMS Geek UP DFW RSVP" href="http://cmsgeekupdfw.eventbrite.com/" target="_blank">RSVP</a> I&#8217;ll be able to give them a heads up on how many are coming.</p>
<p>So far, it looks like we&#8217;ll have a good mix of folks from internal IT shops, Systems Integrators, consultants, and product companies. It also looks like both proprietary and open source models will be represented.</p>
<p>The meetup is being modeled on others that have been successful in New York, San Francisco, and other parts of the world (see Twitter hashtag <a title="Topsy search results for #LastThursdayCMS" href="http://topsy.com/s?type=tweet&amp;q=%23LastThursdayCMS" target="_blank">#LastThursdayCMS</a>). The goal is to simply network with others working in this space. Hard selling and/or obnoxious recruiting will be dealt with in some sort of socially awkward manner TBD.</p>
<p>If the turnout is good and there is continued interest, we&#8217;ll do it again on the last Thursday of every month.</p>
<p>Looking forward to seeing you there.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/07/22/1184/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Alfresco, NOSQL, and the Future of ECM</title>
		<link>http://ecmarchitect.com/archives/2010/07/07/1176</link>
		<comments>http://ecmarchitect.com/archives/2010/07/07/1176#comments</comments>
		<pubDate>Wed, 07 Jul 2010 12:00:32 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[NOSQL]]></category>
		<category><![CDATA[Zope]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Metaversant]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[WCM]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1176</guid>
		<description><![CDATA[Alfresco wants to be a best-in-class repository for you to build your content-centric applications on top of. Interest in NOSQL repositories seems to be growing, with many large well-known sites choosing non-relational back-ends. Are Alfresco (and, more generally, nearly all ECM and WCM vendors) on a collision course with NOSQL? First, let&#8217;s look at what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alfresco.com">Alfresco</a> wants to be a best-in-class repository for you to build your content-centric applications on top of. Interest in <a href="http://en.wikipedia.org/wiki/Nosql">NOSQL</a> repositories seems to be growing, with many large well-known sites choosing non-relational back-ends. Are Alfresco (and, more generally, nearly all ECM and WCM vendors) on a collision course with NOSQL?</p>
<p>First, let&#8217;s look at what Alfresco&#8217;s been up to lately. Over the last year or so, Alfresco has been shifting to a &#8220;we&#8217;re for developers&#8221; strategy in several ways:</p>
<ul>
<li>Repositioning their Web Content Management offering not as a non-technical end-user tool, but as a tool for web application developers</li>
<li>Backing off of their mission to squash Microsoft SharePoint, positioning Alfresco Share instead as &#8220;good enough&#8221; collaboration. (Remember John Newton&#8217;s slide showing Microsoft as the Death Star and Alfresco as the Millenium Falcon? I think Han Solo has decided to take the fight elsewhere.)</li>
<li>Making Web Scripts, Surf, and Web Studio part of the Spring Framework.</li>
<li>Investing heavily in the Content Management Interoperability Services (CMIS) standard. The investment is far-reaching&#8211;Alfresco is an active participant in the OASIS specification itself, has historically been first-to-market with their CMIS implementation, and has multiple participants in CMIS-related open source projects such as Apache Chemistry.</li>
</ul>
<p>They&#8217;ve also been making changes to the core product to make it more scalable (&#8220;<em>Internet-scalable</em>&#8221; is the stated goal). At a high level, they are disaggregating major Alfresco sub-systems so they can be scaled independently and in some cases removing bottlenecks present in the core infrastructure. Here are a few examples. Some of these are in progress and others are still on the roadmap:</p>
<ul>
<li>Migrating away from Hibernate, which Alfresco Engineers say is currently a limiting factor</li>
<li>Switching from &#8220;Lucene for everything&#8221; to &#8220;Lucene for full-text and SQL  for metadata search&#8221;</li>
<li>Making Lucene a separate search server process (presumably clusterable)</li>
<li>Making OpenOffice, which is used for document transformations, clusterable</li>
<li>Hiring Tom Baeyens (JBoss jBPM founder) and starting the <a title="Activiti Home Page" href="http://www.activiti.org/" target="_blank">Activiti</a> BPMN project (one of their goals is &#8220;cloud scalability from the ground, up&#8221;)</li>
</ul>
<p>So for Alfresco it is all about being an internet-scalable repository that is standards-compliant and has a rich toolset that makes it easy for you to use Alfresco as the back-end of your content-centric applications. Hold that thought for a few minutes while we turn our attention to NOSQL for a moment. Then, like a great rug, I&#8217;ll tie the whole room together.</p>
<p><strong>NOSQL Stores</strong></p>
<p>A NOSQL (&#8220;Not Only SQL&#8221;) store is a repository that does not use a relational database for persistence. There are many different flavors (document-oriented, key-value, tabular), and a number of different implementations. I&#8217;ll refer mostly to <a title="MongoDB Home" href="http://www.mongodb.org/" target="_blank">MongoDB</a> and <a title="CouchDB Home Page" href="http://couchdb.apache.org/" target="_blank">CouchDB</a> in this post, which are two examples of document-oriented stores. In general, NOSQL stores are:</p>
<ul>
<li><strong>Schema-less</strong>. Need to add an &#8220;author&#8221; field to your &#8220;article&#8221;? Just add it&#8211;it&#8217;s as easy as setting a property value. The repository doesn&#8217;t care that the other articles in your repository don&#8217;t have an author field. The repository doesn&#8217;t know what an &#8220;article&#8221; is, for that matter.</li>
<li><strong>Eventually consistent</strong> instead of guaranteed consistent. At some point, all replicas in a given cluster will be fully up-to-date. If a replica can&#8217;t get up-to-date, it will remove itself from the cluster.</li>
<li><strong>Easily replicate-able</strong>. It&#8217;s very easy to instantiate new server nodes and replicate data between them and, in some cases, to horizontally partition the same database across multiple physical nodes (&#8220;sharding&#8221;).</li>
<li><strong>Extremely scalable</strong>. These repositories are built for horizontal scaling so you can add as many nodes  as you need. See the previous two points.</li>
</ul>
<p>NOSQL repositories are used in some extremely large implementations (Digg, Facebook, Twitter, Reddit, Shutterfly, Etsy, Foursquare, etc.) for a variety of purposes. But it&#8217;s important to note that you don&#8217;t have to be a Facebook or a Twitter to realize benefits from this type of back-end. And, although the examples I&#8217;ve listed are all consumer-facing, huge-volume web sites, traditional companies are already using these technologies in-house. I should also note that for some of these projects, scaling down is just as important as scaling up&#8211;the CouchDB founders talk about running Couch repositories in browsers, cell phones, or other devices.</p>
<p>If you don&#8217;t believe this has application inside the firewall, go back in time to the explosive growth of Lotus Notes and Lotus Domino. The Lotus Notes NSF store has similar characteristics to document-centric NOSQL repositories. In fact, Damien Katz, the founder of CouchDB, used to work for Iris Associates, the creators of Lotus Notes. One of the reasons Notes took off was that business users could create form-based applications without involving IT or DBAs. Notes servers could also replicate with each other which made data highly-available, even on networks with high latency and/or low bandwidth between server nodes.</p>
<p><strong>Alfresco &amp; NOSQL</strong></p>
<p>Unlike a full ECM platform like Alfresco, NOSQL repositories are just that&#8211;repositories. Like a relational database, there are client tools, API&#8217;s, and drivers to manage the data in a NOSQL repository and perform administrative tasks, but it&#8217;s up to you to build the business application around it. Setting up a standalone NOSQL repository for a business user and telling them to start managing their content would be like sticking them in front of MySQL and doing the same. But business apps with NOSQL back-ends are being built. For ECM, projects are already underway that integrate existing platforms with these repositories (See the DrupalCon presentation, &#8220;<a title="DrupalCon SF 2010 session:  Humongous Drupal" href="http://sf2010.drupal.org/conference/sessions/mongodb-humongous-drupal" target="_blank">MongoDB &#8211; Humongous Drupal</a>&#8220;, for one example) and entirely new CMS apps have been built specifically to take advantage of NOSQL repositories.</p>
<p>What about Alfresco? People are using Alfresco and NOSQL repositories together already. Peter Monks, together with others, has created a couple of open source  projects that extend Alfresco WCM&#8217;s deployment mechanism to use CouchDB  and MongoDB as endpoints (<a title="Google Code Project: Alfresco WCM Deployment" href="http://code.google.com/p/alfresco-wcm-deployment/" target="_blank">here</a> and <a title="Alfresco Forge: WCM Deployment Project" href="http://forge.alfresco.com/projects/wcm-deployment/" target="_blank">here</a>).</p>
<p>I recently finished up a project for a <a href="http://www.metaversant.com/">Metaversant</a> client in which we used Alfresco DM to create, tag, secure, and route content for approval. Once approved, some custom Java actions deploy metadata to MongoDB and files to buckets on Amazon S3. The front-end presentation tier then queries MongoDB for content chunks and metadata and serves up files directly from Amazon S3 or Amazon&#8217;s CloudFront CDN as necessary.</p>
<p>In these examples, Alfresco is essentially being used as a front-end to the NOSQL repository. This gives you the scalability and replication features on the Content Delivery tier with workflow, check-in/check-out, an explicit content model, tagging, versioning, and other typical content management features on the Content Management tier.</p>
<p>But why shouldn&#8217;t the Content Management tier benefit from the scalability and replication capabilities of a NOSQL repository? And why can&#8217;t a NOSQL repository have an end-user focused user interface with integrated workflow, a form service, and other traditional DM/CMS/WCM functionality? It should, it can and they will. NOSQL-native CMS apps will be developed (some already exist). And existing CMS&#8217;s will evolve to take advantage of NOSQL back-ends in some form or fashion, similar to the Drupal-on-Mongo example cited earlier.</p>
<p><strong>What does this mean for Alfresco and ECM architecture in general?</strong></p>
<p>Where does that leave Alfresco? It seems their positioning as a developer-focused, &#8220;Internet-scale&#8221; repository ultimately leads to them competing directly against NOSQL repositories for certain types of applications. The challenge for Alfresco and other ECM players is whether or not they can achieve the kind of scale and replication capabilities NOSQL repositories offer today before NOSQL can catch up with a new breed of Content Management solutions built expressly for a world in which content is everywhere, user and data volumes are huge and unpredictable, and servers come and go automatically as needed to keep up with demand.</p>
<p>If Alfresco and the overwhelming majority of the rest of today&#8217;s CMS vendors are able to meet that challenge with their current relational-backed stores, NOSQL simply becomes an implementation choice for CMS vendors. If, however, it turns out that being backed by a NOSQL repository is a <em>requirement</em> for a modern, Internet-scale CMS, we may see a whole new line-up of players in the CMS space before long.</p>
<p>What do you think? Does the fundamental architecture prevalent in today&#8217;s CMS offerings have what it takes to manage the web content in an increasingly cloud-based world? Will we see an explosion of NOSQL-native CMS applications and, if so, will those displace today&#8217;s relational vendors or will the two live side-by-side, potentially with buyers not even knowing or caring what choice the vendor has made with regard to how the underlying data is persisted?</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/07/07/1176/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Introducing the Alfresco Community Committer Program</title>
		<link>http://ecmarchitect.com/archives/2010/06/18/1171</link>
		<comments>http://ecmarchitect.com/archives/2010/06/18/1171#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:31:42 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Alfresco Community Contributor Program]]></category>
		<category><![CDATA[collaborative development]]></category>
		<category><![CDATA[open source business model]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1171</guid>
		<description><![CDATA[It&#8217;s been a little over two years since I wrote a blog post entitled, &#8220;Is Alfresco the &#8216;near beer&#8217; of open source?&#8220;. In that post, I lamented the fact that the Alfresco code line is entirely closed to community developers and that Alfresco seems unwilling to relinquish any amount of control over the development of [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a little over two years since I wrote a blog post entitled, &#8220;<a title="ecmarchitect.com post: Is Alfresco the 'near beer' of open source?" href="/archives/2008/03/08/813" target="_self">Is Alfresco the &#8216;near beer&#8217; of open source?</a>&#8220;. In that post, I lamented the fact that the Alfresco code line is entirely closed to community developers and that Alfresco seems unwilling to relinquish any amount of control over the development of their open source product. Writing that post had me a bit riled up so during the Q&amp;A session at the community meetup in San Jose later that week, I asked John Newton, Alfresco CTO, and former Alfrescan, Kevin Cochrane when and if it would ever be different. They said they were &#8220;working on it&#8221; (See <a title="ecmarchitect.com post: Alfresco pledges to open up community by 3.0" href="/archives/2008/03/13/816" target="_self">Alfresco pledges to open community by 3.0</a>).</p>
<p>I&#8217;m glad to say that, although it took a while, there is now a process by which your code can find its way into the Alfresco code base (Community, and even, potentially, Enterprise). It&#8217;s called the Alfresco Community Committer Program (ACCP). The ACCP is a motley crew of volunteers from Alfresco customers and partners around the world. Although not a requirement for membership, I think most of us have developed at least one open source add-on for Alfresco. Our goal is to help community-developed code find its way into the product. Does this mean Alfresco is now as open as &#8220;true&#8221; open source community projects like Apache and Drupal? No, and honestly, I&#8217;m not sure it will ever get there. But Alfresco&#8217;s support of the ACCP process is a start. Here&#8217;s how the process works.</p>
<p><strong>First step: Nomination to the ACCP Incubator</strong></p>
<p>Today, developers in the community create add-ons, utilities, extensions, language packs and all kinds of software built to work with Alfresco. Some of these might make great additions to the Alfresco product. At a high-level, what the ACCP seeks to do is to act as an on-ramp or incubator for that subset of projects. We want you, real world Alfresco developers and end-users, to nominate community-developed extensions that you find useful and that you would eventually like to see as part of the Alfresco product. The ACCP then reviews these nominations and votes for their inclusion into the incubator. The project&#8217;s developers can then decide to leave their code where it is (Google Code, Sourceforge, Alfresco forge, etc.) or they may choose to migrate to the Alfresco-hosted ACCP incubator subversion repository.</p>
<p>Projects accepted to the incubator so far include:</p>
<ul>
<li><a title="http://forge.alfresco.com/projects/german/" rel="nofollow" href="http://forge.alfresco.com/projects/german/">German  Language Pack</a></li>
<li><a title="http://forge.alfresco.com/projects/languagefr/" rel="nofollow" href="http://forge.alfresco.com/projects/languagefr/">French  Language Pack</a></li>
<li><a title="http://forge.alfresco.com/projects/calais" rel="nofollow" href="http://forge.alfresco.com/projects/calais">Calais Integration Semantic Auto-Tagging</a></li>
<li><a title="http://forge.alfresco.com/projects/embedders" rel="nofollow" href="http://forge.alfresco.com/projects/embedders">Metadata  Embedders</a></li>
</ul>
<p>As a side note, it&#8217;s great that there are so many community-developed add-ons for Alfresco. But the lack of a central index makes it hard to see what&#8217;s available. As a related effort, Nancy Garrity is working on something that would provide a central index, support ratings, etc.</p>
<p><strong>Second step: Community code line</strong></p>
<p>Once a project has been in the incubator for a while, the ACCP may recommend its inclusion as part of Alfresco Community making it much easier for Alfresco Community users to leverage these add-ons. The exact nature of how these will be made available is still being worked out. You could imagine a &#8220;community-extensions&#8221; directory under the Alfresco Community subversion root or something similar. For certain types of contributions, maybe the installer could even provide an optional &#8220;install community extensions&#8221; step. Again, although we have recently voted some projects into the ACCP incubator, none have yet to reach Community so the details of exactly how those will be incorporated into the Community code base are still being worked out.</p>
<p><strong>Third step: Enterprise code line</strong></p>
<p>The ACCP may then recommend Enterprise adoption. This step is subject to Alfresco Engineering approval, which may be a significant hurdle for some, but if it happens, the entire Alfresco customer base gets the benefit of Alfresco&#8217;s ongoing support of the community-developed code. Note that the Enterprise approval step is the only one where Alfresco employees have a say about how an ACCP project is handled&#8211;per our charter, Alfresco employees cannot be voting members of the committee.</p>
<p><strong>How you can get involved</strong></p>
<p>First, and foremost, you can nominate an open source Alfresco add-on/extension/customization project. If you want to take an active role on the committee or know someone who  would be a good addition, there are spots available. So, another way to help out would be to serve on the committee or nominate someone who should. The committee meets regularly to review and vote on project and committee member nominations. All you have to do is get in touch with me or one of the other regular members of the committee. You&#8217;ll find the list on the <a title="Alfresco wiki: Alfresco Community Contributor Program (ACCP)" href="http://wiki.alfresco.com/wiki/Accp" target="_blank">Alfresco Community Contributor Program wiki page</a>.</p>
<p>We&#8217;ll be doing a webinar on July 27th to talk about this more and answer questions. Check out the <a title="Alfresco event: Alfresco Community Committer Program Webinar" href="http://www.alfresco.com/about/events/2010/07/accp/" target="_blank">Alfresco events page</a> to register.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/06/18/1171/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Metaversant is up-and-running</title>
		<link>http://ecmarchitect.com/archives/2010/06/07/1167</link>
		<comments>http://ecmarchitect.com/archives/2010/06/07/1167#comments</comments>
		<pubDate>Mon, 07 Jun 2010 06:01:47 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[CMIS]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Metaversant]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1167</guid>
		<description><![CDATA[First off, thanks so much to my readers, clients, colleagues, and other friends in the community who have provided a wealth of support in terms of well-wishes and congratulations on the forming of my new company, Metaversant. Several people have asked how things are going so here&#8217;s a brief update&#8230; Metaversant is up-and-running and I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>First off, thanks so much to my readers, clients, colleagues, and other friends in the community who have provided a wealth of support in terms of well-wishes and congratulations on the forming of my new company, <a title="Metaversant Group, Inc.'s Home Page" href="http://www.metaversant.com" target="_blank">Metaversant</a>. Several people have asked how things are going so here&#8217;s a brief update&#8230;</p>
<p>Metaversant is up-and-running and I&#8217;m as busy as can be. I finally got a web site up, a logo designed, and business cards aren&#8217;t far behind. I&#8217;ve even got people to give them to which is an important pre-requisite to actually having business cards.</p>
<p>I&#8217;m currently billing on an Alfresco Share customization project. I can&#8217;t tell you who or exactly what but the pattern will be familiar: A company needs to manage digital assets. Some come from internal sources, some come from external sources, and all need metadata and security applied. The front-end communicates with the Alfresco repository via RESTful Web Script calls while back-office content providers and application administrators use Alfresco Share (customized here and there) to upload assets, set metadata, and manage the business process. It&#8217;s a pretty classic pattern and other than extraordinarily tight timeline pressure, it&#8217;s going well.</p>
<p>Beyond technical execution I&#8217;ve also conducted some Alfresco training for a pharma client in New England. It was just a quick engagement but it was fun to help a team that had been doing some playing with Alfresco on their own discover the capabilities of the platform and how they could be applied to their business problems. I also love to see the expression on people&#8217;s faces when it hits them: They don&#8217;t need Documentum for all things DM any more.</p>
<p>I had a great trip to New York City for the Alfresco Community Meet-up. I don&#8217;t know what the official ratio was but the customers seemed to heavily outnumber the partners as this particular meet-up which is good for everyone, I think. I caught up with a lot of old friends and met some new ones. I was particularly excited to come across someone who had some plans to leverage <a href="http://code.google.com/p/cmislib" alt="Google Code Project: cmislib">cmislib</a>, my client-side CMIS API for Python, a project I&#8217;ve sorely neglected this Spring with all of the startup stuff going on. All of this Java code I&#8217;ve been writing has me missing Python&#8211;I will find time for cmislib soon.</p>
<p>Being fully billable while still having to find new business and take care of everything else about the business is tough, as I knew it would be. I&#8217;m loving every minute of it though. One thing I didn&#8217;t expect is the helpfulness of friends, former colleagues, and even strangers who have started their own businesses. The entrepreneur community is not unlike the open source community. Everyone loves to talk shop and trade tips and advice. It&#8217;s really cool.</p>
<p>My exercise regimen (a generous description) has suffered and it looks like my blogging velocity is on a similar trend. I feel like I&#8217;m getting into some regular rhythms though so maybe I can get things back in balance shortly. I&#8217;ve got all kinds of things that I need to write about: Alfresco 3.3 Enterprise is out, Alfresco hired the jBPM guys (I totally called it!), and I don&#8217;t think I&#8217;ve written anything at all about the Alfresco Community Committer Program. It&#8217;s going to be a busy Summer.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/06/07/1167/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Review: Professional Alfresco, Wrox</title>
		<link>http://ecmarchitect.com/archives/2010/05/11/1163</link>
		<comments>http://ecmarchitect.com/archives/2010/05/11/1163#comments</comments>
		<pubDate>Tue, 11 May 2010 15:36:33 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1163</guid>
		<description><![CDATA[I recently finished reading Professional Alfresco, the new Alfresco book written by some of the Alfresco engineers and John Newton, Alfresco&#8217;s CTO. Before I share my thoughts, a few disclaimers: First, I wrote my own book on Alfresco called the Alfresco Developer Guide (Packt, 2008). Second, Wrox provided the book to me free of charge [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finished reading <a title="Amazon.com: Professional Alfresco" href="http://www.amazon.com/Professional-Alfresco-Practical-Enterprise-Management/dp/0470571047" target="_blank">Professional Alfresco</a>, the new <a href="http://www.alfresco.com">Alfresco</a> book written by some of the Alfresco engineers and John Newton, Alfresco&#8217;s CTO. Before I share my thoughts, a few disclaimers: First, I wrote my own book on Alfresco called the <a title="Alfresco Developer Guide" href="http://www.packtpub.com/alfresco-developer-guide/book/mid/080509wz4lps" target="_blank">Alfresco Developer Guide</a> (Packt, 2008). Second, Wrox provided the book to me free of charge in the hopes that I&#8217;d write something about it here. Third, I have a strategic relationship with Alfresco, part of which includes bringing each other business.</p>
<p>Okay, with that out of the way, let&#8217;s get to it. Professional Alfresco is a new book written about Alfresco 3.2 by a team of authors with a unique insider perspective: all are Alfresco employees. It&#8217;s not an end-user focused book nor is it strictly for developers&#8211;it&#8217;s actually aimed at several different audiences:</p>
<ul>
<li>Part 1, &#8220;Getting to Know Alfresco&#8221;, is aimed at IT managers or other folks who might be evaluating Alfresco. It covers the business benefits of Alfresco and provides a high-level overview of the platform.</li>
<li>Part 2, &#8220;Getting Technical&#8221;, looks at the platform&#8217;s components and services at a closer level. These chapters are directed at Technical Architects or anyone who&#8217;s trying to figure out the technical capabilities of Alfresco.</li>
<li>Parts 3 &amp; 4 are aimed squarely at Developers. More specifically, these 6 chapters cover Web Scripts (primarily JavaScript, but a Java example is given) and Alfresco Share. The last 3 chapters of Part 4 provide a step-by-step example of building a Knowledgebase application by customizing Alfresco Share, including a few (brief) pages on the new Form Service. A lot of people are working on Share customization projects these days so many will find this a welcome set of material.</li>
</ul>
<p>While the majority of the technical how-to in the book is focused on Web Scripts and Share, I particularly liked the chapter on Advanced Workflows. It did a good job of explaining what you can do with the jBPM engine without getting too far into the weeds. The section on the Authentication subsystem, LDAP config, and chaining was also very good, particularly as the subsystem setup is a fairly recent development that not everyone is familiar with.</p>
<p>While I did find a lot to like about the book, there were a few things to pick on. First, if you read the book front-to-back, you&#8217;ll notice a significant amount of repetition. I suppose that could be a good thing when one of the three audiences the book is written for picks up the book and goes directly to their area of interest. I wonder, though, if some of it was due to having so many authors collaborating on the writing project. The repetition left me feeling like I was really slogging through the material rather than cutting to the chase.</p>
<p>I thought the content modeling chapter was thorough, but I had to wonder why the author chose to step us through the modelSchema.xsd file instead of providing example content model XML. It&#8217;s good to know the content model schema is there if I need it, but I think examples of what I can do with the XML are far more illustrative than walking through the schema.</p>
<p>The form service and Share/Surf aren&#8217;t covered in nearly enough detail. Other aspects of the platform simply aren&#8217;t addressed at all. I think some of that may be because of timing. The form service, for example, continues to evolve with version 3.3, and when you undertake a project this big, you have to draw a line somewhere. Plus, the focus on web scripts and Share is aligned with where Alfresco is focused right now.</p>
<p>The organization of the book is good. It follows a logical progression through the platform. And I like that the end-to-end Knowledgebase example is placed at the end as a sort of capstone applying the concepts learned earlier in the book. If you&#8217;re looking for a tutorial-style book though, you may be frustrated by the amount of theory up-front. It&#8217;s just not that kind of book. One side note on organization, Chapter 17 is a bit of an odd duck. It&#8217;s got interesting content&#8211;the chapter discusses various patterns of Alfresco implementation and integration with other systems. I just thought it was weird that it was at the end of the book instead of in one of the first two parts. Not a huge deal, and I&#8217;m glad they included it, even if its placement makes it seem like an after-thought.</p>
<p>Overall, Professional Alfresco is a good book appropriate to several different types of readers. Even though there were several authors that wrote it, other than the repetition issue I noted, I didn&#8217;t feel like the transitions between authors were very noticeable&#8211;the editors did a great job stitching everything together and making it seem like one voice.</p>
<p>The bottom line is that if you are evaluating Alfresco and are trying to understand the architecture of the platform, or if you are a developer focused on web scripts and Share, you&#8217;ll find this book to be a valuable resource.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/05/11/1163/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Custom Data Lists in Alfresco Share Community 3.3</title>
		<link>http://ecmarchitect.com/archives/2010/04/25/1156</link>
		<comments>http://ecmarchitect.com/archives/2010/04/25/1156#comments</comments>
		<pubDate>Sun, 25 Apr 2010 19:54:16 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Alfresco Share]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[data lists]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1156</guid>
		<description><![CDATA[One of the new features of Alfresco 3.3 Community is Data Lists. The ability to create an arbitrary list within a team collaboration site is a feature so loved by SharePoint users, it is often cited as one of the things holding back a migration to Alfresco. I agree that it&#8217;s a useful feature and [...]]]></description>
			<content:encoded><![CDATA[<p>One of the new features of <a href="http://www.alfresco.com">Alfresco</a> 3.3 Community is Data Lists. The ability to create an arbitrary list within a team collaboration site is a feature so loved by SharePoint users, it is often cited as one of the things holding back a migration to Alfresco. I agree that it&#8217;s a useful feature and I&#8217;m glad to see it making its way into Alfresco Share. Let&#8217;s take a look at the new feature, then we&#8217;ll lift up the hood to see how it works so you can implement your own custom data lists.<strong></strong></p>
<p><strong>Quick Review of Data Lists in Alfresco Share</strong></p>
<p>First, take a look at this screencast. It shows the new Data List feature in action as well as the high-level steps needed to create your own custom Data Lists.</p>
<p><object width="320" height="192"><param name="movie" value="http://www.youtube.com/v/XGpJwzldB0Q&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/XGpJwzldB0Q&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="192"></embed></object></p>
<p>As you can see, Data Lists let you keep track of team information that lends itself to being managed by classic web form interactions and displayed in sortable columns. You can probably think of a lot of examples of things your team needs to track that don&#8217;t make sense in a blog or a document library or maybe need a little more structure than the wiki. The screencast showed To Do&#8217;s and Issues but it could really be anything.</p>
<p>In the Community 3.3 releases, Alfresco Share includes To Do Lists. It sounds like more Data List examples are coming in the 3.3g release. But if you want to add your own custom data list type, it&#8217;s really easy, especially if you&#8217;re familiar with Alfresco content models (<a title="ecmarchitect.com tutorial: Custom content types" href="http://ecmarchitect.com/images/articles/alfresco-content/content-article.pdf" target="_self">tutorial</a>). However, right now, this still requires XML editing. SharePoint allows lists to be defined on-the-fly, so while Alfresco&#8217;s roadmap does have this as something to address in the future, right now this is still a gap between the two products.</p>
<p>If you are interested in just the end-user functionality of Data Lists in Alfresco Share, this is where you should bail. If you want details on what&#8217;s going on behind the scenes, keep reading…<strong></strong></p>
<p><strong>How Data Lists are Implemented</strong></p>
<p>Data Lists are persisted as nodes in the repository. One node represents the list itself&#8211;it contains child nodes for each item in the list. The data values for each list item are stored as metadata on the node&#8211;sometimes we call these &#8220;content-less objects&#8221; because there is no file content associated with them. The nodes live in the DM repository just like data from the other tools in your Share site.</p>
<p>If you want to see this for yourself, go into the Explorer Client. In the Sites folder, there is a folder for Share site and within that, a folder for each site tool. Data List nodes reside in the one called dataLists. In the back of your mind you should be thinking that this means items in a Data List can trigger rules and be routed through workflows just like any other node. In fact, any API call that can work with a node can work with an entry in a Data List, including CMIS. (Shameless plug: &#8220;Heck, you could even create Data Lists with Python using <a href="http://code.google.com/p/cmislib">cmislib</a>!&#8221;)</p>
<p>You know from working with data models that each Alfresco data model has an XML file that describes it. If you go look at the out-of-the-box model directory you&#8217;ll see a new content model XML file called datalistModel.xml. If you take a look at that file, you&#8217;ll see that the node that represents the container of list items is an instance of dl:dataList which inherits from cm:folder.</p>
<p>The nodes that represent each item on the data list are instances of specific data list types. So, for example, the out-of-the-box To Do List has items that are of type dl:todoList. In my Issues example, Issue items are instances of scidl:issuesList. All data list item types must inherit from dl:dataListItem. For one thing, that&#8217;s how the Share user interface knows what to offer as an available data list type.</p>
<p>The form that&#8217;s displayed when you create and edit new Data List items is configured through the Alfresco Form Service. In my example I didn&#8217;t do anything fancy with the form, but you&#8217;ve got the full power of the new Alfresco Form Service behind you so you&#8217;re not limited to simply listing one field after another.</p>
<p>So, creating your own custom Data List types involves two steps:</p>
<ol>
<li>Define and deploy a custom content model for your new Data List type, making sure it inherits from dl:dataListItem.</li>
<li>Configure the Alfresco Form Service in the Alfresco Share application to display the metadata from the custom Data List in the create and edit forms as well as in the browse grid.</li>
</ol>
<p>In my example, I used an AMP to deploy the content model to the repository tier (my Alfresco WAR) and a JAR to deploy the form service configuration to the presentation tier (the Share WAR).</p>
<p>If you want to try this example in your own environment, you can download the Eclipse project <a title="Sample custom data list eclipse project" href="http://ecmarchitect.com/images/someco-issue-data-list-project.zip">here</a>. It includes an Ant build file, the content model, and the form configuration. Note that I deployed the <a title="Alfresco wiki: Forms Development Kit" href="http://wiki.alfresco.com/wiki/Forms_Development_Kit" target="_blank">Forms Development Kit</a> to both the Alfresco and Share WARs prior to deploying my Data List form configuration. The example assumes you&#8217;ve done the same. If you don&#8217;t want to fool with the FDK, that&#8217;s cool, it&#8217;s not required for data lists. You may want to look at the <a title="Alfresco wiki: Forms Development Guide" href="http://wiki.alfresco.com/wiki/Forms_Developer_Guide" target="_blank">Forms Development Guide</a> for tips.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/04/25/1156/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Big News: I&#8217;ve left Optaros to start my own firm</title>
		<link>http://ecmarchitect.com/archives/2010/04/22/1153</link>
		<comments>http://ecmarchitect.com/archives/2010/04/22/1153#comments</comments>
		<pubDate>Thu, 22 Apr 2010 20:44:10 +0000</pubDate>
		<dc:creator>jpotts</dc:creator>
				<category><![CDATA[Alfresco]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Digital Asset Management]]></category>
		<category><![CDATA[Document Management]]></category>
		<category><![CDATA[Metaversant]]></category>
		<category><![CDATA[Optaros]]></category>
		<category><![CDATA[Records Management]]></category>
		<category><![CDATA[Web Content Management]]></category>

		<guid isPermaLink="false">http://ecmarchitect.com/?p=1153</guid>
		<description><![CDATA[After nearly four years at Optaros I&#8217;ve decided to start a new chapter in my career. I&#8217;ve created a new firm called Metaversant that is focused on providing content-centric solutions and consulting to clients across all verticals and geographies. Based on my deep experience with the platform and my active participation in the community, I [...]]]></description>
			<content:encoded><![CDATA[<p>After nearly four years at Optaros I&#8217;ve decided to start a new chapter in my career. I&#8217;ve created a new firm called Metaversant that is focused on providing content-centric solutions and consulting to clients across all verticals and geographies. Based on my deep experience with the platform and my active participation in the community, I expect Metaversant to be heavily-focused on Alfresco. We may broaden into other technologies over time, but the over-arching theme will be to help companies get the most out of their digital assets&#8211;whether that&#8217;s documents, web content, rich media, or legal records&#8211;by leveraging Enterprise-ready, open, rich content repositories.</p>
<p>On one hand, I was sad to leave Optaros&#8211;it was a great place to work with lots of smart people and interesting clients/projects. And I had fun building the ECM practice into a significant portion of overall revenue. On the other hand, the timing felt right to make this change and I&#8217;m very excited about starting my own company. Optaros and I are on great terms and I&#8217;m sure we&#8217;ll find ways to do business together going forward.</p>
<p>There are a lot of to-do&#8217;s to get Metaversant fully functional as a corporation, but nothing&#8217;s more important than the success of your project. If you are looking for help in any of the following areas, we should talk:</p>
<ul>
<li>Customized, on-site Alfresco developer training</li>
<li>Short-term tactical technical assistance</li>
<li>Architectural reviews/product fit assessments</li>
<li>Content Management customization &amp; implementation leadership</li>
<li>Custom content-centric application development &amp; integration</li>
<li>Domino.Doc, Vignette, Stellent, or other legacy ECM migrations</li>
</ul>
<p>You can contact me at &#8220;jpotts&#8221; at either this domain or metaversant.com.</p>
<p>As usual, keep an eye out here for news on Metaversant (like a link to the yet-to-be-built web site) and other content management news and thanks for your continued support!</p>
]]></content:encoded>
			<wfw:commentRss>http://ecmarchitect.com/archives/2010/04/22/1153/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
	</channel>
</rss>
