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
>
>

Reply via email to