<?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>Mastering WAVE &#187; robot</title>
	<atom:link href="http://www.masteringwave.com/tag/robot/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masteringwave.com</link>
	<description>Google Wave Made Easy</description>
	<lastBuildDate>Wed, 07 Jul 2010 10:17:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='www.masteringwave.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Google Wave Robot and gadget interaction</title>
		<link>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/</link>
		<comments>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 08:16:37 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[api2]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=808</guid>
		<description><![CDATA[
			
				
			
		
With the new Robot API version 2 is it possible to interact with the gadgets using robots. This will allow for some interesting integrations and will mean that the gadgets can be used to show the graphical information that needs to be displayed by a user. By using the robot to fetch and populate the [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/gadget-and-robots-interaction/' rel='bookmark' title='Permanent Link: Gadget and Robots interaction'>Gadget and Robots interaction</a> <small> In some instances you want to have the robots...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/add-robot/' rel='bookmark' title='Permanent Link: Add-Robot'>Add-Robot</a> <small>     A robot which can stores user favorite robots using...</small></li>
<li><a href='http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/' rel='bookmark' title='Permanent Link: New Google Wave Robot API v2'>New Google Wave Robot API v2</a> <small> Finally there is an update to the Google Wave...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fgoogle-wave-robot-and-gadget-interaction%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2010%2F03%2Fgoogle-wave-robot-and-gadget-interaction%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>With the new Robot API version 2 is it possible to interact with the gadgets using robots. This will allow for some interesting integrations and will mean that the gadgets can be used to show the graphical information that needs to be displayed by a user. By using the robot to fetch and populate the data, you are also able to make the requests update other information than is possible using the social API.</p>
<p>I have created a small demo that shows how this can work out. Look at this video.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/RZbuYt0yKM0&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/RZbuYt0yKM0&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
The code for the robot is the following.</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; @Override<br />
&nbsp; <span style="color: #000000; font-weight: bold;">protected</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> getRobotName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;DGR1&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; <br />
&nbsp; @Override<br />
&nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onWaveletSelfAdded<span style="color: #009900;">&#40;</span>WaveletSelfAddedEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; Blip blip <span style="color: #339933;">=</span> event.<span style="color: #006633;">getWavelet</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">reply</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Hi everybody!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; blip.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Gadget<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;http://dgrjava1.appspot.com/gadget.xml&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span> &nbsp;<br />
&nbsp; @Override<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onGadgetStateChanged<span style="color: #009900;">&#40;</span>GadgetStateChangedEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; Blip blip <span style="color: #339933;">=</span> event.<span style="color: #006633;">getBlip</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; Gadget gadget <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>Gadget<span style="color: #009900;">&#41;</span> blip.<span style="color: #006633;">getElements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getIndex</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> count <span style="color: #339933;">=</span> &nbsp;gadget.<span style="color: #006633;">getProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;count&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp;blip.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;State changed changed &quot;</span> <span style="color: #339933;">+</span> count<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp;gadget.<span style="color: #006633;">setProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;count&quot;</span>, <span style="color: #0000ff;">&quot;56&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span></div></div>
<p>Currently it is not possible with the Java api to update the gadget. But there is room for it in the gadget state information.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/gadget-and-robots-interaction/' rel='bookmark' title='Permanent Link: Gadget and Robots interaction'>Gadget and Robots interaction</a> <small> In some instances you want to have the robots...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/add-robot/' rel='bookmark' title='Permanent Link: Add-Robot'>Add-Robot</a> <small>     A robot which can stores user favorite robots using...</small></li>
<li><a href='http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/' rel='bookmark' title='Permanent Link: New Google Wave Robot API v2'>New Google Wave Robot API v2</a> <small> Finally there is an update to the Google Wave...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WaveCalendar 19: ChartMaker</title>
		<link>http://www.masteringwave.com/2009/12/wavecalendar-19-chartmaker/</link>
		<comments>http://www.masteringwave.com/2009/12/wavecalendar-19-chartmaker/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 15:13:23 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[WaveCalender]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=672</guid>
		<description><![CDATA[
			
				
			
		
The ChartMarker Gadget is a gadget for creating graphs in Google Wave. It is really easy to use you add the robot with the address chart-maker@appspot.com.
To make a graph you use a command like the following {p 3,4,5}.
It is also possible to create other chart types like:

lc forLine with axis
p for simple pie chart
r for [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalendar-20-task-to-do/' rel='bookmark' title='Permanent Link: WaveCalendar 20: Task To-Do'>WaveCalendar 20: Task To-Do</a> <small> Task To-Do by Love sharma is a gadget that...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-18-scrumpoker/' rel='bookmark' title='Permanent Link: WaveCalendar 18: Scrumpoker'>WaveCalendar 18: Scrumpoker</a> <small> I really pleased with today&#8217;s calendar. I&#8217;m a fan...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-23-windows-google-notifier/' rel='bookmark' title='Permanent Link: WaveCalendar 23: Windows Google Notifier'>WaveCalendar 23: Windows Google Notifier</a> <small> Lifehacker describes the new Goolge Wave desktop notifier. Lifehacker...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalendar-19-chartmaker%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalendar-19-chartmaker%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>The <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=83005">ChartMarker </a>Gadget is a gadget for creating graphs in Google Wave. It is really easy to use you add the robot with the address chart-maker@appspot.com.</p>
<p>To make a graph you use a command like the following {p 3,4,5}.</p>
<p>It is also possible to create other chart types like:</p>
<ul>
<li>lc forLine with axis</li>
<li>p for simple pie chart</li>
<li>r for Rador diagram</li>
</ul>
<p>For more options see the <a href="http://code.google.com/p/chart-maker/wiki/ChartMakerSyntax">projects page</a>.</p>
<p>I have created a small video showing the gadget.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Xw79AQoNqeE&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Xw79AQoNqeE&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The code for the robot is really simple. When submit is pressed the blip is searched for a chart command. The cart command is then converted into a url for <a href="http://code.google.com/apis/chart/">Google Chart API</a>s like <a rel="nofollow" href="http://chart.apis.google.com/chart?chs=250x100&amp;chl=10%7C30%7C60%7C43&amp;chdl=10%7C30%7C60%7C43&amp;cht=p3&amp;chd=t:10,30,60,43">http://chart.apis.google.com/chart?chs=250&#215;100&amp;chl=10|30|60|43&amp;chdl=10|30|60|43&amp;cht=p3&amp;chd=t:10,30,60,43</a></p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalendar-20-task-to-do/' rel='bookmark' title='Permanent Link: WaveCalendar 20: Task To-Do'>WaveCalendar 20: Task To-Do</a> <small> Task To-Do by Love sharma is a gadget that...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-18-scrumpoker/' rel='bookmark' title='Permanent Link: WaveCalendar 18: Scrumpoker'>WaveCalendar 18: Scrumpoker</a> <small> I really pleased with today&#8217;s calendar. I&#8217;m a fan...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-23-windows-google-notifier/' rel='bookmark' title='Permanent Link: WaveCalendar 23: Windows Google Notifier'>WaveCalendar 23: Windows Google Notifier</a> <small> Lifehacker describes the new Goolge Wave desktop notifier. Lifehacker...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/wavecalendar-19-chartmaker/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WaveCalender 17: Read Onlie Robot</title>
		<link>http://www.masteringwave.com/2009/12/wavecalender-17-read-onlie-robot/</link>
		<comments>http://www.masteringwave.com/2009/12/wavecalender-17-read-onlie-robot/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 15:26:22 +0000</pubDate>
		<dc:creator>melissa</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[WaveCalender]]></category>
		<category><![CDATA[readonly]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=647</guid>
		<description><![CDATA[
			
				
			
		
Google Wave is still on its early stages and we all know that there are still a lot of functions that are missing in the current release. One such feature which is really nice to have would be the read-only feature. As of now, it&#8217;s not yet possible but we are certainly looking forward to [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-3-ratingbot/' rel='bookmark' title='Permanent Link: WaveCalender 3: RatingBot'>WaveCalender 3: RatingBot</a> <small> Rating Bot is a simpel robot which helps with...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-7html-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 7:HTML Gadget'>WaveCalender 7:HTML Gadget</a> <small> HTML Gadget by Alex Tkachman lets you add HTML...</small></li>
<li><a href='http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/' rel='bookmark' title='Permanent Link: Google Wave Robot and gadget interaction'>Google Wave Robot and gadget interaction</a> <small> With the new Robot API version 2 is it...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-17-read-onlie-robot%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-17-read-onlie-robot%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Google Wave is still on its early stages and we all know that there are still a lot of functions that are missing in the current release. One such feature which is really nice to have would be the read-only feature. As of now, it&#8217;s not yet possible but we are certainly looking forward to the day when we can set our blips or waves as read-only. But for those who cannot wait, you can use <a title="Read Onlie" href="http://code.google.com/p/readonliebot/">Read Onlie</a> (readonliebot@appspot.com) robot. This robot allows the user to set their blips to read-only.</p>
<p style="text-align: justify">Currently, there are three keywords (case sensitive) that the user can use:</p>
<ul>
<li> &#8220;OWNERONLY&#8221; &#8211; nobody can edit except the owner of the blip</li>
<li> &#8220;READONLY&#8221; &#8211; nobody can edit the blip including the owner</li>
<li> &#8220;RESTORE&#8221; &#8211; restores the parent blip data (still needs work)</li>
</ul>
<p>How does this work?</p>
<p style="text-align: left">Just include the keyword in the text and after the blip is submitted the robot will check if the keywords are present in the text.</p>
<p><img class="alignnone size-medium wp-image-666" title="readonlie" src="http://www.masteringwave.com/wp-content/uploads/2009/12/readonlie-300x177.jpg" alt="readonlie" width="300" height="177" /></p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-3-ratingbot/' rel='bookmark' title='Permanent Link: WaveCalender 3: RatingBot'>WaveCalender 3: RatingBot</a> <small> Rating Bot is a simpel robot which helps with...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-7html-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 7:HTML Gadget'>WaveCalender 7:HTML Gadget</a> <small> HTML Gadget by Alex Tkachman lets you add HTML...</small></li>
<li><a href='http://www.masteringwave.com/2010/03/google-wave-robot-and-gadget-interaction/' rel='bookmark' title='Permanent Link: Google Wave Robot and gadget interaction'>Google Wave Robot and gadget interaction</a> <small> With the new Robot API version 2 is it...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/wavecalender-17-read-onlie-robot/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WaveCalender 10: Graphy a way to make connected graphs in Wave</title>
		<link>http://www.masteringwave.com/2009/12/wavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave/</link>
		<comments>http://www.masteringwave.com/2009/12/wavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:27:32 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[WaveCalender]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=614</guid>
		<description><![CDATA[
			
				
			
		
The Shiny Wave has a blog on Google Wave helping Scientist Collaborate. I thought that going to some to the gadgets mention there could be interesting. The gadget I found the most interesting is Graphy by Elliott Slaughter.
The gadget allows you to create a graph between different elements and see how it relates to each [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-4-invity/' rel='bookmark' title='Permanent Link: WaveCalender 4: Invity'>WaveCalender 4: Invity</a> <small> When you are having troubles with managing a large...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-2-poll-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 2: Poll Gadget'>WaveCalender 2: Poll Gadget</a> <small> Often you need to create a poll with somebody...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-16-waveboarder/' rel='bookmark' title='Permanent Link: WaveCalender 16: Waveboarder'>WaveCalender 16: Waveboarder</a> <small> We already covered the WaveBoarder application, which is a...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>The Shiny Wave has a blog on <a href="http://www.theshinywave.com/news/google-wave-helping-scientists-collaborate/">Google Wave helping Scientist Collaborate</a>. I thought that going to some to the gadgets mention there could be interesting. The gadget I found the most interesting is <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=23016">Graphy</a> by Elliott Slaughter.</p>
<p>The gadget allows you to create a graph between different elements and see how it relates to each other. This is really useful when you are describing something and needs to get a connection between some entities.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/3CWfJ2oh89Q&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/3CWfJ2oh89Q&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Sorry for the missing sound,  will make the sound on the next videos.</p>
<p>Using Wave to create the graph could is interesting because there could be different interpretations between on how the connections are. With Wave it is possible to make them connect to each other.</p>
<p>The userinterface is not the most best, because for every keystroke the gadget is recreated. This makes it quite slow when generating when working with the gadget. A way to workaround this is to remove the instruction line in the beginning.</p>
<p>This robot/gadget show cases how it is  possible to make a connection between the two types.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-4-invity/' rel='bookmark' title='Permanent Link: WaveCalender 4: Invity'>WaveCalender 4: Invity</a> <small> When you are having troubles with managing a large...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-2-poll-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 2: Poll Gadget'>WaveCalender 2: Poll Gadget</a> <small> Often you need to create a poll with somebody...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-16-waveboarder/' rel='bookmark' title='Permanent Link: WaveCalender 16: Waveboarder'>WaveCalender 16: Waveboarder</a> <small> We already covered the WaveBoarder application, which is a...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/wavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WaveCalender 4: Invity</title>
		<link>http://www.masteringwave.com/2009/12/wavecalender-4-invity/</link>
		<comments>http://www.masteringwave.com/2009/12/wavecalender-4-invity/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:19:09 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Example]]></category>
		<category><![CDATA[WaveCalender]]></category>
		<category><![CDATA[bølgen]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=585</guid>
		<description><![CDATA[
			
				
			
		
When you are having troubles with managing a large group of people you can use the Invity robot.
The Danish Wave news site called &#8220;BølgenDK&#8221; which we talked about a little while ago is currently on a subscriber list of 500. Using this manually can be a rather difficult job. I was working on a robot [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave/' rel='bookmark' title='Permanent Link: WaveCalender 10: Graphy a way to make connected graphs in Wave'>WaveCalender 10: Graphy a way to make connected graphs in Wave</a> <small> The Shiny Wave has a blog on Google Wave...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-8-treeify-connecting-your-waves/' rel='bookmark' title='Permanent Link: WaveCalender 8: Treeify connecting your Waves'>WaveCalender 8: Treeify connecting your Waves</a> <small> I have previous tried to look at the Treeify...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-15-nimbb-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 15: Nimbb Gadget'>WaveCalender 15: Nimbb Gadget</a> <small> As we all know we can already embed youtube...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-4-invity%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-4-invity%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>When you are having troubles with managing a large group of people you can use the <a href="http://wave-samples-gallery.appspot.com/about_app?app_id=77015">Invity</a> robot.<br />
The Danish Wave news site called &#8220;<a href="http://www.masteringwave.com/2009/11/wave-as-a-newsplatform/">BølgenDK</a>&#8221; which we talked about a little while ago is currently on a subscriber list of 500. Using this manually can be a rather difficult job. I was working on a robot to help with the project, but found this robot and it seems to cover the basics of managing lists more user-friendly.</p>
<p>The robot is really easy to use.</p>
<ul>
<li>Just add pw-invity@appspot.com to the Wave where all the participants are in</li>
<li>Select create new Group</li>
<li>Create you new group and add pw-invity@appspot.com and you will be able</li>
</ul>
<p>This is demonstrated in the video that I have created.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/fUitJylG8FY&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/fUitJylG8FY&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>What I like about the robot is the connection to the with the gadget. The guys behind the gadget has spent some time on describing how the <a href="http://www.processwave.org/2009/12/invity-behind-scenes.html">gadget/robot interacted</a>. It seems really simple to make this work. It seems like the robot can see data from inside the gadget.</p>
<p>The only thing which is a bit irritating, is that the gadget is reloading when you press one of the buttons. That is the only thing which does not work optimal.</p>
<p>This robot can also be used to have conversation within your company, where you want to have the same people in the wave every time.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-10-graphy-a-way-to-make-connected-graphs-in-wave/' rel='bookmark' title='Permanent Link: WaveCalender 10: Graphy a way to make connected graphs in Wave'>WaveCalender 10: Graphy a way to make connected graphs in Wave</a> <small> The Shiny Wave has a blog on Google Wave...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-8-treeify-connecting-your-waves/' rel='bookmark' title='Permanent Link: WaveCalender 8: Treeify connecting your Waves'>WaveCalender 8: Treeify connecting your Waves</a> <small> I have previous tried to look at the Treeify...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-15-nimbb-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 15: Nimbb Gadget'>WaveCalender 15: Nimbb Gadget</a> <small> As we all know we can already embed youtube...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/wavecalender-4-invity/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WaveCalender 3: RatingBot</title>
		<link>http://www.masteringwave.com/2009/12/wavecalender-3-ratingbot/</link>
		<comments>http://www.masteringwave.com/2009/12/wavecalender-3-ratingbot/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 11:55:53 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[WaveCalender]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[poll]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=568</guid>
		<description><![CDATA[
			
				
			
		
Rating Bot is a simpel robot which helps with creating voting in best Web 2.0 style where you can vote on each blip. The robot is made by Przemysław Gajda. 
You can add the robot using the address: rating-bot@appspot.com
An example on where the robot has been used is on the picture bellow.

The idea of being [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-17-read-onlie-robot/' rel='bookmark' title='Permanent Link: WaveCalender 17: Read Onlie Robot'>WaveCalender 17: Read Onlie Robot</a> <small> Google Wave is still on its early stages and...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-2-poll-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 2: Poll Gadget'>WaveCalender 2: Poll Gadget</a> <small> Often you need to create a poll with somebody...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-5-wave-code-prettifier/' rel='bookmark' title='Permanent Link: WaveCalender 5: Wave Code Prettifier'>WaveCalender 5: Wave Code Prettifier</a> <small> In wave you would often like to show some...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-3-ratingbot%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F12%2Fwavecalender-3-ratingbot%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p style="margin-top: 0.5em; margin-bottom: 0.5em;"><a href="http://wave-samples-gallery.appspot.com/about_app?app_id=74011">Rating Bot</a> is a simpel robot which helps with creating voting in best Web 2.0 style where you can vote on each blip. The robot is made by Przemysław Gajda. </p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em;">You can add the robot using the address: rating-bot@appspot.com</p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em;">An example on where the robot has been used is on the picture bellow.</p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em;"><img class="alignnone size-full wp-image-569" title="ratingbot" src="http://www.masteringwave.com/wp-content/uploads/2009/12/ratingbot.png" alt="ratingbot" width="483" height="403" /></p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em; text-align: left;">The idea of being able to rate each blip is rather smart. It will make it to vote for ideas described in a full blip. So this links a lot to the <a href="http://www.masteringwave.com/2009/12/wavecalender-2-poll-gadget/">polling </a>gadget from yesterday. It does thou vote for different blips. So this will be use full when you have more to choose from.</p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em; text-align: left;">It is possible for a person only to cast one vote for each blip. The way this has been implemented is by using annotation to store each persons vote. I have always used the Cache storage for handling metadata and then linked it to the wave or blip. But using annotations can make it easier to persist data. Then everything is stored in just one place. It would also be possible for other robots to interact with the data created.</p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em; text-align: left;">You can have a look at the Java code behind the gadget at <a href="http://code.google.com/p/ratingbot/source/browse/trunk/src/pl/pgajda/ratingbot/RatingBotServlet.java">code.google.com</a>. I could learn a little from the way this code is structured.</p>
<p style="margin-top: 0.5em; margin-bottom: 0.5em; text-align: left;">


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/12/wavecalender-17-read-onlie-robot/' rel='bookmark' title='Permanent Link: WaveCalender 17: Read Onlie Robot'>WaveCalender 17: Read Onlie Robot</a> <small> Google Wave is still on its early stages and...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-2-poll-gadget/' rel='bookmark' title='Permanent Link: WaveCalender 2: Poll Gadget'>WaveCalender 2: Poll Gadget</a> <small> Often you need to create a poll with somebody...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalender-5-wave-code-prettifier/' rel='bookmark' title='Permanent Link: WaveCalender 5: Wave Code Prettifier'>WaveCalender 5: Wave Code Prettifier</a> <small> In wave you would often like to show some...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/12/wavecalender-3-ratingbot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress robot updated</title>
		<link>http://www.masteringwave.com/2009/11/wordpress-robot-updated/</link>
		<comments>http://www.masteringwave.com/2009/11/wordpress-robot-updated/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 12:36:46 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=537</guid>
		<description><![CDATA[
			
				
			
		
I have updated the WordPress robot (WP-BOT@appspot.com) to publish to your own blog. This feature has been requested by many users, so I thought it was time to give it a try. The usage of the robot is fairly simple. The original version of the robot was described in this post, where I just proved [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/wordpress-publisher-bot/' rel='bookmark' title='Permanent Link: Wordpress publisher bot'>Wordpress publisher bot</a> <small> Inspired by offlineblog&#8217;s blog about Live blogging and the...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/wordpress-plugin-to-embed-waves/' rel='bookmark' title='Permanent Link: Wordpress plugin to embed waves'>Wordpress plugin to embed waves</a> <small> Yesterday I wrote about Wavr plugin to Wordpress. This...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-24-publish-to-wordpress/' rel='bookmark' title='Permanent Link: WaveCalendar 24: Publish to Wordpress'>WaveCalendar 24: Publish to Wordpress</a> <small> For this last post I was looking for a...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F11%2Fwordpress-robot-updated%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F11%2Fwordpress-robot-updated%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I have updated the WordPress robot (<a href="http://wp-bot.appspot.com/">WP-BOT@appspot.com</a>) to publish to your own blog. This feature has been requested by many users, so I thought it was time to give it a try. The usage of the robot is fairly simple. The original version of the robot was described in this <a href="http://www.masteringwave.com/2009/09/wordpress-publisher-bot/">post</a>, where I just proved the concept was possible.</p>
<p>Simply add the robot to a Wave. You don&#8217;t have any credentials connected with your Wave your you will get a link, where you can enter information about your WordPress. Next time you add the robot to a wave, the new Wave will be published to a new Wave.</p>
<p>To use the plugin simply add <a href="http://wordpress.org/extend/plugins/wavr/">Wavr </a>to your blog and in Setting -&gt; Writing Settings make sure XML-RPC is activate.</p>
<p>The usage is also showed on this video.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/jXGsqUL5V5o&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/jXGsqUL5V5o&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong>Do you have any suggestion on how I can make the service even better?</strong></p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/wordpress-publisher-bot/' rel='bookmark' title='Permanent Link: Wordpress publisher bot'>Wordpress publisher bot</a> <small> Inspired by offlineblog&#8217;s blog about Live blogging and the...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/wordpress-plugin-to-embed-waves/' rel='bookmark' title='Permanent Link: Wordpress plugin to embed waves'>Wordpress plugin to embed waves</a> <small> Yesterday I wrote about Wavr plugin to Wordpress. This...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-24-publish-to-wordpress/' rel='bookmark' title='Permanent Link: WaveCalendar 24: Publish to Wordpress'>WaveCalendar 24: Publish to Wordpress</a> <small> For this last post I was looking for a...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/11/wordpress-robot-updated/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wordpress publisher bot</title>
		<link>http://www.masteringwave.com/2009/09/wordpress-publisher-bot/</link>
		<comments>http://www.masteringwave.com/2009/09/wordpress-publisher-bot/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 07:56:38 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Example]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[pluging]]></category>
		<category><![CDATA[publishing]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/?p=306</guid>
		<description><![CDATA[
			
				
			
		
Inspired by offlineblog&#8217;s blog about Live blogging and the Wordpress plugins like described on my blog, and at offlineblog and the bloggy robot which can publish to blogger.com. I thought this could also be possible to perform the same with a Wordpress robot.

The solution simply works by adding the robot wp-bot@appspot.com to a Wave. Then [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/11/wordpress-robot-updated/' rel='bookmark' title='Permanent Link: Wordpress robot updated'>Wordpress robot updated</a> <small> I have updated the WordPress robot (WP-BOT@appspot.com) to publish...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-24-publish-to-wordpress/' rel='bookmark' title='Permanent Link: WaveCalendar 24: Publish to Wordpress'>WaveCalendar 24: Publish to Wordpress</a> <small> For this last post I was looking for a...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/wordpress-plugin-to-embed-waves/' rel='bookmark' title='Permanent Link: Wordpress plugin to embed waves'>Wordpress plugin to embed waves</a> <small> Yesterday I wrote about Wavr plugin to Wordpress. This...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fwordpress-publisher-bot%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fwordpress-publisher-bot%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Inspired by offlineblog&#8217;s blog about <a href="http://www.offlineblog.net/2009/09/live-blogging-with-google-wave-and-wordpress-idea/">Live blogging</a> and the Wordpress plugins like described on my <a href="http://www.masteringwave.com/2009/09/wavr-a-google-wave-plugin-to-wordpress/">blog</a>, and at <a href="http://www.offlineblog.net/2009/07/two-google-wave-plugins-for-wordpress-how-to-post-to-wordpress/">offlineblog</a> and the <a href="http://wavety.com/bloggy-robot/">bloggy robot</a> which can publish to blogger.com. I thought this could also be possible to perform the same with a <a href="http://wordpress.com/">Wordpress</a> robot.
</p>
<p>The solution simply works by adding the robot <a href="mailto:wp-bot@appspot.com">wp-bot@appspot.com</a> to a Wave. Then it publishes your wave to the site as an embedded wave to Wordpress. With this you get a permalink to the blog, where the content is hosted. I was unable to using the API&#8217;s that Google is using for displaying that the content is shared. If you know how to use please let me know.
</p>
<p>I found the <a href="http://code.google.com/p/wordpress-java/">wordpress-java</a> library to help with creating the XMLRPC code, which I was unable to use. With this library it is pretty simple to create a blog with some content. And since the content I&#8217;m posting just is wave id=&#8217;waveID&#8217; bgcolor=&#8217;#ffffff&#8217;, it is pretty easy to craft.
</p>
<p>The robot in action works the following way.
</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/dPOroiEBBI4&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dPOroiEBBI4&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>
 </p>
<p>The code looks like the following.
</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">public class WPRobotServlet extends AbstractRobotServlet {<br />
&nbsp; &nbsp; &nbsp; private String ownname = &quot;wp-bot@appspot.com&quot;;<br />
&nbsp; <br />
&nbsp; &nbsp; @Override<br />
&nbsp; &nbsp; public void processEvents(RobotMessageBundle bundle) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; Wavelet wavelet = bundle.getWavelet();<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; // when the Robot is added publish to the robot<br />
&nbsp; &nbsp; &nbsp; &nbsp; if (bundle.wasSelfAdded()) {<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Blip blip = wavelet.appendBlip();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TextView textView = blip.getDocument();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; textView.append(ownname+ &quot; added version &quot; +this.getVersion() +&quot; \n&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; textView.appendMarkup(&quot;\n &lt;a href=\&quot;http://masteringwave.com/\&quot;&gt;MasteringWave&lt;/a&gt; &lt;br /&gt;&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; textView.append(&quot;\n&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String rootText = wavelet.getRootBlip().getDocument().getText();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // find the first line, which will be the title to the blog<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String firstLine ;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(rootText.indexOf(&quot;\n&quot;)&gt;0){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; firstLine = &nbsp; &nbsp; rootText.substring(0,rootText.indexOf(&quot;\n&quot;));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }else{<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; firstLine = rootText;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; textView.append( uploadWave(firstLine, wavelet.getWaveId()));<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; private String uploadWave(String title, String waveID){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;String sXmlRpcURL = &quot;http://wp-bot.masteringwave.com/xmlrpc.php&quot;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String sUsername = &quot;wave&quot;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String sPassword = &quot;&lt;SECRET&gt;&quot;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Hard-coded blog_ID<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String blog_ID = &quot;1&quot;;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // XML-RPC method<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String sXmlRpcMethod = &quot;metaWeblog.newPost&quot;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // the content of the blog<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String sContent = &quot;[wave id=\&quot;&quot;+waveID+&quot;\&quot; bgcolor=\&quot;#ffffff\&quot;]&quot;;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Try block to create the upload<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Wordpress wp = new Wordpress(sUsername, sPassword, sXmlRpcURL);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Page newPost = new Page();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newPost.setTitle(title);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newPost.setDescription(sContent);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; newPost.setWp_author(sUsername);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String resultId = wp.newPost(newPost, &quot;draft&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return wp.getPost(Integer.parseInt(resultId)).getPermaLink();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch( Exception e )<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return e.toString(); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
}</div></div>
<p> </p>
<p>The full code can be found at <a href="http://code.google.com/p/masteringwave/source/browse/#svn/trunk/WP-BOT">http://code.google.com/p/masteringwave/source/browse/#svn/trunk/WP-BOT</a>.
</p>
<p>If you just want to check it out, just add the robot <a href="mailto:wp-bot@appspot.com">wp-bot@appspot.com</a> to your Wave and the wave will be published.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/11/wordpress-robot-updated/' rel='bookmark' title='Permanent Link: Wordpress robot updated'>Wordpress robot updated</a> <small> I have updated the WordPress robot (WP-BOT@appspot.com) to publish...</small></li>
<li><a href='http://www.masteringwave.com/2009/12/wavecalendar-24-publish-to-wordpress/' rel='bookmark' title='Permanent Link: WaveCalendar 24: Publish to Wordpress'>WaveCalendar 24: Publish to Wordpress</a> <small> For this last post I was looking for a...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/wordpress-plugin-to-embed-waves/' rel='bookmark' title='Permanent Link: Wordpress plugin to embed waves'>Wordpress plugin to embed waves</a> <small> Yesterday I wrote about Wavr plugin to Wordpress. This...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/09/wordpress-publisher-bot/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>New SAP ES Demo: Creating Service Requests</title>
		<link>http://www.masteringwave.com/2009/09/new-sap-es-demo-creating-service-requests/</link>
		<comments>http://www.masteringwave.com/2009/09/new-sap-es-demo-creating-service-requests/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 08:00:50 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[enterprise service]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[sap es]]></category>
		<category><![CDATA[service request]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2009/09/new-sap-es-demo-creating-service-requests/</guid>
		<description><![CDATA[
			
				
			
		
Some weeks ago I made a demo of how SAP ES could be reached from a Google Wave. This was just to show it was possible to call ES. That demo did not help in any workflow; it just showed some data to the user. I have now worked with getting a better idea for [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/a-google-wave-robot-explained-in-5-minutes/' rel='bookmark' title='Permanent Link: A Google Wave robot explained in 5 minutes'>A Google Wave robot explained in 5 minutes</a> <small> I created the SAP Enterprise service robot, which is...</small></li>
<li><a href='http://www.masteringwave.com/2009/11/virtuel-reception-demo/' rel='bookmark' title='Permanent Link: Virtuel Reception demo'>Virtuel Reception demo</a> <small> I was amazed how Colayer had a virtual reception....</small></li>
<li><a href='http://www.masteringwave.com/2009/10/sap-riding-the-google-wave/' rel='bookmark' title='Permanent Link: SAP riding the Google Wave'>SAP riding the Google Wave</a> <small> It has been interesting to see that SAP is...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fnew-sap-es-demo-creating-service-requests%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fnew-sap-es-demo-creating-service-requests%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Some weeks ago I made a <a href="https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/15521">demo</a> of how SAP ES could be reached from a Google Wave. This was just to show it was possible to call ES. That demo did not help in any workflow; it just showed some data to the user. I have now worked with getting a better idea for coming up with a demo, which shows how wave can be leveraged to implement a better solution. I need this demo for my <a href="http://wiki.sdn.sap.com/wiki/display/events/2009+Community+Day">Virtual Community Day</a> presentation on Thursday the 24 of September at 16 CET.
</p>
<p>This demo is about creating services requests for a customer. In the scenario the customer adds the robot, which displays all the equipment items the customer has. The customer then selects the item which is broken, and creates a service request on this item. When the request is created using another enterprise service, a technician is added to the wave to help the customer solve the problem. This will allow the participants to write to each other showing how things work out.
</p>
<p><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/z2P_uM13hOk&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/z2P_uM13hOk&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p>An extension of this demo, would obvious be a place where the two participants could change the status. So the task would be completed, when they have solved the problem.
</p>
<p>This demo is also created by SAP as a Composite application (CE), but using CE will only create the request. It will not allow the participants to help fix the problem in just one place. I believe it is in this place the Wave Robots has something value adding compared to normal web applications. There still need to be some development to get a more compelling look and feel. I&#8217;m not sure what is possible to do with styling and creating tables but the view should be styled before an Enterprise ready application is created.
</p>
<p><strong>How this was done<br />
</strong></p>
<p>As with the last demo, I have not been able to run Axis2 on Google App-engine, where robots currently have to be implemented. It seems like Axis2 is using raw sockets, which is not allowed on Appengine. I have therefore created SOAP-XML in hand and just submitted them via the URL connection. This XML I got by using <a href="http://www.soapui.org/">SOAPUI</a>, which is an excellent SOAP client for testing services. By using SOAPUI I could craft and test XML calls before spending time on implementing them in Java. It is also possible to use the Webservice test tool in connected to the Enterprise Repository. For some of the request it is possible to get some basic test data delivered.
</p>
<p>When I got a response back I have used a SAX parser to handle the requests. This works great to store the information for later retrieval by the robot. It would have saved some time on this front also if the Axis2 would work. For the three calls I perform, I use three different parsing strategies. I though learned something from this, so I&#8217;m happy.
</p>
<p>Output to the wave was pretty straight forward using the Robot apis. I only had some problems with some of the used keys between the different blips. To remember the item name, I store the item in the Memcache. That way it is easy to store data between different requests. I did have a problem with the robot, which believed that it should react to its own requests. That was not a good idea, and it created a lot of blips in the wave. So when developing robots, do not react to events performed by the robot itself or any of the robots at the @gwave.com domain.
</p>
<p>The code for the robot can be found in the <a href="http://code.google.com/p/sap-wave/source/browse/">sap-wave</a> repository.
</p>
<p>Before deploying this code you self you need to change the WebserviceHelper class, and add you own username and password to the SAP ES demo systems as Basic authentication parameters.
</p>
<p>Notice this blog is cross posted to SAP SCN.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2009/09/a-google-wave-robot-explained-in-5-minutes/' rel='bookmark' title='Permanent Link: A Google Wave robot explained in 5 minutes'>A Google Wave robot explained in 5 minutes</a> <small> I created the SAP Enterprise service robot, which is...</small></li>
<li><a href='http://www.masteringwave.com/2009/11/virtuel-reception-demo/' rel='bookmark' title='Permanent Link: Virtuel Reception demo'>Virtuel Reception demo</a> <small> I was amazed how Colayer had a virtual reception....</small></li>
<li><a href='http://www.masteringwave.com/2009/10/sap-riding-the-google-wave/' rel='bookmark' title='Permanent Link: SAP riding the Google Wave'>SAP riding the Google Wave</a> <small> It has been interesting to see that SAP is...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/09/new-sap-es-demo-creating-service-requests/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Robot API</title>
		<link>http://www.masteringwave.com/2009/09/new-robot-api/</link>
		<comments>http://www.masteringwave.com/2009/09/new-robot-api/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 09:26:50 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[abstractrobot]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[capabilities.xml]]></category>
		<category><![CDATA[robot]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2009/09/new-robot-api/</guid>
		<description><![CDATA[
			
				
			
		
Just found that a new JAVA API of the robots is available on the download site. The difference in the code can be seen on the changes page.
One interesting concept is the AbstractRobot which has been added. From my look at it this class gives is able to create the capabilities XML and the profile [...]


Related posts:<ol><li><a href='http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/' rel='bookmark' title='Permanent Link: New Google Wave Robot API v2'>New Google Wave Robot API v2</a> <small> Finally there is an update to the Google Wave...</small></li>
<li><a href='http://www.masteringwave.com/2010/05/new-wave-features-for-robots-api/' rel='bookmark' title='Permanent Link: New Wave Features for Robots API!'>New Wave Features for Robots API!</a> <small> Other nice features of Google Wave are now released!...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/add-robot/' rel='bookmark' title='Permanent Link: Add-Robot'>Add-Robot</a> <small>     A robot which can stores user favorite robots using...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fnew-robot-api%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F09%2Fnew-robot-api%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Just found that a new JAVA API of the robots is available on the download <a href="http://code.google.com/p/wave-robot-java-client/downloads/list">site</a>. The difference in the code can be seen on the <a href="http://code.google.com/p/wave-robot-java-client/source/detail?r=14">changes</a> page.</p>
<p>One interesting concept is the <a href="http://code.google.com/p/wave-robot-java-client/source/diff?spec=svn14&amp;r=14&amp;format=side&amp;path=/trunk/src/com/google/wave/api/AbstractRobot.java">AbstractRobot</a> which has been added. From my look at it this class gives is able to create the capabilities XML and the profile information. So you only need to implement one class and then you can have all the information you need one place. This will make it much easier to program robots. The Rave Ruby frameworks has something like this, you just implement the methods for each event you want to have. Then the framework can manage to create the capabilities XML file.  The AbstractRobotServlet and ProfileServlet was not changed, this could lead to thoughts about deprecation of these classes.</p>
<p>Of other changes the Annotations and Range has better toString functions, which was missing when you needed to debug applications.</p>
<p>I hope there will be posted a change to the <a href="http://code.google.com/apis/wave/extensions/robots/java-tutorial.html">tutorial</a>, so we can start using the AbstractRobot instead.</p>


<p>Related posts:<ol><li><a href='http://www.masteringwave.com/2010/03/new-google-wave-robot-api-v2/' rel='bookmark' title='Permanent Link: New Google Wave Robot API v2'>New Google Wave Robot API v2</a> <small> Finally there is an update to the Google Wave...</small></li>
<li><a href='http://www.masteringwave.com/2010/05/new-wave-features-for-robots-api/' rel='bookmark' title='Permanent Link: New Wave Features for Robots API!'>New Wave Features for Robots API!</a> <small> Other nice features of Google Wave are now released!...</small></li>
<li><a href='http://www.masteringwave.com/2009/09/add-robot/' rel='bookmark' title='Permanent Link: Add-Robot'>Add-Robot</a> <small>     A robot which can stores user favorite robots using...</small></li>
</ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.masteringwave.com/2009/09/new-robot-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
