[CouchDB][OpenSocial][CouchApp] Shindig 動かして CouchDB でガジェットをホストとしてみた
こんな具合になりましたと。
/opensocial だけShindigに処理させて、他は全部CouchDBで処理。gadget.Container はShindigの使うかどうか迷ったけれど、とりあえず使うことにして、徐々になくしていこうと思う。
で、データは簡単で、例えばページとしてエントリ末の添付のようなJSONをDBにつっこんでおくだけで、Gadgetコンテナとして動作するようにできます。
まだガジェットの追加とかドラッグ&ドロップによる編集は実装していないけど、それほど大変ではなさそう。むしろ、以下の機能を実装することで、CouchDBのメリット出せるんじゃないのかなー。
- Gadget 登録処理
- OpenSocial の Persistent API (+ クエリを独自拡張)
- サイト自体の複製機能
http://opensocialhost.com/ のもあるらしいので、OpenSocial Gadget データベースをホストする、というのはあながち間違ってはいなさそう。
問題は、認証はともかく、認可ができない子なんです。Relax しすぎて。
にしても、CSS、めんどくさいから jQuery UI の Theme をダウンロードして、ガジェットのclassに ui-widget-* を設定するようにしたら、一瞬で終わったよ!なんというか、Webの有名どころは同じ方向に向かって進んでいる感じがしていて、乗り遅れないようについて行くので必死であったりする。
{ "_id": "pages:top", "_rev": "1-1145391075", "title": "Top Page", "type": "Page", "gadgets": { "top": [ { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "top0" } ], "bottom": [ { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "bottom0" } ], "left": [ { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "left0" } ], "right": [ { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "right0" } ], "center": [ { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "center0" }, { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "center1" }, { "url": "http://webjourney.local/webjourney-development/_design/webjourney/gadgets/helloworld.xml", "title": "center2" } ] } }