<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>A Public Scratchpad &#187; Tapestry</title>
	<atom:link href="http://daniel.gredler.net/category/tapestry/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel.gredler.net</link>
	<description></description>
	<lastBuildDate>Wed, 20 Jan 2010 16:51:39 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='daniel.gredler.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/e02d03261ade2963f044fba243814f10?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>A Public Scratchpad &#187; Tapestry</title>
		<link>http://daniel.gredler.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://daniel.gredler.net/osd.xml" title="A Public Scratchpad" />
	<atom:link rel='hub' href='http://daniel.gredler.net/?pushpress=hub'/>
		<item>
		<title>New Tapestry 5 Feature</title>
		<link>http://daniel.gredler.net/2007/06/07/new-tapestry-5-feature/</link>
		<comments>http://daniel.gredler.net/2007/06/07/new-tapestry-5-feature/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 02:27:46 +0000</pubDate>
		<dc:creator>Daniel Gredler</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tapestry]]></category>

		<guid isPermaLink="false">http://daniel.gredler.net/2007/06/07/new-tapestry-5-feature/</guid>
		<description><![CDATA[One of the key features in Tapestry 5 is something which Howard has dubbed adaptive API. The idea is that the framework adapts to your code, rather than the other way around. IoC containers get you halfway there by allowing you to code POJOs with distinct responsibilities which are later wired by the container. However, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=daniel.gredler.net&blog=887150&post=23&subd=gredler&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>One of the key features in <a href="http://tapestry.apache.org/tapestry5/">Tapestry 5</a> is something which Howard has dubbed <em>adaptive API</em>. The idea is that the framework adapts to your code, rather than the other way around. IoC containers get you halfway there by allowing you to code POJOs with distinct responsibilities which are later wired by the container. However, when your code is part of a larger whole (i.e. you&#8217;re using some framework), best practice usually dictates that the relevant boundaries are formed by some well-defined set of interfaces.</p>
<p>Tapestry 5 has taken another route: do whatever you want to do, and the framework will use every trick in the bag to attempt to accommodate you. One obvious example of this principle is the event handler API. Specifically, the return values for these event handlers <a href="http://tapestry.apache.org/tapestry5/tapestry-core/guide/pagenav.html">determine</a> the next page that will be rendered. In most web frameworks, you would most definitely need to return an instance of <em>IPage</em> or <em>ILink</em> or whatever well-defined return type your framework understands. In T5 land, however, you can return almost anything that might make sense: null, a page name, a page instance, a link, even a stream. And now, thanks to Howard&#8217;s genius and my copy-and-paste skills, <a href="https://issues.apache.org/jira/browse/TAPESTRY-1370">a page class</a> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/gredler.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/gredler.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gredler.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gredler.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gredler.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gredler.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gredler.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gredler.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gredler.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gredler.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gredler.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gredler.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=daniel.gredler.net&blog=887150&post=23&subd=gredler&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://daniel.gredler.net/2007/06/07/new-tapestry-5-feature/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d71895d31422ff2da109a665d5f6d256?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gredler</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m a Tapestry Committer!</title>
		<link>http://daniel.gredler.net/2007/05/01/im-a-tapestry-committer/</link>
		<comments>http://daniel.gredler.net/2007/05/01/im-a-tapestry-committer/#comments</comments>
		<pubDate>Wed, 02 May 2007 02:56:02 +0000</pubDate>
		<dc:creator>Daniel Gredler</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tapestry]]></category>

		<guid isPermaLink="false">http://daniel.gredler.net/2007/05/01/im-a-tapestry-committer/</guid>
		<description><![CDATA[Well, it&#8217;s official: I can now add features to Tapestry without a middleman! If Howard hadn&#8217;t beat me to it, I&#8217;d probably start out by adding a BeanForm component to Tapestry 5. As things stand, I&#8217;ll probably start small &#8212; fix some bugs, add some small features, etc.
This also increases the pressure to get HtmlUnit [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=daniel.gredler.net&blog=887150&post=17&subd=gredler&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Well, <a href="http://www.nabble.com/-VOTE--Invite-Dan-Gredler-as-Tapestry-committer-tf3635964.html">it&#8217;s official</a>: I can now add features to <a href="http://tapestry.apache.org/">Tapestry</a> without a middleman! If Howard hadn&#8217;t beat me to it, I&#8217;d probably start out by adding a <a href="http://beanform.sourceforge.net/">BeanForm</a> component to Tapestry 5. As things stand, I&#8217;ll probably start small &#8212; fix some bugs, add some small features, etc.</p>
<p>This also increases the pressure to get <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a> working with the Prototype (Tapestry 5) and Dojo (Tapestry 4) JavaScript libraries. There&#8217;s no excuse for my two pet projects to remain immiscible. Well&#8230; except that it&#8217;s <em>hard</em> to simulate all of the extravagant browser features that these newfangled JavaScript libraries require <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I enjoy writing (to a degree), so one of my self-imposed tasks may also be to polish the documentation for Tapestry 5. One of the more prominent criticisms of Tapestry 4 has been that the learning curve is steep and the documentation is sub par. It&#8217;d be nice to turn that around and move Tapestry 5 to the opposite side of the spectrum: a gentle learning curve facilitated by excellent documentation. On vera comment ça va aller&#8230;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/gredler.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/gredler.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gredler.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gredler.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gredler.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gredler.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gredler.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gredler.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gredler.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gredler.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gredler.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gredler.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=daniel.gredler.net&blog=887150&post=17&subd=gredler&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://daniel.gredler.net/2007/05/01/im-a-tapestry-committer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d71895d31422ff2da109a665d5f6d256?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gredler</media:title>
		</media:content>
	</item>
	</channel>
</rss>