Hi folks, We thought it might be useful to point at some starter documentation for the new web client, as well as pointing to some of the more interesting parts of the code for those of you interested in working with it.
The web client is implemented using GWT [http://code.google.com/webtoolkit]. It is a testbed/sample for the newly open sourced editor, model and concurrency control code, which is also in GWT. The code for the web client can be found in the directory gwt_src/org/waveprotocol/wave/examples/fedone/ [http://code.google.com/p/wave-protocol/source/browse?repo=io2010#hg/gwt_src/org/waveprotocol/wave/examples/fedone] in the io2010 repository. The code uses the (new in GWT 2.0) UiBinder approach to defining its user interface. Currently the client allows you to view and create waves, as well as add replies and edit existing blips. It also allows you to add participants to an existing wave - both local and remote (via federation). You can use it by running "ant all" (or "ant dist-server compile_gwt"), setting up the server in the same way as before [http://code.google.com/p/wave-protocol/wiki/Installation], then visiting http://localhost:9898 in a browser. Login with a full u...@yourdomain. At the moment, only Chrome, Safari 5 and Webkit nightly are supported, as they're the only browsers that have the required Websocket support. Here's a brief look at some of the files to look at if you're interested in adding features or functionality to the current client, or to implement your own client using the code be open sourced. gwt_src/org/waveprotocol/wave/examples/fedone/simplewebclient - this directory contains the bulk of the user interface for the client. In that directory, you'll find the following files of interest: * client/CcStackManager.java This file shows how to hook up the client side concurrency control stack. The concurrency control stack takes care of sending messages out to the network, and applying real time changes to the current state of the editor. * client/EditorWidget.java This file hooks up the newly open-sourced editor widget to the view of a wave. * client/WaveView.java This is the right hand panel of the main view of the client, showing the display of blips in the wave. As noted in the initial email announcing this code, right now this only displays top level blips in the conversation. In the gwt_src/org/wave/waveprotocol/examples/fedone/waveclient/common directory are GWT-specific versions of the client-server protocol implementation for the client. As we previously mentioned, we're aware of the deficiencies of the current client-server protocol, and will be looking to update it soon to be closer to the client-server protocol we use for the wave.google.com service. Additionally, Alex North has posted a wiki page with a walk through of the new model code [http://code.google.com/p/wave-protocol/wiki/WaveModelCodeWalk], and Dan Danilatos has additional notes in this thread: https://groups.google.com/group/wave-protocol/browse_thread/thread/73608bf7a13f2385/5bc68b33febed568?pli=1. It's worth emphasising that the io2010 branch of the repository is a temporary thing - once the code is cleaned up and the tests are all working again, we'll be landing the code into the default trunk repository. Instructions for checking out a copy of the io2010 code can be found at http://code.google.com/p/wave-protocol/source/checkout?repo=io2010 Thanks, Anthony (on behalf of JD, Alex, Dan, Soren, Bob and Christian) -- Anthony Baxter, [email protected] -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
