<?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>bit.fusion}grails</title>
	<atom:link href="http://www.bitfusion.org/category/grails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bitfusion.org</link>
	<description>my binary bits and pieces.</description>
	<lastBuildDate>Thu, 12 Nov 2009 18:35:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Grails-Wave plugin 0.4 Release Notes</title>
		<link>http://www.bitfusion.org/2009/11/12/grails-wave-plugin-0-4-release-notes/</link>
		<comments>http://www.bitfusion.org/2009/11/12/grails-wave-plugin-0-4-release-notes/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 18:11:11 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.bitfusion.org/?p=134</guid>
		<description><![CDATA[This is mainly a &#8220;under the hood&#8221; release of the Google Wave plugin but also provides a convenient new feature for Wave Embed development. In addition the live sample app has been upgraded using this release. Improvements If you use the script to create a new robot, like: grails create-wave-robot foo you can now also [...]]]></description>
			<content:encoded><![CDATA[<p>This is mainly a &#8220;under the hood&#8221; release of the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyYWlscy5vcmcvcGx1Z2luL3dhdmU=">Google Wave plugin</a> but also provides a convenient new feature for Wave Embed development. In addition the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyYWlscy13YXZlLXBsdWdpbi5hcHBzcG90LmNvbS8=">live sample app</a> has been upgraded using this release.</p>
<h2><strong>Improvements<br />
</strong></h2>
<p>If you use the script to create a new robot, like:</p>
<pre>grails create-wave-robot <strong>foo</strong></pre>
<p>you can now also enter a custom robot name. The script will generate a robot service with the name <em>FooRobotService.groovy</em> in your services folder. There is no need to map an active robot implementation in your <em>Config.groovy</em> anymore (except you have more than one robot services lying around) as your robot service is auto-mapped by it&#8217;s type.</p>
<p>References:</p>
<ul>
<li><span style="color: #888888;">[<a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2ppcmEuY29kZWhhdXMub3JnL2Jyb3dzZS9HUkFJTFNQTFVHSU5TLTE2Mjg=">GRAILSPLUGINS-1628</a>] &#8211;         Implement robot implementation lookup by type</span></li>
<li><span style="color: #888888;">[<a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2ppcmEuY29kZWhhdXMub3JnL2Jyb3dzZS9HUkFJTFNQTFVHSU5TLTE2MzA=">GRAILSPLUGINS-1630</a>] &#8211;         Script &#8220;CreateWaveRobot&#8221; should be able to generate a robot service with name argument</span></li>
</ul>
<h2><strong>New Features<br />
</strong></h2>
<p>The Google Wave plugin now provides a static utilitity method to extract the actual wave-id from an given URL:</p>
<pre>WaveUtils.extractWaveId(String url)</pre>
<p>Futhermore the embed TagLib enables you to pass an URL to a wave instead of a wave-id. This avoids the error-prone process <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5iaXRmdXNpb24ub3JnLzIwMDkvMTEvMDMvZ3JhaWxzLXdhdmUtcGx1Z2luLWFuZC1zb21lLW5vdGVzLw=="> to manually extract the id</a> from the encoded wave URL. The embedding of waves is now even easier than before &#8211; just copy and paste the URL from your Wave Client:</p>
<pre>&lt;g:waveEmbed waveUrl="https://wave.google.com/wave/#restored:wave:googlewave.com!w%252B6YtkJl3kH.14" /&gt;</pre>
<p>References</p>
<ul>
<li><span style="color: #888888;">[<a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2ppcmEuY29kZWhhdXMub3JnL2Jyb3dzZS9HUkFJTFNQTFVHSU5TLTE2Mjc=">GRAILSPLUGINS-1627</a>] &#8211; Utilitiy method to decode Wave URLs and extract the Wave ID</span></li>
<li><span style="color: #888888;">[<a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2ppcmEuY29kZWhhdXMub3JnL2Jyb3dzZS9HUkFJTFNQTFVHSU5TLTE2NjA=">GRAILSPLUGINS-1660</a>] &#8211;         Allow wave embed tag to process raw WaveUrl  (as alternative to wave id)</span></li>
</ul>
 <img src="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=134" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.bitfusion.org/2009/11/12/grails-wave-plugin-0-4-release-notes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grails-Wave plugin and some notes.</title>
		<link>http://www.bitfusion.org/2009/11/03/grails-wave-plugin-and-some-notes/</link>
		<comments>http://www.bitfusion.org/2009/11/03/grails-wave-plugin-and-some-notes/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 10:29:51 +0000</pubDate>
		<dc:creator>david</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.bitfusion.org/?p=67</guid>
		<description><![CDATA[As announced on Grails.org last week, I&#8217;ve released the first version (actually 0.3) of the Google Wave plugin for Grails. The plugin enables you to embed waves in your views (Wave Embed API) or to code your own Wave robot using the Robots API by avoiding tedious servlet mappings and configuration files. Support for gadgets [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_91" class="wp-caption alignright" style="width: 310px"><img class="size-full wp-image-91" title="grails-wave-screenshot" src="http://www.bitfusion.org/blog/wp-content/uploads/2009/11/grails-wave-screenshot.png" alt="An embedded wave." width="300" height="200" /><p class="wp-caption-text">An embedded wave.</p></div>
<p>As <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5ncmFpbHMub3JnL2Jsb2cvZGF2aWQudHJhdHRuaWcvR29vZ2xlK1dhdmUrcGx1Z2luK3JlbGVhc2Vk">announced on Grails.org</a> last week, I&#8217;ve released the first version (actually 0.3) of the Google Wave plugin for Grails. The plugin enables you to embed waves in your views (Wave Embed API) or to code your own Wave robot using the Robots API by avoiding tedious servlet mappings and configuration files. Support for gadgets and installers will follow soon, as far it makes sense as plugin feature.</p>
<p>If you are new to Grails there is only <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5ncmFpbHMub3JnL0RvY3VtZW50YXRpb24=">one option</a>. Okay there is a <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyYWlscy5vcmcvQm9va3M=">second one</a>.</p>
<p>If you are new to Wave development here is a list of some resources to start with:<br />
<span id="more-67"></span></p>
<ul>
<li>Watch the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXZfVXlWbUlUaVlR">Google IO Keynote</a> (and see what&#8217;s possible)</li>
<li>Read the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9hcGlzL3dhdmUv">Wave API Docs</a>. Knowing the basic concepts and terms should be enough to work with the plugin. But it&#8217;s handy to have the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3dhdmUtcm9ib3QtamF2YS1jbGllbnQuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL2RvYy9pbmRleC5odG1s">Wave Client JavaDoc</a> bookmarked.</li>
<li>There is also a <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2dvb2dsZS13YXZlLWFwaQ==">Wave API group</a> but discussion is pretty scattered as lots of dev-talk is going on in Wave itself. If you are lucky and have a sandbox account you can use it to find some good developer discussions.</li>
<li>Find public discussions by searching <strong><em>with:public</em></strong> or <strong><em>with:public@a.gwave.com</em></strong></li>
<li>Something worked before and now doesn&#8217;t &#8211; check the Wave issue-tracker: <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS13YXZlLXJlc291cmNlcw==">code.google.com/p/google-wave-resources</a>
<div class="wp-caption alignnone" style="width: 535px"><img src="http://img.skitch.com/20091101-jewe6wdah56kmchwq92k1jrs11.jpg" alt="A crashed wave: tell Dr. Wave about your problem." width="525" height="119" /><p class="wp-caption-text">A crashed wave: Dr. Wave wants your diagnosis</p></div></li>
<li>Look at the official <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3dhdmUtc2FtcGxlcy1nYWxsZXJ5LmFwcHNwb3QuY29t">samples gallery</a> to find code snippets and live demos. Try the <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyYWlscy13YXZlLXBsdWdpbi5hcHBzcG90LmNvbS8=">grails-wave sample app</a> and talk to the Groovy:Bot</li>
<li> Embedding Wave: Note that only published waves can be embedded. Make a wave public by clicking the &#8220;+&#8221; on the left bottom and add
<pre>public@a.gwave.com</pre>
<p>as a contact. You may get an error that this user doesn&#8217;t exist &#8211; just keep hitting return. Now add it as participant to your wave.</p>
<p><div class="wp-caption aligncenter" style="width: 391px"><img src="http://img.skitch.com/20091101-x7sew4bteu9e2iga1yqa42g1ib.jpg" alt="publishing waves can be tricky." width="381" height="204" /><p class="wp-caption-text">publishing waves can be tricky.</p></div>
<p>Embedded Waves are referenced by their wave id. On the sandbox instance there is a debug tool which gives you the id for the current wave. On preview you have to manually extract the id from the URL. The segment after &#8220;wave:&#8221; is the actual id:</p>
<pre>https://wave.google.com/wave/?pli=1#restored:wave:googlewave.com!w%252Bh4UDikrUI</pre>
<p>But keep in mind that the URL is double-encoded and that&#8217;s why you have to replace the &#8220;%252B&#8221; by &#8220;+&#8221; and you have a valid wave id:</p>
<pre>googlewave.com!w+h4UDikrUI</pre>
</li>
<li>Robots will currently work only when deployed to AppEngine (Wave preview limitation)</li>
<li><a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dyYWlscy5vcmcvcGx1Z2luL3dhdmU="><strong>Read the plugin docs</strong></a> and get started:
<pre>grails install-plugin wave</pre>
</li>
</ul>
<p>Groovy wave-ing!<br />
<span style="color: #888888;"><br />
Thanks to <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3NwaWRpZS8=">@spidie</a> for moving and reviewing the docs and <a href="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3R3aXR0ZXIuY29tL3h5bW9yLw==">@xymor</a> for the shiny cap&#8217;n screen.</span></p>
 <img src="http://www.bitfusion.org/blog/wp-content/plugins/feed-statistics.php?view=1&post_id=67" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://www.bitfusion.org/2009/11/03/grails-wave-plugin-and-some-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
