Trying Shindig, an OpenSocial and Google Gadgets container

Shindig is an open source reference implementation of Google’s OpenSocial and gadgets specifications. With Shindig, you will be able to host Google gadgets and OpenSocial applications in your own web site relatively quickly as it already contains code that you can easily plug into your server infrastructure to start hosting these applications.

Interested with OpenSocial, I tried installing Shindig in my home server. Currently, Shindig’s PHP implementation is far from being complete, so my interest is just to have a feel on how it works. To install Shindig, check its web site and follow the instructions there. The project does not yet support automated build infrastructure so you need to get Shindig from its SVN repository. For this, you need an SVN client. Fortunately, I have Cygwin installed in my Windows XP machine, so I only had to install subversion in Cygwin. This can be done by running the Cygwin installer, then locate the subversion package, select it, and install. After the installation, run a bash shell and you are ready to export Shindig.

In my setup, my web’s root directory is located in c:/www. To export Shinding using Cygwin, just run the following command in a bash prompt:

[user@localhost] cd /cygdrive/c/www
[user@localhost] svn export http://svn.apache.org/repos/asf/incubator/shindig/trunk/
[user@localhost] mv trunk shindig

After exporting the Shindig source code, the next thing to setup is a virtual host pointing to the PHP directory of Shindig. If you cannot setup a virtual host, it is still possible to run Shindig by changing some settings in the configuration file. I used the virtual host option to separate Shindig from the rest of my web installation. Here is my virtual host setting:

# shindig
<VirtualHost *:80>
    DocumentRoot "C:/www/shindig/php"
    ServerName shindig.mshome.net
    ErrorLog "logs/shindig.log"
    CustomLog "logs/shindig-access.log" common
    <Directory "C:/www/shindig/php">
        Options FollowSymLinks
        AllowOverride FileInfo
        Order Allow,Deny
        Allow from all
    </Directory>
</VirtualHost>

Make sure that mod_rewrite is also enabled in your web server. Check if you have the following line in the Apache’s configuration file httpd.conf:

LoadModule rewrite_module modules/mod_rewrite.so

For the mod_rewrite to work, you also need to set AllowOverride in the virtual host’s configuration to FileInfo or higher (All, for example). In my initial setup, I had this option set to None and wondered why mod_rewrite even if already installed didn’t work.  After changing httpd’s configuration, restart httpd for the new configuration to take effect.

When everything is set, try to check if your installation works. Open a browser and enter the following URL:

http://shindig.mshome.net/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml

Change shindig.mshome.net in the above URL to your own. This should display labpixies note gadget. Now you can start developing your own gadget or OpenSocial application in the convenience of your own server.

You may also like...

3 Responses

  1. Warga Ngawi says:

    Nice tool, but I’m not sure if I can implement this on my webhost 🙁

  2. Jerry says:

    I keep going around in circles. Everything looks installed right, but when I go to

    http://MY_HOST/shindig/php/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml

    I just keep getting:

    The requested URL /shindig/php/gadgets/ifr was not found on this server.

    Any ideas about possibly why I am unable to find this folder?

  3. sandrar says:

    Hi! I was surfing and found your blog post… nice! I love your blog. 🙂 Cheers! Sandra. R.

Leave a Reply