My my - quite a thread happened while I was sleeping. There were like 20 million things that came up, so let me try to address some of them.
1. For complying to the opensocial spec you -must- be able to render and correctly display gadgets. Opensocial the spec relies on the gadget spec. There is dependence there and it is explicit. 2. Alright, so David was talking about something else - and that is purely technical. The /social/* code depends on some of the same infrastructure that the gadgets code does. It's not anything special, it used to be the CrossServletState (now guice) and the GadgetToken stuff. OpenSocial relies on GadgetTokens to do security things. social/* doesn't need anything oauth at the moment, but it will when the server-to-server apis get in there. 3. Given #2 I wanted to get some code in there quickly. The easy way was to put it on the same server to get all of the same benefits. That's the only reason I did it. And we can change it to whatever fits out needs too. However, I would like to see us have a couple of things satisfied. a) in dev - it would be nice to run just one command that runs everything and allows the samplecontainer to work. (the samplecontainer relies on both the gadgets server and the socialdata stuff) b) in prod - it would be nice if it were easy to run 2 deployments or 1 deployment c) the server that hosts the socialdata servlet should also host the javascript. Otherwise, you've got two halves of the wire format on two different servers - and that just seems like a recipe for disaster. (the samplecontainer should maybe also live in the social server but it uses everything.. so i'm not really sure how we will want that to work) I don't know how to do this. So, if someone can send in a patch that fixes all the maven stuff up to make that happen then let's go for it. In addition, we would probably need to do a directory shuffle like what Kevin described where we explicitly mark things as common or whatever. 4. Lastly - the RESTful server should be the same server as the socialdata server. They read from the same backends, and produce the same kind of thing (a wire format that somebody can depend on - like javascript). So, I don't think we need to make 3 servers. Hopefully the socialdata code and the RESTful code will be one and the same and the wire formats will be one and the same. That's what we should strive for just from a "duplicate code is evil" perspective. People have already filed bugs against us to do just that, and we will get there - but the RESTful spec needs to be done, and the code needs to be implemented. Until then, we will keep working on the current stuff to make it usable. Hopefully, most of the code we have in social/* can be reused in some manner. But anyway, that's more long term as nobody has started implementing anything in that area yet. Alright, I hope I didn't add more flame to the fire. Hopefully it makes some sense. - Cassie On Thu, Apr 3, 2008 at 8:37 AM, Kevin Brown <[EMAIL PROTECTED]> wrote: > > On Wed, Apr 2, 2008 at 11:11 PM, Brian Eaton <[EMAIL PROTECTED]> wrote: > > > On Wed, Apr 2, 2008 at 10:41 PM, Kevin Brown <[EMAIL PROTECTED]> wrote: > > > The shared pieces are the data accessors (both the JS and REST APIs need > > > these). Ideally I'd like to see the wire format used by the JS APIs to > > > communicate with the back end being identical as that of the JSON > > bindings > > > for the RESTful state, although that's not a strict requirement. > > > > My guess is stuff in the util/* directory will end up being useful as > > well. > > > > Agreed. > > Is anyone familiar enough with maven that they might show me how (or even > provide a patch!) that would let us have 3 separate projects? Something > like: > > trunk/java/gadgets <-- everything under the org.apache.shindig.gadgets > package > trunk/java/rest <-- non-shared parts of the RESTful API > trunk/java/common <-- everything shared > > I'd expect some parts of org.apache.shindig.gadgets to move into "common" > (OAuth bits mostly, I think), and everything currently in the > org.apache.shindig.util package as well. We could drop the util stuff into a > completely separate package as well. > > There is already a top level pom.xml, so I assume that we can just create > pom.xml files for the other two directories and then set up dependencies > appropriately. I have no idea how to make that happen though -- this is the > first maven project I've ever worked on. > > -- > ~Kevin >

