Great, let me know if you run out of the StarterProjects :) 2011/7/15 Thomas Wrobel <darkfl...@gmail.com>
> Been away a bit, so sorry for the delay. > > Thanks for all the information, this is incredibly useful. > > I'm going to start with doing one of the..well, starter projects and > see how well I handle that. If that goes smooth I'll investigating how > the protocol is currently working (code-wise) and see if I can see the > steps needed to convert to the new model. This could take awhile. > > Thanks again for the pointers, > Thomas > > > On 11 July 2011 10:48, David Hearnden <hearn...@google.com> wrote: > > Hi Thomas, > > > > Instructions are at: http://www.waveprotocol.org/code > > > > A good starting point would be to check out the code, and build and run > WIAB > > in development mode (ant compile-gwt-dev). In the debug log in the web > > client, you'll see all the messages being transferred over the websocket. > > The messages are JSON, and their structure is defined by some protos, and > > enveloped as (see WaveWebSocketClient$MessageWrapper): > > { sequenceNumber: <unused I think>, messageType: <message class name>, > > message: <object> } > > > > WaveWebSocketClient essentially defines the client side of the protocol, > and > > it's very trivial. Over a bidirectional stream (websocket), the client > > sends an open request (ProtocolOpenRequest), some number of submit > requests > > (ProtocolSubmitRequest), and then closes the web socket. After the open > > request, the client receives a constant stream of ProtocolWaveletUpdates, > > containing either wavelet snapshots or wavelet deltas, interleaved with > > ProtocolSubmitResponses, which contain the success/failure of the > client's > > own submits. Details about those particular messages can be found in > > waveclient-rpc.proto, but the previous sentence above covers almost the > > entire protocol, and it's expressed quite simply in the code. The bit I > > left out is the authentication messages, which I never looked into, but > the > > code looks pretty straightforward. > > > > The problems with the protocol are: > > * it does not support opening at particular versions, which is required > for > > diff-on-open > > * it bundles state and deltas over the same channel, rather than a > RESTful > > state service plus a streaming delta service, > > * a few others that have escaped my memory (something about closing > > connections? or losing access because of a participant change?). Listing > > the diff between the old and new protocol behaviour should produce a > > complete list. > > > > Hope that helps, > > > > -Dave > > > > On Sun, Jul 10, 2011 at 8:22 AM, Thomas Wrobel <darkfl...@gmail.com> > wrote: > > > >> oh, quick question; wheres the current wiab repository? > >> > >> ~~~~~~ > >> Reviews of anything, by anyone; > >> www.rateoholic.co.uk > >> Please try out my new site and give feedback :) > >> > >> > >> > >> On 9 July 2011 23:11, Thomas Wrobel <darkfl...@gmail.com> wrote: > >> > Guess I could have a go at those - they seem client based stuff so I > >> > should be able to handle it. > >> > I'll download a new checkout now and have a look. > >> > > >> > However, Can I have confirmation of the state of that proposed c/s > >> > protocol however as Joseph didn't know? > >> > > >> > At he moment Im a guy that doesn't know how it works at the moment, > >> > not knowing what exactly should be implemented/changed, and unsure if > >> > he has the skills needed to do it :p > >> > > >> > Perhaps I'm wrong, or being pessimistic, but at the moment I I feel > >> > like I could fix 10-20 client side bugs or feature requests in the > >> > time it will take me to understand how the wiab client and server > >> > should communicate with eachother. > >> > > >> > -Thomas > >> > > >> > > >> > > >> > On 9 July 2011 19:40, Yuri Z <vega...@gmail.com> wrote: > >> >> A great way to familiarize yourself with WIAB is by comepleting > >> >> StarterProject< > >> > https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+StarterProject > >> > > >> >> . > >> >> > >> >> 2011/7/9 Joseph Gentle <jose...@gmail.com> > >> >> > >> >>> On Sat, Jul 9, 2011 at 8:19 AM, Thomas Wrobel <darkfl...@gmail.com> > >> wrote: > >> >>> >> As far as I know, the client-server protocol for wave in a box is > >> >>> >> pretty stable at this point. Its documented here: > >> >>> >> > >> >>> > >> > http://www.waveprotocol.org/protocol/design-proposals/clientserver-protocol > >> >>> >> ... Though that documentation is probably out of date. > >> >>> > > >> >>> > It was my understanding it wasnt yet implemented? > >> >>> > There was an older thread here about it; > >> >>> > > >> >>> > > >> >>> > >> > http://mail-archives.apache.org/mod_mbox/incubator-wave-dev/201105.mbox/%3cbanlktimi_a6zkpsrxqqvhwysrfhh35-...@mail.gmail.com%3e > >> >>> > > >> >>> > David Hearnden there said; > >> >>> > > >> >>> > "I would strongly encourage not building too much on the current > >> >>> protocol, > >> >>> > since it has a number of known limitations. The new protocol is > >> simpler > >> >>> and > >> >>> > achieves a better separation of functionality. " > >> >>> > > >> >>> > Which put me off doing a anything with the code as-is. > >> >>> > > >> >>> > Has this changed now? > >> >>> > >> >>> I don't know - I haven't been working with the wave in a box code > for > >> >>> the last 6 months or so. > >> >>> > >> >>> >> If you care about the client/server API enough to dig through the > >> >>> >> code, writing up some proper documentation describing what you > find > >> >>> >> would be great. > >> >>> > > >> >>> > Id be happy to - but that might be overestimating my skills > somewhat. > >> >>> > My java skills uptill now have purely been GWT or Android based > >> stuff. > >> >>> > Haven't ever done any server stuff, and the wiab code is a rather > >> >>> > steep learning curve every time I try getting to grips with bits > of > >> >>> > it. > >> >>> > >> >>> I worked with the wave / wave in a box code for about half a year, > and > >> >>> I still feel like that whenever I dive in there. Despite referring > to > >> >>> (& editing) those protobuf files maybe a dozen times, it still took > me > >> >>> 5-10 minutes to find them again. You can still get work done with > that > >> >>> feeling, but it is slow going. > >> >>> > >> >>> If you want a good client/server protocol for wiab, familiarise > >> >>> yourself with the WIAB code and implement those changes Hearnden was > >> >>> talking about. > >> >>> > >> >>> -J > >> >>> > >> >>> > -Thomas > >> >>> > > >> >>> > >> >> > >> > > >> > > >