Hi, you can also use the maven-war-plugin. I'm using it to change the web.xml and other things. It merge a war with my current project: http://fisheye.exoplatform.org/browse/projects/portal/trunk/gadgets/server/pom.xml?r=20861
an example documented on the mvn website : http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html Jeremi On Fri, Nov 21, 2008 at 17:24, Ben Smith <[EMAIL PROTECTED]> wrote: > That's a really useful roundup Christian. > > Once I'm back from holiday I'll be working with the samples project a lot > more. In particular, I'm wondering how best to swap in / out a persistence > layer implementation. As it basically requires a Guice module and that to be > included in the appropriate web.xml, I thought Cargo might be able to help: > http://cargo.codehaus.org/Merging+WAR+files > > Anyway.. back to the holidaying > > Ben Smith > BBC > > On 21 Nov 2008, at 17:12, Christian Schalk wrote: > >> Hi Harry, >> >> I can help a bit (especially since you're a Facelets user.. :-) >> >> With regards to providing an implementation for the (three) interfaces, >> basically you'll need to implement the following three interfaces.. (with >> respective methods) >> >> PersonService >> -getPeople(), getPerson() >> (Note: the getPeople() method assume you have an existing social >> graph that connects people. Basically getPeople returns peoploe that are >> connected to a specific userid.) >> >> ActivityService >> - GetACtivities(), GetActivity(), CreateActivity(), DeleteActivities() >> >> AppDataService >> - GetPersonData(), UpdatePersonData(), DeletePersonData() >> >> You can see that the default downloadable Shindig comes with a simple JSON >> based example ,JsonDbOpensocialService, which implements all three >> interfaces for convenience. To understand how to pull out this example and >> plug in your own implementation classes, you'll have to get familiar with >> Guice as you'll need to have your custom classes get loaded when Shindig >> fires up. >> You should also check out the JPA sample work (java/samples/src/main/java/ >> opensocial.jpa.*) >> I haven't tried this out yet, but it looks very promising. You can see >> three >> example interface implementations (PersonServiceDb, ActivityServiceDb, >> AppDataSericeDb) >> >> As for deployment, yes, you wouldn't necessarily want to run with Jetty in >> your production environment, so yes, you would take the generated Shindig >> war file and deploy that to your JEE server. >> >> In order to render gadgets in a page, check out the samplecontainer, or >> specifically checkout the pages in the container directory: >> http://localhost:8080/gadgets/files/container/sample1.html sample2, etc.. >> >> So for JSF/Facelets, the JS required to render gadgets is independent of >> Faces, but you could encapsulate this into a custom component if you >> wanted >> to.. but that might be overkill. >> >> Hope this helps! >> -Chris >> >> >> >> On Fri, Nov 21, 2008 at 12:23 AM, Chris Chabot <[EMAIL PROTECTED]> wrote: >> >>> Anyone want to jump in here? :) >>> >>> ---------- Forwarded message ---------- >>> From: Harry <[EMAIL PROTECTED]> >>> Date: Fri, Nov 21, 2008 at 8:34 AM >>> Subject: [OpenSocial] What to do to implement an OpenSocial Container >>> To: OpenSocial - Implementing OpenSocial Containers < >>> [EMAIL PROTECTED]> >>> >>> >>> >>> Hi, >>> >>> I would like to extend an existing community solution as an OpenSocial >>> Container. I have Shindig running in my webserver. What do I have to >>> do? >>> >>> - Providing an implementation for the four interfaces >>> PeopleService, ... to get the data from the community database. >>> Where do I have to deploy this implementation? I assume to rebuild and >>> redeploy it with the shindig,war. Is this right? >>> >>> - In which way do I have to extend the web-interface to show the >>> installed gadgets? >>> In the existing community-system we use the facelets technology with >>> xhtml files. >>> >>> Thanks for your answers. >>> Harry >>> --~--~---------~--~----~------------~-------~--~----~ >>> You received this message because you are subscribed to the Google Groups >>> "Implementing OpenSocial Containers" group. >>> To post to this group, send email to >>> [EMAIL PROTECTED] >>> To unsubscribe from this group, send email to >>> >>> [EMAIL PROTECTED]<[EMAIL PROTECTED]> >>> >>> <[EMAIL PROTECTED]<[EMAIL PROTECTED]> >>>> >>> For more options, visit this group at >>> http://groups.google.com/group/opensocial-container?hl=en >>> -~----------~----~----~----~------~----~------~--~--- >>> >> >> >> >> -- >> Chris Schalk, Google Developer Advocate > >