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