-オープンソースのSNSエンジン OpenPNEプロジェクト-

OpenSocial開発環境をそろえる その1 ~Shindig導入~

10 / 20 月曜日 2008

開発チームの川原です

今回は、OpenPNE3対応する予定のOpenSocialアプリの開発について紹介したいと思います。

「そもそもOpenSocialって何だ?」
と思う人は手嶋さんの@ITの記事が分かりやすいです。
[@IT]Google OpenSocialによって SNSで何ができるのか?

SNS で利用するときのイメージは以下のような感じになります。
コンテナ(アプリケーションが動く場所)では、SNS上のデータ(プロフィールなど)を利用したアプリケーションを動かすことができます。
opensocial-1.gif

現在、OpenSocialを実装しているSNSは、Hi5Ningなどを挙げることができますが、
どちらも Apache Shindig というコンテナを採用しているようです。

OpenPNE3でも、この Apache Shindig を利用してOpenSocialを実装しようと考えています。

今回は、この Apache Shindig を導入してアプリを実際に動かしてみましょう。

Windows上で動作させる方法について説明します。

Shindigに必要な環境

Shindigの動作には以下の環境が必要になります

Apache

mod_rewriteモジュールが有効になっている必要があります

(設定例)
Apacheの設定ファイル「httpd.conf」で

LoadModule rewrite_module modules/mod_rewrite.so

の行をコメントアウトしてください。

PHP

必要なバージョンは5.2.x
json, simplexml, mcrypt, curl拡張が有効になっている必要があります

(設定例)
「php.ini」の設定で

extension=php_curl.dll
extension=mcrypt.dll

の行をコメントアウトして
phpinfo()関数の結果で上記の4つの拡張が有効になっているかを確認してください

Shindigのチェックアウト

ShindigはSubversionを利用することにより入手できます。

リポジトリURL: http://svn.apache.org/repos/asf/incubator/shindig/trunk/

下の例ではTortoise SVNを利用してチェックアウトしています。
opensocial-2.gif

チェックアウト完了後、Shindigをローカルで動かせるように設定します。

バーチャルホストの設定

http://shindig/
でコンテナにアクセスできるようにするために、バーチャルホストの設定を行います。
(次回、説明するものを正常に動作させるためには
 http://shindig/ でアクセスできるようにする必要があります。)
「httpd.conf」に以下の設定を追加してください。

<VirtualHost *:80>
  ServerName shindig
  DocumentRoot "shindigチェックアウト先/php"
  <Directory />
    AllowOverride All
    Allow from All
    Order allow,deny
  </Directory>
</VirtualHost>

(チェックアウト先は適宜変更)

ここまでの設定を行ったらApacheの再起動を忘れずに行ってください。

http://shindig/ でアクセスできるようにするための hosts ファイルを編集しましょう。

Windows XP環境であれば、
「C:\WINDOWS\system32\drivers\etc」下にある hosts ファイルに以下の行を追加してください

127.0.0.1 shindig

アプリを動かす

今回は、http://www.labpixies.com/ にある todoアプリを動かしてみます。
OpenSocialでは
http://www.labpixies.com/campaigns/todo/todo.xml
のような、XMLファイルに動作するための宣言やJavaScriptのコードを含ませるような仕組みになっています。

これをShindigで動かすときは
http://shindig/gadgets/ifr?url=http://www.labpixies.com/campaigns/todo/todo.xml
にブラウザでアクセスしてください。

opensocial-3.gif
こんな画面になれば大成功です。
これがコンテナで動いているアプリケーションになります。

しかしながら、この状態では外側のSNSがない上に、
いくらカッコイイことをTODO Listに書き込んだとしても、
データを保持する先がないため、リロードしてしまえば、いなくなってしまいます。

データを保持する先とはどこかというと、
実はコンテナを実装する側で管理するようになっています。

よって、ちゃんと動かすためには
Shindigを実装しているSNSが必要になるのです。

OpenPNE3はまだ、OpenSocialを実装していませんが、
Googleが用意したサンプルSNSが存在します。
それが、以前ブログで紹介したPartuza!というSNSです。

次回は、Partuza!のインストールについて紹介したいと思います。

*このインストール方法は掲載時のものです。

トラックバック:1

ピンバック from 2010-02-19のつぶやき(Twitter) | awok.jp 10-02-19 (金) 1:06

[…] [B!] OpenSocial開発環境をそろえる その1 ~Shindig導入~ http://www.openpne.jp/archives/619/ # […]

ページの先頭に戻る