If people object to @ImplementedBy then its clearly not a big deal to remove it but the truth is that the equivalent will be moved into module specific default configurations which implementers can override. We will continue to have a default guice module in common, gadgets & social packages because gadgets and social are designed to run as separate components.
So in short Im OK with dropping the use of @ImplementedBy to more clearly document the code. The guice module used in SampleContainer should be an example to developers how to override the default module configurations. Perhaps moving some of it out of web.xml might make things more obvious On Wed, Dec 3, 2008 at 11:34 PM, Ben Smith <[EMAIL PROTECTED]> wrote: > > On 4 Dec 2008, at 00:29, Henning P. Schmiedehausen wrote: > > Adam Winer <[EMAIL PROTECTED]> writes: >> >> On Wed, Dec 3, 2008 at 2:12 PM, Kevin Brown <[EMAIL PROTECTED]> wrote: >>> >> >> SocialApiGuiceModule is never usable for production, and it can't be for >>>> the >>>> simple fact that there's no way to reason about the data store of a >>>> given >>>> container. >>>> >>> >> There's no reason we can't provide a Module that implements the parts >>> that have sane default bindings. And putting the sample container >>> dependencies in a module in o.a.s.social.core.config is way wrong. >>> Ditto the abuse of @ImplementedBy to tie PersonService, etc. to the >>> JsonDbOpensocialService. All that should be in a separate >>> SampleContainerModule to make it crystal clear to developers the >>> interfaces they absolutely have to bind for a real, production >>> container. >>> >> >> +1. >> > > This was all very confusing when I recently started working on Shindig, > especially as I had never used Guice before. > > I agree that something like a SampleContainerModule would help clarify what > is going on and what you need to do to integrate Shindig with your > production environment. I am all for convention over configuration but > @Implemented By doesn't provide this, so it just ends up being confusing > wizardry. > > Additionally, up-to-date and easy-to-find documentation on what you should > inject, how and why would really help. I'd be happy to work on this.. > > Cheers, > Ben Smith > BBC > >

