Hi Michael

As some of you know, I was planning to separate the communications
> layer of the FedOne console client into a separate library. As
> promised, I am posting this update to let you know how it's going.
>
> Over the past week I've been going over the FedOne source code, in
> particular the code of the console client. I am glad to say that the
> client code is overall well-structured and easy to follow (I wouldn't
> expect any less from Google).


Cheers :-)


> In fact, no major changes are necessary.
> Mostly, the client code just needs to be cleaned up a bit and the
> build configuration needs to be adjusted to generate a separate
> library.
>
> I have divided the work into the following steps:
> 1. Separate the client back-end into an abstract base class and a
> protobuf/rpc-specific implementation. The back-end base class will be
> protocol-agnostic.
>

Sounds good.  I had a start to this in
http://codereview.waveprotocol.org/23002/show for server submits, with a
specific goal in mind, but that patch will need to be somewhat abandoned and
a different approach taken.


> 2. Clean up the API.
>

You're right that this needs to be done, it was a bit ad-hoc originally and
hasn't changed all that much since.  The focus has been on the server side.


> 3. Create an abstract base class for the client (it's front end). Move
> common client logic out of the console client and into the abstract
> base class.
>

We've tried to keep the console specific code and the protocol/API code as
separate as possible (the waveclient.common versus waveclient.console), but
it can definitely go further, especially with more separation of the
document model and a further layer of abstraction w.r.t the UI.  Of course,
it's possible have more waveclient packages if appropriate.


> 4. Clean up dependencies and adjust the build configuration to
> generate a separate library.
>
>
Sounds great.  This was meant to be the fedone-api.jar build target but
there are a few waveserver dependencies (C/S protocol for a start -- would
be nice to move this to a separate package), it got complicated, so we just
ended up dumping everything without a main method in there.  That said, it's
broken.  It would be great if this was cleaned up.


> I will begin working on this within the next few days. I will post
> further updates in this thread.
>
>
One other thing -- I've upload a patch I will submit soon (i.e. between a
week and a month :-) for review, though I will split it up a bit more (it's
huge) before requesting a review.
http://codereview.waveprotocol.org/25002/show, something to perhaps keep in
mind.

-- Ben

--

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