オープンソースの Shindig 対応 SNS - Partuza!
by えーじ / Eiji Kitamura
OpenSocial のコンテナと言えば Shindig ですが、PHP 版は既に OpenSocial v0.7 への対応を完了しています。 Partuza! は PHP 版 Shindig の開発者である Chris Chabot 氏がオープンソースで開発した Shindig 対応 SNS です。
Shindig がコンテナなのに、じゃあ Partuza!は何をするの?と思われるかもしれませ ん。今回はインストール方法と、Shindig との関係について解説します。
Partuza!をインストールする #
Shindig のインストール方法は以前解説しまし
たので、ここでは割愛します。仮に、
Shindig が ~/shindig
配下にインストールされ、http://localhost:8080/gadgets/…
でアクセスできるものとします。
まず、環境として Apache、PHP5(要 mcrypt)、MySQL5 が必須となります。
レポジトリからチェックアウト #
Google Code のレポジトリから SVN でチェックアウトします。
> svn checkout http://partuza.googlecode.com/svn/trunk/ ~/partuza
データベースを用意 #
適当なデータベース名、ユーザー名、パスワードで空の DB を作ってください。ひとまず
ここではそれぞれ、partuza、root、パスワードなしとします。この状態で、
~/partuza/partuza.sql
をダンプします。
> mysql -u root partuza > partuza.sql
DocumentRoot を設定 #
Apache の設定 (httpd.conf
) で DocumentRoot
を ~/partuza/html
に設定し、
http://localhost/
でアクセスできるようにします。もちろん、Shindig とは別ドメイ
ンを用意する必要がありますので、バーチャルホストを使う等してください。
設定ファイルを修正 #
~/partuza/html/config.php
を編集します。ここでは先程作成したデータベース関連の
情報とガジェットサーバーのルート URL (gadget_server
) を設定します。ガジェット
サーバーの URL が、ここでは Shindig の URL となりますので、
http://localhost:8080/
になります。
データベースハンドラをコピー #
~/partuza/Shindig/PartuzaDbFetcher.php
と
~/partuza/Shindig/PartuzaHandler.php
を ~/shindig/php/src/social
にコピーし
ます。
> cp ~/partuza/Shindig/Partuza* ~/shindig/php/src/social
Shindig のデータベース設定を修正 #
~/shindig/php/src/social/PartuzaDbFetcher.php
にもデータベース関連の情報がある
ので修正します。加えて Shindig がデータベースハンドラを利用するよう、
~/shindig/php/config.php
も修正します。ここでは、"handlers => PartuzaHandler"
としてください。
これで一通りの準備は完了。http://localhost/
にアクセスしてウェルカム画面が出れ
ば成功です。このまま登録し、Orkut ライクな一般的な SNS として利用することができ
ます。
Partuza!と Shindig の関係 #
OpenSocial のガジェットが iframe を介して表示されていることは以前も解説しました が、簡単に言ってしまえば、iframe の手前が Partuza、後ろが Shindig になります。 Shindig では以前から下記の URL にアクセスすることで簡易的な HTML から OpenSocial ぽい表示を行うことはできていましたが、Partuza を使うことで完全な SNS となりま す。
http://localhost:8080/gadgets/files/samplecontainer/samplecontainer.html
とはいえ、PartuzaHandler を指定したところからも想像できるように、データベースは 共有されます。なお、Chris Chabot 氏のサイトで実 際に動いているものを確認することができます。
Partuza!を使うことで、どうすれば Shindig を SNS に組み込むことができるかの解析を することができるだけでなく、そのままちょっとした SNS を開発することもできてしま います。ぜひお試しください。
Subscribe via RSS