OpenSocial対応のガジェットを構築するうえでの悩みどころは、「テスト環境どうするの?」というところではないでしょうか。
まだ公開していないガジェットアプリケーションを Orkutのsandboxでテストするのはちょっとなぁ・・・と思ったことがある人は、ここで紹介するShindigとPartuzaを使ってみるといいかもしれません。
今回はまず Shindig について説明します。
Shindig
Shindigは OpenSocial API Specificationと Gadgets Specificationを実装したオープンソースのプロジェクトです。 Apache incubatorにて開発が進められています。
Shindigを使うと誰でも自由にOpenSocialガジェットをホストするサイトを構築することができます。ローカル環境に立てればテスト環境が作れるというわけです。
※ iGoogleのガジェットをいくつか試してみましたが、すべてのガジェットが実行できるわけではありませんでした。iGoogle独自のメソッドの多くは実装されていないようです。
Shindigの構成要素
- Gadget Container JavaScript
- Gadget Server
- OpenSocial Container JavaScript
- OpenSocial Data Server
導入
http://incubator.apache.org/shindig/#php
Java版もありますが、ここではPHP版で。
必要環境
- Subversion
- mod_rewrite
- PHP 5.2.x (json, simplexml, mcrypt, curl)
ソースをチェックアウト
$ mkdir /var/www/shindig
$ cd /var/www/shindig
$ svn co http://svn.apache.org/repos/asf/incubator/shindig/trunk/ .
バーチャルホストを立てる
ここでは dev.shindig.jp というドメインとします。
<VirtualHost 192.168.1.142:80>
DocumentRoot /var/www/shindig/php
DirectoryIndex index.html index.php
ServerName dev.shindig.jp
AddDefaultCharset UTF-8
<Directory /var/www/shindig/php>
AllowOverride All
</Directory>
</VirtualHost>
PECL json インストール
個人の環境にPECL jsonが入っていなかったのでインストールしました。
$ sudo pecl install json
ガジェットを実行してみる
ここまでできれば、すぐにガジェットを実行することができます。エンドポイントは、
http://dev.shindig.jp/gadgets/ifr?
です。urlパラメータを与えてガジェットを実行します。
http://dev.shindig.jp/gadgets/ifr?url=[ガジェットのXMLファイルのURL]
↑ ドキュメントに サンプルとして記載されているガジェットを実行したところ。
このように、Shindigを使うと簡単にOpenSocial対応ガジェットをホスティングする環境を作ることができます。
というわけで、次回はPartuzaについて。