Hi Alex, I had a similar requirement in the past. I was evaluating the earlier version of wave for our Enterprise process platform suite which runs on browser. Assume something similar to Chatter in salesforce.
The authorization of users has to be done in LDAP and there had to be a custom UI library based on pure Javascript for collaboration (no GWT) so that it plugs in to various other applications in the suite. I built a simple JS client that is much similar to the Wave page with participants information read from LDAP and wave conversations for the user. Client JS libraries were based on the client-server protocol specification then. And the client-server communication was with a simple comet style implementation. I reused the 'code' of Wave Server as a module in our application server for this purpose. It was a pain for me, as you said with the deep integration and frequently updated code. Though I did not use Guice much in this, I was having that in mind for any real implementation. Your suggestion of not going for it is a bit surprising for me. I could close the evaluation successful. Due to the downturn of the Wave project, I could not proceed further. With WIAB moving to Apache, I see some light and started again on WIAB code. That was my part of the story. Point of relevance here is the authentication and persistence set through a configuration would be a really useful starting piece for integration of our sort. At this point, I am in the learning phase of the WIAB code but for sure would help in testing/new requirements for this !! P.S: I developed an interest on Open source projects and one of my new year resolutions is to do atleast a commit in one project. Hoping to contribute to WIAB sooner :) Regards Sathish On Wed, Jan 19, 2011 at 9:15 AM, Alex North <[email protected]> wrote: > Hi Vicente, > > I'm not sure integration by trying to compile the WIAB code in with your > application is the best approach, but perhaps you can tell us more about > what you're trying to do so we can judge. > > The code under the org.waveprotocol.wave package is intended as re-usable > library code, and the build file can build it into jars for you to link > against. The code under org.waveprotocol.box is the WIAB application itself > and we never thought about it being compiled or linked into another > application. Guice is used for some pieces, but not universally because > Guice doesn't solve all problems. There's no commitment to keep interfaces > or bindings remotely stable within that code so I think integrating that > deep is likely to be painful. > > However, you're hinting at something we would like to do, which is to be > able to delegate WIAB authentication to external authentication systems. I > had imagined this would involve a general auth interface in WIAB with > multiple implementations of that interface, something without too much > churn. So WIAB would still be a stand-alone binary but you could switch > auth > systems by configuration. Ditto persistence. > > Alex >
