This is the home page for the Apache Shindig space.
Table of Contents
FAQs
What's the relationship between Shindig versions and OpenSocial spec versions?
There was a recent post on the mailing list that discussed this relationship. These will match what you would find in the SVN. For convenience, here's a quick table summary.
Shindig Version |
OpenSocial Spec Level |
SVN URL |
Notes |
---|---|---|---|
1.0.x-incubating |
0.8.1 |
http://svn.apache.org/repos/asf/incubator/shindig/branches/1.0.x-incubating |
|
1.1.x (currently Trunk) |
0.9 |
|
How do I verify the OpenSocial compliance of Shindig?
Call mvn -Prun on the 1.0.x-incubating branch and open in your favourite browser http://localhost:8080/gadgets/files/samplecontainer/samplecontainer.html.
Specify http://opensocial-resources.googlecode.com/svn/tests/trunk/suites/0.8/compliance/reference.xml to verify the compliance tests in Shindig.
What do I need to do to integrate shindig into my site?
See The rough guide to deploying shindig. It's very barebones right now, but hopefully can get you started.
How can I display a gadget in my web page?
This how to shows the integration of a gadget in a web page Display a gadget in a web page.
How do I generate the iframe urls manually?
With Tomcat, how to use Shindig as a non-root application?
If you are using a non-root context like /shindig you want to edit your /java/common/conf/shindig.properties file.
Edit to equal to your new path
shindig.content-rewrite.concat-url=/shindig/gadgets/concat
What are the inputs and outputs of the Shindig metadata call?
How to access the console for gadgets.log?
Firefox: Firebug: http://getfirebug.com/
IE7: CompanionJS: http://www.my-debugbar.com/wiki/CompanionJS/HomePage
IE8: Tools->Developer Tools, use the Script tab
Safari 3 & 4: Edit->Preferences; Advanced; Select "Show Develop menu in menu bar"; Develop->Show Error Console
Opera 9/10: Out of luck till Shindig gets fixed, seems window.opera.postError is the logging call
How I can include Shindig in my web-app?
You can get a start point reading the How use shindig out of the box tutorial.
Database & Shindig
How can I provide my own implementation of the data services (no database)?
First, it's helpful to have an overview of Shindig's architecture. Dave put a great post on his blog, so start by reviewing that. (Hey Dave, would you consider moving your post over to this wiki?) Notice in step 5, you get to the three data services, PersonService, ActivityService, and AppDataService. From there, you can check out Harry's instructions on Providing your own data service implementation.
How do I integrate a relational database with Shindig (MySQL example)?
The following tutorial explains how to do that (tutorial).
If you want to understand how JPASocialModule provides implementations of PersonService, AppDateService, etc.
look at the instructions in the previous section.
How can I integrate my own social database schema with shindig (MySQL example)?
The following tutorial explains how to do that (tutorial).
This tutorial requires the knowledge of the above tutorial: Relational database integration.
How do I integrate a relational database with Shindig (deprecated)?
Chris Schalk did an article on data integration some time ago. On a recent mail exchange on shindig-dev, he recognized this probably needs to be updated. Hopefully, we can update that information on this wiki on the new Shindig Data Integration Development Guide page.
Security & Shindig
How do I enable OAuth in Shindig?
Rodrigo Gallardo has started a the Enabling OAuth support page. Check it out for details.
How do I enable secure tokens?
There's a mail thread that starts to describe how to do this.
Setting up an Eclipse Development Environment
How do I run Shindig on Tomcat6 under Eclipse ?
Note: these instructions were probably made obsolete by shindig revision r772382. (http://svn.apache.org/viewvc?view=rev&revision=772382). If you're using tomcat, please update these instructions as appropriate.
Shindig uses Juel as the implementation of Unified Expression Language, this clashes with tomcat 6 el-api.jar, and sometimes produces weird error messages (UnsatisfiedLinkError), you need to:
-Change SHINDIG_ROOT/pom.xml and comment the maven plugin 'maven-remote-resources-plugin', otherwise when Eclipse tries to jar the classes under several shindig subprojects, the META-INF/{DEPENDENCIES,NOTICE,LICENSE...} files clash with one another and Eclipse throws an error.
-Add a dependency in SHINDIG_ROOT/pom.xml, SHINDIG_ROOT/java/common/pom.xml and SHINDIG_ROOT/java/gadgets/pom.xml on :
<dependency><groupId>javax.el</groupId><artifactId>el-api</artifactId><scope>provided</scope><version>1.0</version></dependency>
since we're going to replace the full JUEL (that includes the el-api) with a stripped down JUEL (without the el-api).
You need to scope it with 'provided' so that Eclipse will not add this jar to the WEB-INF/lib directory (el-api.jar is found on tomcat6/lib) or it will clash with the tomcat6 provided el-api.jar and produce an UnsatisfiedLinkError exception.
-Create a juel-2.1.0-nojavax.jar with the same classes as they were in juel-2.1.0.jar but removing the javax directory from the jar.
-Install your juel-2.1.0-nojavax.jar in your local Maven repository with:
mvn install:install-file -Dfile=juel-2.1.0-nojavax.jar -DgroupId=de.odysseus.juel -DartifactId=juel -Dversion=2.1.0-nojavax -Dpackaging=jar
-Change the dependency version of JUEL from "2.1.0" to "2.1.0-nojavax" in SHINDIG_ROOT/pom.xml, SHINDIG_ROOT/java/common/pom.xml and SHINDIG_ROOT/java/gadgets/pom.xml.
Now on Eclipse create 3 Java projects: shindig-common, shindig-gadgets and shindig-social-api with source folder=src/main/java, and one "Dynamic Web Project" (shindig-server) with WebApp folder == src/main/webapp. Then import the sources from your SHINDIG_ROOT/java/{common,gadgets,social-api,server} to each of these projects. On each of the projects, add the src/main/java and src/main/resources and src/test/resources as a source folder (right-click on the folder and select "Add as Source Folder").
Now right-click on each of the projects and select "Enable Dependency Management" under Maven menu.
Right-click on shindig-server and select "Properties", and under "Java EE Module Dependencies", select "Maven Dependencies", "shindig-common", "shindig-gadgets" and "shindig-social-api".
You're ready to go ! right click on shindig-server, "Run As"->"Run on Server" and select your Tomcat6 server instance.
in case you run on any error, make sure all the 'jar's needed are in .metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/shindig-server/ and that the el-api.jar is not present in that directory.
How do I manage Shindig?
How do I use JMX with Shindig?
With Jetty, you need to set MAVEN_OPTS=-Dcom.sun.management.jmxremote and call mvn -Prun. After this, you could use jconsole as usually.
Adding Features to Shindig
How do I add a new feature to Shindig?
This series of pages walks through adding a feature to Shindig and then adds an osapi service and then connects the osapi service into the feature.
- Adding a New Feature to Shindig
- Adding A New osapi Service and Calling it From a Feature
- Batch Data Loading in a Gadget
- Data Loading for a Shindig Feature
Additional Resources
OpenSocial external resources
Here is the list of OpenSocial external links:
- Partuza: A Shindig based example social network site
- Socialsite: socialsite: Open Source Social Networking Server with OpenSocial Support
On 02/02/11 17:46, Paul Lindner wrote: > Right now SocialSite is stuck in Oracle/Sun legal limbo which has caused the > community around it to disperse. Sad really.
- raya: .NET port of Partuza
- osec: The MITRE Corporation's light-weight, enterprise OpenSocial container. There is the intent to become an Apache Incubator project shortly.
- Eureka Streams: Eureka Streams is a free, open source enterprise social networking platform developed by Lockheed Martin.
- Katari: Katari is a java based software platform that will help you develop web applications faster. It is a modular platform, that includes a shindig module and a gadget container module.
Other OpenSocial implementations
Here is the list of other OpenSocial container implementations:
- Baadal: .NET port of Shindig
- Opencampfire: .NET port of Shindig
- pesta: .NET port of Java Shindig
Articles on Shindig
Title |
Publisher |
Author |
Published |
---|---|---|---|
Thesis about implementing the OpenSocial API into an existing social network. Written in German |
N/A |
Harry Hübner |
June 2009 |
ASF |
Dave Johnson |
March 2009 |
|
OpenSocial a Standard for the social web slideshare PDF |
Patrick Chanezon |
March 2009 |
|
N/A |
Arnaud Bailly |
Feb. 2009 |
|
Rajdeep Dua |
Jan. 2009 |
||
ASF |
Henning Schmiedehausen |
Nov. 2008 |
|
? |
Rajdeep Dua |
Nov. 2008 |
|
Article Alley |
Kevin Burbank |
Oct. 2008 |
|
N/A |
Chris Chabot |
Oct. 2008 |
|
N/A |
Dave Johnson |
Sept. 2008 |
|
N/A |
Rajdeep Dua |
Aug. 2008 |
|
Google Sites |
Rajdeep Dua |
June 2008 |
|
Architectural Overview of Shindig , an OpenSocial Reference Implementation |
Google Sites |
Anash P. Oommen |
June 2008 |
Google Sites |
Anash P. Oommen |
June 2008 |
|
GoogleDevelopers |
Dan Peterson, Paul Lindner and Chris Chabot |
June 2008 |
|
OpenSocial: The Power of Social Networks in Your Applications |
N/A |
Riccardo Govoni |
May 2008 |
Architectural Overview of Shindig , an OpenSocial Reference Implementation |
N/A |
Rajdeep Dua |
May 2008 |
N/A |
Chris Schalk |
May 2008 |
|
N/A |
Chris Schalk Chris Chabot |
May 2008 |
|
N/A |
? |
March 2008 |
|
Shindig Architecture: Java Gadget Classes |
N/A |
Michael Mahemoff |
Feb. 2008 |