atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
とりあえず雑記帳(跡地)
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
とりあえず雑記帳(跡地)
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
とりあえず雑記帳(跡地)
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • とりあえず雑記帳(跡地)
  • OpenSocial

とりあえず雑記帳(跡地)

OpenSocial

最終更新:2010年06月17日 20:20

fujiyan

- view
管理者のみ編集可
WebコミックLibraryhttp://web-comi.appspot.com/
GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中…

参考サイト

公式サイト
OSDE公式サイト



環境構築

  • OSDEをEclipseにインストールする
  • Installation Guideを参照
  • 基本的にインストール後、デフォルトの状態で良いはず

サンプルデータベースの作成

  • OpenSocialアプリケーション実行にはPeopleが必要なので、とりあえずサンプルデータベースを作ることで、自分で作る手間を省く。
  • Create people to Shindig database as sample dataを参照
  • 作る前にShindigを起動しておくこと。



OpenSocialでGWT

参考
Building an OpenSocial Gadget with GWT, Hosting on Google Code, and Putting on Your Webpage

準備

  • 下記のPluginをEclipseにインストール
    • Google Plugin for Eclipse
    • Google App Engine Java SDK(要らないかも)
    • Google Web Toolkit SDK

プロジェクト作成

  • プロジェクトは[Google]-[Web Application Project]で作成する
    • GWTコンパイルをEclipseで実行させたいから
    • プロジェクト作成の際、[Use Google AppEngine]のチェックは外しても良い。

targetフォルダの作成

  • プロジェクトルート直下にtargetフォルダを作成する。
    • OSDEでOpenSocialアプリケーションを実行させるためにはtargetフォルダが必要。

gadget.xmlの配置

  • gadget.xmlをプロジェクトルート直下に配置する。
    • 内容は、OpenSocialプロジェクト作成時に生成されるgadget.xmlをとりあえずコピーしておく。

GWTクラスの作成

  • 通常のGWTアプリケーションと要領は同じ
  • もちろんServiceは使えません。クライアント側のみで動作するアプリを記述します。
public class GWTExample implements EntryPoint {
	public void onModuleLoad() {
		final Button showButton = new Button("show");
		final TextBox textBox = new TextBox();
		
		class MyHandler implements ClickHandler {
			public void onClick(ClickEvent event) {
				Window.alert(textBox.getText());
			}
		}
		
		MyHandler handler = new MyHandler();
		showButton.addClickHandler(handler);
		
		HorizontalPanel panel = new HorizontalPanel();
        panel.add(showButton);
        panel.add(textBox);
        
        RootPanel root = RootPanel.get();
        root.add(panel);
	}
}

Moduleのgwt.xmlファイル

  • <add-linker name="xs"/>を指定する。
    • これによって、GWTコンパイル後のコードが全てJavaScriptファイルとなる。
    • 通常のリンカ(std)では、GWTコンパイル後に複数のHTMLファイルになり、gadgetのHTMLと分かれてしまうため、GWT側からOpenSocialのJavaScript関数にアクセスできない。

GWTコンパイル

  • これも通常のコンパイル手順と同じ
  • コンパイル後に、warフォルダ以下にModule名のフォルダが作成されるので、そのModule名フォルダをtargetフォルダにコピーする

gadget.xmlの修正とコピー(この変がイマイチ…)

  • Moduleのjsファイルを読み込むようにする。
    • Moduleのjsファイルのパスはhttp://[ホスト名]:[ポート番号]/[プロジェクト名]/[Module名(小文字)]/[Module名(小文字)].nocache.js
      • http://localhost:8123/GWTExample/gwtexample/gwtexample.nocache.jsとか
  • あと、<base>で基底を指定しておかないと、その他のjsファイルを読んでくれないっぽい。
    • <base>で指定するのはhttp://[ホスト名]:[ポート番号]/[プロジェクト名]/[Module名(小文字)]/
      • http://localhost:8123/GWTExample/gwtexample/とか
<?xml version="1.0" encoding="UTF-8"?>
<Module>
  <ModulePrefs title="GWT Example" author_email="xxx@xxxxx">
    <Require feature="opensocial-0.8" />
  </ModulePrefs>
  <Content type="html" view="canvas"><![CDATA[
<script type="text/javascript">
var contextUrl = "http://localhost:8123/GWTExample/";

function loadJs() {
	var module = "gwtexample";
	var baseUrl = contextUrl + module;

	var base = document.createElement("base");
	base.href = baseUrl + "/";
	document.getElementsByTagName("head")[0].appendChild(base);

	var script = document.createElement("script");
	script.src = baseUrl + "/" + module + ".nocache.js";
	script.type = "text/javascript";
	document.getElementsByTagName("head")[0].appendChild(script);
};

loadJs();
</script>
  ]]></Content>
</Module>

  • 修正したgadget.xmlファイルをtargetフォルダにコピーする。

実行

  • Shindigを起動する。
  • プロジェクトルート直下のgadget.xmlを選択し、[Run application locally]で実行する。
  • ところがEclipseのブラウザでは動かないので(原因不明)、URLをコピーしてWebブラウザで表示させる。
    • 案外動くもんです…



gadgets.io.makeRequest()のコールバックメソッドにJava(GWT)側のメソッドを指定した場合

  • コールバックメソッドから、そのメソッドが属するクラスの他のメンバにアクセスできない。
  • 原因の詳細と対処方法はGWTの「JavaScriptから呼び出されるコールバックメソッド内から他のメンバにアクセスできない」にて



OpenSocial 0.9がちっとも動かない…

参考OpenSocial Specification Release Notes
  • JavaScirptのエラーでクラスやメソッドが未定義と言われたり…
var req = opensocial.newDataRequest();
としても'opensocial.Container.get() is null'と怒られる。
  • 0.9からはOSAPIというのが新たに追加
    • 0.8までのAPIを整理し簡便化したもの?
    • <Require feature="osapi">で利用可能。既存のAPIと定義が被らない様にしている。
    • だから、既存のAPIは<Require feature="opensocial-0.9">を使って、引き続き利用可能っぽいのに…。0.9はおとなしくOSAPIを使うべき?
  • でもまぁ、mixiではまだ非対応っぽいので、しばらく放置しておこう…


「OpenSocial」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • OpenSocial001.png
  • OpenSocial002.png
とりあえず雑記帳(跡地)
記事メニュー

メニュー

  • トップページ
  • コメント
  • とりあえずインターフェース入門
  • Yesod
  • Haskell
  • Slim3
  • JavaScript
  • Google App Engine
  • Android
  • Facebook
  • GWT
  • OpenSocial
  • Struts 2
  • Subversion
  • Apache
  • JSONIC
  • Flex

  • WebコミックLibraryについて

公式サイト

  • Yesod
  • Haskell
  • Slim3
  • JavaScript - MDN
  • App Engine for Java
  • Android Developers
  • Google Web Toolkit
  • Struts
  • OpenSocial
  • OSDE

  • ToDo

ここを編集
記事メニュー2
間違いの御指摘は
コメントまでm(_ _)m

更新履歴

取得中です。


ここを編集

総数: -
本日: -
昨日: -
人気記事ランキング
  1. Struts 2
  2. Android
  3. Slim3/文字列の部分一致検索とページング
  4. Apache
もっと見る
最近更新されたページ
  • 4398日前

    Haskell
  • 4398日前

    Yesod
  • 4398日前

    トップページ
  • 4507日前

    メニュー
  • 4509日前

    Struts 2
  • 4534日前

    コメント
  • 4703日前

    Google App Engine
  • 4741日前

    Slim3/環境構築とプロジェクト作成
  • 4765日前

    Google App Engine/キャッシュの計画
  • 4775日前

    Slim3/文字列の部分一致検索とページング
もっと見る
人気記事ランキング
  1. Struts 2
  2. Android
  3. Slim3/文字列の部分一致検索とページング
  4. Apache
もっと見る
最近更新されたページ
  • 4398日前

    Haskell
  • 4398日前

    Yesod
  • 4398日前

    トップページ
  • 4507日前

    メニュー
  • 4509日前

    Struts 2
  • 4534日前

    コメント
  • 4703日前

    Google App Engine
  • 4741日前

    Slim3/環境構築とプロジェクト作成
  • 4765日前

    Google App Engine/キャッシュの計画
  • 4775日前

    Slim3/文字列の部分一致検索とページング
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. ソードランページ @ 非公式wiki
  7. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  8. ドラゴンボール Sparking! ZERO 攻略Wiki
  9. 星飼いの詩@ ウィキ
  10. ヒカマーWiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 発車メロディーwiki
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. 英傑大戦wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. モンスター一覧_第2章 - モンスター烈伝オレカバトル2@wiki
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. 高崎線 - 発車メロディーwiki
  5. 近藤旬子 - 馬主データベース@Wiki
  6. 地獄のデザイナーさん1 - 【トレパク】 きりつき 検証まとめwiki 【地獄のデザイナーさん】
  7. 召喚 - PATAPON(パタポン) wiki
  8. 細田守 - アニヲタWiki(仮)
  9. ステージ攻略 - パタポン2 ドンチャカ♪@うぃき
  10. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.