On 29 Jul 2008, at 00:28, Kevin Brown wrote:

On Mon, Jul 28, 2008 at 11:08 AM, Ben Laurie <[EMAIL PROTECTED]> wrote:

So, I'm supposed to be constructing a how-to for container authors on
running Shindig and Caja.

I presume one is not expected to run Maven for a production system.
So, what does one do for that?


Maven is a build system. You use it to build the artifacts (JAR or WAR
files) for deployment on an appropriate servlet container (jetty, tomcat, jboss, etc.) If you're using a J2EE container, you can probably just drop
the WAR in and it'll work. For other setups, using the jars with some
wrapper logic is probably more appropriate.


Similarly, are there any instructions on integrating with my own
systems or running my own opensocial javascript? Or do I have to work
that out by poking?


For social data, you have to implement the primary social data interfaces
(people, activities, and app data). Christian Schalk has an excellent
writeup on the process, though it's a bit dated now. Cassie, Ian, and Louis
might be able to offer assistance here.



yes, the maven build will generate a usable war, but if you want to connect it to your own back end or customize the front end there are a couple of integration points.
org.apache.shindig.social.opensocial.service.*
and
org.apache.shindig.social.opensocial.spi.*

---------------------------------------------------
The Front End Service Implementation
----------------------------------------------------
org.apache.shindig.social.opensocial.service.*
On the front (ie towards http) you may want to extend the social.service API

http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/service/package-summary.html

to be precise DataServiceServlet
http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/service/DataServiceServlet.html

However this can be used as is.

--------------------------------------------
The back end SPI
--------------------------------------------
On the back end you will want to implement your own versions of the Service Provider Interfaces
org.apache.shindig.social.opensocial.spi.*


http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/spi/package-summary.html

again, to be precise
http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/spi/ActivityService.html http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/spi/AppDataService.html http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/spi/PersonService.html

Shindig comes with a default JSONDB implementation of these services, these services should emit objects implementing the interfaces in the model api http://people.apache.org/~ieb/shindig/apidocs/org/apache/shindig/ social/opensocial/model/package-summary.html

Although, if the service implementation wants to use the shindig internal implementations of these, the Guice injector has them registered as default implementations. (@ImplementedBy)

------------------------------------------------

Having created your own service implementations you will need to add your GuiceModule to the list of modules in the web.xml of the the deployed webapp. Your module should contain bindings for the SPI and Model classes that you are providing as well as anything else you need to perform the integration.


There is a Cache SPI in SHINDIG-279 which might become available soon for those that have caching infrastructure they want to re-use.



Sorry thats all a bit rough but I hope it helps.
Ian

Reply via email to