I am primarily a Drupal developer, looking into integration of Drupal and other open source CMS platforms with Google Wave. Basically I am interested in the Wave as a content type similar to a blog, users would have the option to create wave posts on the Drupal site, other users comment, add media, robots, widgets, etc. to the wave.
From what I understand, the unique wave ID has to be in the script code of the header of the page. So we need a way to create those unique wave IDs on a google server, our own wave server, or any other domain the site is supporting for that. One option is Drupal admin setting a global wave server, or inputting multiple options and giving the user the choice to select their wave server on creation of a wave. Is there an API that allows creation of a wave from another site's interface?
Then there is the question of adding participants to a wave? Add all registered users of a Drupal site? Trying to understand how to manage this. We want the wave to fuction similar to a blog, forum, or comment stream, not exclusively as private messaging (but including those options in the wave). Right now the embedded wave isn't supporting animated playback.
Basically it is a simple embed, autogeneration of the wave ID and insertion into page header, add body init code in theme, and then the javascript code + iframe theme-ing that is first implementation. We have a Drupal 6 sandbox & google wave sandbox set up to begin development on this.
On a larger view it would be interesting to develop a Drupal installation profile that manages content creation on an independent wave server. Any suggestions or pointing in the next direction appreciated.
Google Wave: typehost@wavesandbox.com
Drupal blog wave-embed test: http://www.typehost.com/blog/google-wave-embed-first-test
Blog: http://webdevnews.net/2009/06/understanding-google-wave-development-part-1
Drupal-Google Wave development project: http://r.ad-i.us/
Comments
implementation questions
I created a page-node-#.tpl.php template for the embedded wave following this method:
http://drupal.org/node/104316
Added to the header:
<script src="http://wave-api.appspot.com/public/embed.js" type="text/javascript"></script><script type="text/javascript">
function initialize() {
var wavePanel = new WavePanel('http://wave.google.com/a/wavesandbox.com/');
wavePanel.loadWave('wavesandbox.com!w+cpclVsIo%I');
wavePanel.init(document.getElementById('waveframe'));
}
</script>
added to the body tag:
onload="initialize()"In blog create page:
<div id="waveframe" style="width: 340px; height: 2000px"></div>issues:
--> is there a way to automate the implementation of this waveID call so it displays different embedded waves on different pages?
--> can we create a module function where all registered users of a drupal site are participants of a wave?