shindig是google的一個opensocial容器的參考實現。google高調發布opensocial以后大家紛紛在宣布支持opensocial,可是真正要找個支持opensocial的容器一點也不容易,orkut的sandbox限制很多,myspace中國也只支持flash的方式,真正要玩opensocial,還是自己搭一個環境算了。
shindig現在還不能簡單的安裝運行(http://incubator.apache.org/shindig/#tab-download),要做一些手工活:
按照 http://incubator.apache.org/shindig/#tab-building 的指引,
- 下載安裝JDK,設置好JAVA_HOME和PATH環境變量
- 下載安裝subversion客戶端(我用了TortoiseSVN)
- 下載解壓Maven(在windows上用,我用了zip版本),一個類似ant的東東,用于編譯shindig。設置好M2_HOME(指向Maven的解壓目錄),M2(指向bin子目錄)和PATH環境變量(加進bin子目錄的路徑)。
- 新建shindig目錄,用TortoiseSVN update下來shindig工程(http://svn.apache.org/repos/asf/incubator/shindig/trunk)
在shindig/java/gadgets目錄下面運行mvn package編譯。由于依賴的jar都要從網上下載,等了漫長的一個多小時,最后在shindig\java\gadgets\target目錄下得到一個gadgets.war,大約2M左右大小。
拿到war就好辦了,隨便找一個web容器給它運行。首選的當然是開源、綠色、輕巧可愛的tomcat了。下載下來解壓,運行startup.bat,就跑起來了。訪問http://localhost:8080/看到歡迎頁面,從Administration-->Tomcat Manager進入。衰,要登陸。在tomcat/conf下面找到tomcat-users.xml,加兩行
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="manager"/>
重啟tomcat,用tomcat/tomcat進入Administration-->Tomcat Manager
找到 WAR file to deploy-->Select WAR file to upload ,選中剛才編譯好的gadgets.war上傳。后在Applications列表中看到/gadgets就好了。
http://localhost:8080/gadgets下面沒有默認頁面,只能直接訪問 samplecontainer 頁面 http://localhost:8080/gadgets/files/samplecontainer/samplecontainer.html

第一個輸入框是gadget的xml地址,也就是所謂的OpensocialAPP了。第二個輸入框指向的xml里面描述了一些模擬的用戶信息,主要提供了people、personAppData、activities這些基本的APP信息。
下面藍色框是一個iframe,里面就是這個APP的展示區域了。
看來google現在還想讓大家用iframe來作web application,失望一下。要是第三方可以像igoogle里面的gmail模塊一樣直接inline嵌入到頁面中間就好了。iframe還是很多問題的,速度問題,頁面負擔,還有
瀏覽器bug。