SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Google Waveガジェット作成チュートリアル

Google Waveをガジェットで拡張してみよう

Google Waveガジェット作成チュートリアル(1)


Waveガジェットを作成する前に

 Waveガジェットはインターネットから見える場所にXMLファイルを配置する必要があります。Waveガジェットを公開するにあたり、いくつか方法があるので紹介します。

 一番手軽なのはGoogle Gadgets Editor(以下、GGE)を使用して作成する方法です。GGEはブラウザ上で動作するエディタで、GGEでファイルを保存するとGoogleのサーバに保存されます。

 そしてそのまま世界に公開することもできます。必要なものはGoogleアカウントだけなので、気軽にガジェットを作成することができます。

 また、Google Codeを使用するという手段もあります。Google Codeにコミットすると外部からアクセスできるURLが提供されるため、そのURLでWaveガジェットを貼り付けることができます。

 他にはオンラインストレージサービスの「Dropbox」を使用するという手段もあります。Dropboxのpublicディレクトリにファイルを保存すると、自動でアップロードされ外部からアクセスできるようになります。エディタで保存するだけで公開できるため、非常に楽です。

 今回は手軽に公開することができるためGGEを利用します。

Google Gadgets Editorの不具合

 GGEはたまに不安定で、正常に動作しないことがあります。その際はGoogle Codeなど別のホスティングサービスを使用することをお勧めします。

さぁWaveガジェットを作成しよう

最初に画面を作ろう

 Waveガジェット開発の第1ステップとして、まず画面を作成します。画面が完成したら、それに対しJavaScriptでコードを追加していきます。

 次のHello Worldガジェットを見てください。画面にHello World!と表示するだけの、一番シンプルなガジェットです。

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Hello World!" />
  <Content type="html">
    <![CDATA[
      Hello, world!
    ]]>
  </Content>
</Module>

 Contentタグの中にHTMLを記述することで画面を表示することができます。よってHello world!となっている部分を変更し画面を作成します。

 画面はHTMLとスタイルシートを用い作成します。たとえば次のようになるでしょう。

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Vote Gadget"/>
  <Content type="html">
    <![CDATA[
<html>
  <head>
    <style type="text/css">
      .good {font-size:50pt;font-weight:bold;color:red}
      .good_result {font-size:15pt;font-weight:bold;color:black}
      .bad {font-size:42pt;font-weight:bold;color:blue}
      .bad_result {font-size:15pt;font-weight:bold;color:black}
      .total {margin:0 0 0 20px;font-size:30pt;font-weight:bold;}
    </style>
  </head>
  <body>
    <span class="good" id="good">○<span class="good_result" id="good_result">12</span></span>
    <span class="bad" id="bad">×<span class="bad_result" id="bad_result">5</span></span>
    <span class="total" id="total">0</span>
  </body>
</html>
    ]]>
  </Content>
</Module>

 値を出力する部分は、spanタグを配置しid属性で名前を付けます。上記の例ではgood_result、bad_result、totalが値の表示部分となります。

 自分好みの画面を記述するか、上記のXMLをコピー&ペーストして画面を作成します。では画面だけ作ったところで、一度Waveに貼り付けてみましょう。

XMLを貼り付ける際の注意点

 上記のXMLをGGEにコピー&ペーストする際は、一度テキストエディタに貼り付け、プレーンテキストをコピーし直す方がよいでしょう。直接コピー&ペーストすると、半角スペースが&nbsp;に変換される場合があります。

 また、テキストエディタからGGEにコピー&ペーストする際は、エディタの内部コードがUTF-8で無いと正しく貼り付けられない場合があります。

公開し、Waveに貼り付けてみよう

 GGEの左上のメニューから[Save]を選択し、保存します。

 ファイル名を聞かれるので「vote_gadget.xml」と入力し、[OK]ボタンを押下します。

サービスの利用条件の確認

 初回保存時などに、「作成者しか当該ガジェットを編集できないが誰でも閲覧はできる」ことやプライバリシーポリシーの詳細へのリンクが明記された、下記の画面が表示されることがあります。特に問題なければ[Save]ボタンを押下して手順を進めましょう。チェックボックスをオンにしておくと、以後この注意が表示されなくなります。

 次に、それを公開します。GGEのメニューから[Publish]を選択します。

Publishの際にエラーが表示された場合は...

 Publishを選択した際に、「Validation is not allowed for this file.」と赤く表示されることがあります。これはガジェットのXMLが不正なため公開に失敗したことを示しています。XMLが妥当かどうかチェックしてください。

 Validation Warningと表示され「これらの設定がされていませんがよろしいですか?」と注意されます。[OK]ボタンを押下すると注意を無視し公開することができます。

 めでたく公開できました! 「here」というリンクを右クリックし、公開されたURLをコピーして、メモしましょう。このURLが作成したガジェットのURLとなります。

 次にGoogle Waveでの作業に移り、Waveに今作成したガジェットを貼り付けます。ツールバーからガジェット追加ボタンを押下します。

Wave上にツールバーが表示されていない場合は...

 もしWaveの上にこのツールバーが出ていない場合は、Waveが編集状態ではありません。Waveの右上にある▼メニューを開き、[Edit this message]を選択します。

 ガジェット追加ボタンを押下すると次のダイアログが表示されるので、ガジェットのURLを入力し[Add]ボタンを押下します。

 これで無事にガジェットを貼り付けることができました。

次のページ
Waveの機能を使ったプログラム部分を作ろう

この記事は参考になりましたか?

この記事の著者

北村 研二(キタムラ ケンジ)

株式会社ルーツ所属。Java関連の最新技術、Googleの最新技術に興味があり、趣味のプログラミングでWeb開発やAndroid開発にも手を出している。京都Google Technology User Groupスタッフ。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4778 2010/06/22 23:19

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー