Alright Ian - my change is in, so let's make yours work. Should we pull out a java/common directory that both gadgets and the social-api poms depend on? We could check in an empty directory for now just as a place holder so that we can get the structure right.
As for the resources: - features = gadgets server - config = gadgets server - javascript = a joint server which has both gadgets and social-api running? I think that is close to what we may want... - Cassie On Wed, Apr 16, 2008 at 12:13 PM, Ian Boston <[EMAIL PROTECTED]> wrote: > Done > https://issues.apache.org/jira/browse/SHINDIG-200 > > Its not complete since it needs the changes from 199, and also needs > clarification on which resources are part of which server (the javascript > files etc) > > It will run using jetty:run, but the only drawback is that now that the wars > are overlaid, it takes a mvn compile (in a separate window) to get the files > into a place where jetty will notice they have changed. > > Ian > > > > On 16 Apr 2008, at 01:51, David Primmer wrote: >> >> Sound good. Looking forward to the patch. >> >> >> On Tue, Apr 15, 2008 at 5:42 PM, Kevin Brown <[EMAIL PROTECTED]> wrote: >>> >>> +1 -- I like this a lot, even if it is slightly more complex. >>> >>> >>> >>> On Tue, Apr 15, 2008 at 5:13 PM, Ian Boston <[EMAIL PROTECTED]> wrote: >>> >>>> >>>> Looking at the patch and just having updated from svn, I think this >>>> means >>>> that >>>> in addition to the patch Cassie is working on.... >>>> >>>> java/social-api becomes a jar >>>> java/gadget becomes a jar >>>> >>>> --------- >>>> There is a new project to build a overlay war from features/** >>>> javascript/** config/** , >>>> perhapse split into 2, one for gadgets and one for social-api (not >>>> certain >>>> about the split) >>>> eg >>>> >>>> java/gadget-resources >>>> java/social-api-resources >>>> >>>> These just contain a pom.xml that builds the overlay. >>>> >>>> ---------------- >>>> Then there is a new webapp >>>> java/server >>>> >>>> That contains src/main/webapp/WEB-INF/web.xml >>>> >>>> that unpacks the overlay wars, pulls in the jars and packages as a >>>> war... >>>> for running in jetty. >>>> >>>> This would not enforce boundaries between social-api and gadget, but >>>> would >>>> enable both to run, and for others to construct a target. >>>> >>>> >>>> Perhaps thats too complex and there could be some simplification.... I >>>> would be happy to generate a patch once Cassie is done.... >>>> >>>> >>>> One other thing. I have found that the maven plugins that build sites >>>> (less important) and perform releases(more important) are picky about >>>> the >>>> relationship between the directory name, the artifact ID, how the group >>>> ID >>>> changes as the directory structure gets deeper. >>>> >>>> If you want to use these plugins in multiproject mode, then it probably >>>> worth trying them now... just to make certain that they do work. If the >>>> entire build is maven2 based, the the release plugin is well worth the >>>> hassle Changing artifact names and structure later an be a complete >>>> pain, >>>> see https://source.sakaiproject.org/svn//kernel/trunk/ to see what I >>>> mean. >>>> >>>> Ian >>>> >>>> >>>> >>>> >>>> On 16 Apr 2008, at 00:40, Kevin Brown wrote: >>>> >>>>> On Tue, Apr 15, 2008 at 3:14 PM, Ian Boston <[EMAIL PROTECTED]> wrote: >>>>> >>>>> One way might be... >>>>>> >>>>>> add a webapp project that takes a jar from gadgets and a jar from >>>>>> social >>>>>> api and a jar from common and builds the war. >>>>>> >>>>> >>>>> >>>>> That's what I'm in favor of doing. >>>>> >>>>> >>>>> It might also overlay wars or zips containing all the javascript html >>>>>> >>>>>> and >>>>>> css files.. so that in the war project there is just the web.xml >>>>>> thatis used >>>>>> for a sample deployment. >>>>>> >>>>> >>>>> >>>>> These would belong in there as well, as resources. >>>>> >>>>> >>>>> >>>>>> >>>>>> Then with the jetty target, run that war. >>>>>> >>>>>> For those who want to construct their own webapp and perhaps customize >>>>>> the >>>>>> injection of the service layer, they can pull the gadgets jar, the >>>>>> social-api jar and the javascript zip/jar/war from the maven repo and >>>>>> merge >>>>>> with their own webapp project (with a customized web.xml, service >>>>>> implementation jar and guice service module) >>>>>> >>>>> >>>>> >>>>> And that's exactly what I've been asking for. It's exactly what I want >>>>> to do >>>>> for our deployments at google, and I'm sure it's a model that other >>>>> people >>>>> would like as well. >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> Ian >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On 15 Apr 2008, at 17:08, Cassie wrote: >>>>>> >>>>>> Okay, so I think we are mostly in agreement that the setup of the >>>>>>> >>>>>>> Shindig java code needs to evolve towards something like this: >>>>>>> >>>>>>> java/gadgets/* -- gadget rendering code >>>>>>> java/social-api/* -- code for serving social data (eventually all in >>>>>>> the restful wire format) >>>>>>> java/common/* -- all the rest of the common code shared by everybody >>>>>>> >>>>>>> In order to start going this direction I have a patch that does the >>>>>>> following: >>>>>>> 1. Moves the java social code and javatests social code into the >>>>>>> java/social-api component (out of java/gadgets) >>>>>>> 2. Moves the socialdata servlet registration from the gadgets >>>>>>> web.xml >>>>>>> to the social-api web.xml >>>>>>> 3. Moves the pom/parent/pom.xml into java/pom.xml This is necessary >>>>>>> for making a multi-module project (See things like this: >>>>>>> http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html >>>>>>> ?page=2 >>>>>>> for more info) We need a multi-module project because currently >>>>>>> social-api depends on gadgets (and eventually they will both depend >>>>>>> on >>>>>>> common) >>>>>>> >>>>>>> Using this ridiculously large patch you can do the following: >>>>>>> - use mvn jetty:run-war in java/gadgets like usual. however, the >>>>>>> socialdata servlet won't be there and so all social stuff will break >>>>>>> (including the samplecontainer - we will have to fix this later) >>>>>>> - use mvn compile in java/ to compile all the gadgets stuff and all >>>>>>> the social-api stuff. >>>>>>> - use mvn jetty:run in java/social-api to run the social server (ie >>>>>>> the socialdata servlet) this has to be done after the compile. >>>>>>> >>>>>>> We could do mvn:jetty-run in the top directory if we put in a >>>>>>> web.xml >>>>>>> file. This may be the best option for the samplecontainer and >>>>>>> example >>>>>>> friends. >>>>>>> Oh, and please tell me if there is a better way to do this! >>>>>>> >>>>>>> Please review this patch, I would like it to go in soon: >>>>>>> https://issues.apache.org/jira/browse/SHINDIG-199 >>>>>>> >>>>>>> And note: this is a regression! So after I commit this people should >>>>>>> probably not sync up their svn clients if they are dependent on the >>>>>>> samplecontainer or the tight integration between socialdata and the >>>>>>> gagdet renderer. We'll fix it all again soon somehow. >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> - Cassie >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> ~Kevin >>>>> >>>> >>>> >>> >>> >>> -- >>> ~Kevin >>> > >

