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