<?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; Example</title>
	<atom:link href="http://www.masteringwave.com/tag/example/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.masteringwave.com</link>
	<description>Google Wave Made Easy</description>
	<lastBuildDate>Sun, 08 Aug 2010 13:46:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<cloud domain='www.masteringwave.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<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 [...]


No related posts.

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>No related posts.</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. [...]


No related posts.

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>No related posts.</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>An example where Google Wave is the right tool</title>
		<link>http://www.masteringwave.com/2009/08/an-example-where-google-wave-is-the-right-tool/</link>
		<comments>http://www.masteringwave.com/2009/08/an-example-where-google-wave-is-the-right-tool/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 10:59:14 +0000</pubDate>
		<dc:creator>Daniel Graversen</dc:creator>
				<category><![CDATA[Example]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[meetings]]></category>
		<category><![CDATA[sharing document]]></category>

		<guid isPermaLink="false">http://www.masteringwave.com/2009/08/an-example-where-google-wave-is-the-right-tool/</guid>
		<description><![CDATA[I was talking to a friend yesterday. He is a PR person working in a political environment. One of his tasks was to make a brochure with a description of a large venue. The venue is a collaboration between multiply political organizations in the area. His first task was to clear his draft with his [...]


No related posts.

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%2F08%2Fan-example-where-google-wave-is-the-right-tool%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.masteringwave.com%2F2009%2F08%2Fan-example-where-google-wave-is-the-right-tool%2F&amp;source=masteringwave&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>I was talking to a friend yesterday. He is a PR person working in a political environment.
</p>
<p>One of his tasks was to make a brochure with a description of a large venue. The venue is a collaboration between multiply political organizations in the area.
</p>
<p>His first task was to clear his draft with his own organization. This took some time to write and find the right voice and communication. Then he had to clear the content with the other organizations. When one of the organizations got their homepage on the brochure, all the others also wanted to have their homepage on as well.
</p>
<p>To make matters worse the brochure had to go through a graphical person, so the result of the revisions was displayed like the will be in the final brochure.
</p>
<p>If could use Google Wave for the process. He could a have created a Wave with his proposed content. When the content was cleared in his organization, he could create a new wave with the result. The new wave could then be shared with the other organizations, and they could agree on the text. They could see what each other wanted to correct and comment on these changes.
</p>
<p>It will not be possible to use have the graphical layout created in the Wave. But if everybody is sure about the content, then it would only be the graphical layout which needed to be discussed. If wave also was used for this, then it would be easier to agree on the changed that was required.
</p>
<p>So if my friend and his organization were able to use Google Wave they could collaborate easier and probably also save some meetings.
</p>
<p>
 </p>
<p>
 </p>


<p>No related posts.</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/08/an-example-where-google-wave-is-the-right-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

