Gadget API

Gadgetとは、HTML,CSS,JavaScriptで構成されるソフトウェアで、GadgetはXMLによって定義される。Gadget XMLは、以下の要素を用いてGadgetを定義する。

  • Meadata : Gadget のタイトルや概要などを定義する
  • Feature : Gadget が使用する機能を定義する。ここでOpenSocialAPIや、UIライブラリなどを使うことを宣言する。いわゆるrubyのrequireみたいなもの。
  • User Preference : Key-Value Pairで構成されるユーザーの設定。
  • Message Bundle : 国際化のためのメッセージマップ
  • Content : HTML,CSS,JavaScript本体。HTML Gadget(本体を直接記述) と URL Gadget(リンク) の2種類。マルチコンテンツが可能(一つのGadgetに複数のViewを定義する)。

で、Gadget Server と呼ばれるものが存在し、以下のリクエストを処理する。

前述した、OpenSocial Container の一部としてGadget Serverがある。OpenSocialJavaScript API(person.jsなど)と、Gadget JavaScript API は別物で、gadget.* 空間で定義される*1

*1:これが混乱の元か