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.

Reply via email to