Posts tagged ‘Google Apps’

GAE のアプリケーションを Marketplace に登録するときの注意点

Google Apps Marketplace にアプリケーションを登録しようとしてハマった。この Marketplace への登録についてはそれなりにドキュメントが揃っているのですぐに出来るだろうと思っていたが、かなり時間が掛かってしまったのでその経過をメモ。

まずは Marketplace のデベロッパ登録をするのだが、これについてはオリジナルの “Google Apps Developer Program Site” に加えて、”Google Apps Marketplaceにアプリケーションを登録する方法” や “Google Apps Marketplaceにアプリを公開するときに気をつけること” を参考にさせていただいた。これらのドキュメントにしたがって、Marketplace の Vendor 登録はあっさりと完了。

続いてサンプルアプリケーションを登録してみようということで、”Writing your First Marketplace App using Python” に掲載されているコードを使って、Google App Engine にアプリケーション環境を構築する。そしてこれを Marketplace に登録し、さらに Google Apps からアクセスできることを確認した。

本来はここで Google Apps のアカウントからアプリケーションを起動できるはずなのだが、どうしてもエラーとなってしまい期待した結果にならない。調べてみるとサンプルコードの federated_identity() が本来返すべき値を返さず None を返していることがわかった。OpenID まわりでうまく行ってないのだろうと推測するものの、どうすればいいのか分からないまま調べを進めていたら、”App Engine and Chrome Webstore Issues” に解決策があった。原因はアプリケーションではなく GAE の設定であった。GAE の Application Settings にある Authentication Options を (Experimental) Federated Login にすることで、Google Apps に組み込んだ自前のアプリケーションを動作させることができた。

結論:
Google Marketplace に登録するアプリケーションを Google App Engine 環境で提供するときは GAE の Authentication Options を変更する必要あり。

Google Apps の Gmail 設定について

Gmail ではデフォルトのメールアドレスに加えて、他のアドレスを使ったメール送信が可能で、このアドレスを何個か事前に登録しておくことができる。この機能を使ってデフォルト以外のアドレスを使って Gmail サーバからメール送信すると、メールヘッダの From: と envelope-from にそれぞれ異なるアドレスが設定される。この状態を避けて、From: と envelope-from を一致させたい場合は、From: に指定したアドレスの本来の SMTP サーバを使えばよい。この目的のために個人利用者向けの Gmail では、追加したそれぞれのアドレスに対して Gmail サーバ以外の SMTP サーバを設定する機能がある。

ところが Google Apps の Gmail ではデフォルトで SMTP サーバの設定が不可になっているため、どのアドレスを選択してもすべてデフォルトドメイン用の Gmail サーバから送信されてしまう。このようにして送られた From: と envlope-from が異なるメールを受信したとき、そのことを受信者に対して常に明示するメールツールがある。例えば Outlook2007 の場合だと、「xxx@foo.com が次の人の代理で送信しました:xxx@bar.net」というメッセージが表示される。利用者によってはこのメッセージ表示は好ましくないと考えるかもしれない。

この状況を避けるためには Google Apps の Dashboard → Email settings → General のところにある ‘Allow users to send mail through an external SMTP when configuring a “from” address hosted outside your email domains. ‘ という項目を有効にする必要がある。実はこの設定項目を当初見落としていたのだが、ヘルプフォーラムの記述によってその存在を知った。

http://www.google.com/support/forum/p/gmail/thread?tid=48b458471de77c9b&hl=ja
http://www.google.com/support/forum/p/gmail/thread?tid=2a5487be9d446a05&hl=ja

Google App Engine 超入門

知人の会社で実施している社内向けのミニセミナーに講師として呼ばれた。どんな話題でもよい、ということだったので、Google App Engine の概略を解説することにした。1時間という貴重な時間を割いて集まっていただいた皆さんに満足してもらえる内容だったかどうか不安が残る。とりあえずその時に使った資料を次の URL で公開しておく。

http://bit.ly/9b2bwx

終盤の Google Apps との連携部分についてはうまく説明出来なかったので、十分に理解してもらえなかったかもしれない。

iPhone とツイッターで会社は儲かる

「iPhone とツイッターで会社は儲かる」(山本敏行 著、マイコミ新書)を読了。安っぽいビジネス啓発本にありそうな書名とは裏腹に、企業内でツイッターを最大限に活用するための実践的なノウハウと分析をきちんと書いている。筆者が自ら経営する EC studio で全社員に iPhone を支給してツイッターの利用を推進してきた経験に基づいているので、内容にとても説得力がある。

タイトルにツイッターを掲げているにも関わらず、実は本書の後半 1/3 が Google Apps とクラウドについて割かれている。そしてこの部分の内容も EC studio での実践に基づいたものだ。結局のところ、書名にある iPhone やツイッターは組織業務をクラウド化するための入口に過ぎず、これらのツールやサービスを使いこなしてビジネス環境を変革することが重要であり成功への近道である、というのが筆者のメッセージだと思う。

本書が推奨する IT の活用方法はきわめて正論だろう。その一方で多くの企業や団体組織などでは、様々な理由によってこのような考えが受け付けられない場合のほうが、まだまだ多いに違いない。もちろん人様のところの IT 導入を他人がどうこう言う筋合いではないのだが、それでもやっぱりもったいない。本書に描かれているような IT 環境が普通のことになる日がくるといいなと思う。

先にも書いたように本書には EC studio 社内で実際に行われてきた IT 化の実践が幾つか紹介されているのだが、そのなかで SONY の PlayStation を TV 会議に利用していることに興味を覚えた。最近では Skype や Google Talk でビデオチャットが可能になっているが、それよりもかなり専用システムに近い TV 会議環境を低コストで構築できるようだ。映像関係の実践でもうひとつ、商談の打ち合わせを録画して Google Apps で共有する例には驚いた。商談を録画するという発想自体がとても新鮮だったが、情報共有という面では強力なツールになりそうだ。もちろん難しい問題が出てくることは予想されるものの、とにかく始めてみることが重要だと思う。

本書の最後には iPhone、ツイッター、Google Apps を EC studio 社内で一斉に導入したときの感想を聞いたアンケートの回答が全社員分掲載されている。導入当時の不安や期待感が手に取るように分かりとても面白い。組織内のクラウド化を検証するためのフィールドワーク資料としても貴重なものになると思う。

目次は以下のとおり。

第1章 ツイッターを会社で導入する目的とは
第2章 ツイッターを全社導入して起きたこと
第3章 ツイッターのメリット・デメリット
第4章 アイフォーンとツイッターが会社にもたらすもの
第5章 グーグル・アップスとアイフォーン
第6章 コミュニケーションのクラウド化で会社は儲かる
スペシャル・インタビュー グーグル 辻野晃一郎社長
イーシースタジオ社員の全社導入アンケート

Google Apps と独自のホームページ

Google 社が無償提供している Google Apps の Standard Edition は、一般企業だけでなく NPO や NGO のような組織体、同窓会や趣味のサークル団体などでも利用すれば、メンバー間のコミュニケーションを活性化するだけでなく、事務作業のコストと時間を大幅に節約できる可能性がある。

Google Apps では独自のドメインを使って Gmail やカレンダー、Docs などの機能を利用できる。また、シンプルながらも良く出来た CMS である「サイト」機能を使えば、手軽にホームページを公開することができる。しかし、この「サイト」は誰にでも使いやすい反面、凝ったデザインのホームページや CGI のような Web アプリケーション的要素が少しでも入ったホームページの制作は困難である。そのためせっかく Google Apps を使いながらも、ホームページ公開だけのために別の Web サーバが必要になるかもしれない。

これではもったいないので、Google Apps の環境でも従来のように自由にホームページを公開するため、Google App Engine (GAE)を利用する方法を考えてみた。app.yaml ファイルを static_files や static_dir のような静的ハンドラだけで定義してしまうやり方である。

例えば top_dir ディレクトリを GAE 用アプリケーションのトップディレクトリとして、HTML ファイルやイメージファイルなどを次のように配置したとする。

top_dir/app.yaml
top_dir/static_dir/img/logo.png など
top_dir/static_dir/index.html など

この例の場合であれば app.yaml を次のよう定義する。

application: your-app-id
version: 1
runtime: python
api_version: 1

handlers:

– url: /img
  static_dir: static_dir/img

– url: /
  static_files: static_dir/index.html
  upload: static_dir/index.html

– url: /(.*)
  static_files: static_dir/\1
  upload: static_dir/(.*)

このようにしてから appcfg.py update top_dir コマンドを実行すれば、HTML ファイルなどがデプロイされる。あらかじめ Python と GAE SDK がインストールされていれば、GAE のことを意識せずに ftp のような感覚でファイルの更新ができると思う。この場合 Python は appcfg.py コマンドを実行するためだけに使われる。

デプロイしたものに your-app-id.appspot.com でアクセスできることを確認したら、Google Apps のダッシュボードで GAE アプリケーションを追加して適当な URL を割り振れば、Google Apps 環境だけで自由なデザインのホームページを公開することができる。

実際にこのやり方で作ってみたのが次のページ。ここでは teshigoto-lab.net というドメインで Google Apps を利用している。

Google Apps を使ってみよう!(http://www.teshigoto-lab.net/)

ちなみに同じようなページを Google Apps 標準の「サイト」機能でも作ってみた。こちらは favicon.ico が Google Apps オリジナルデザインのものになっている。

「サイト」版 Google Apps を使ってみよう!(http://google-apps.teshigoto-lab.net/)

「サイト」版は途中で面倒になってしまい、スタイル適用や画像ファイルへのリンク設定をしていない。したがって実際はもう少しまともなデザインにすることができるはずだ。

このサンプルページのようにシンプルなデザインであれば「サイト」機能だけでも何とか出来そうだが、もっと凝ったものになってくると GAE を使ったほうが楽だろうと思う。また、GAE には履歴管理機能があるので、これを使って複数リビジョンのホームページを簡単に切り替える、といったことも可能になる。

ところで最近、Google 社のサイトにおいて Standard Edition 用の申込み画面を見つけるのが極めて困難になっている。以前はそれほど深くない階層のところに他の Edition との機能比較表が掲載されていて、そこから簡単に申込み画面へ行き着けたのだが、その比較表は見つけられなくなってしまった。現状ではあたかも有料の Premium Edition しか存在しないように見える作りになっていて、一旦は Premium Edition の申込みボタンを押してからでないと Standard Edition の申込み画面に行き着けないようだ。

恐らく Premium Edition に比重を移して、Standard Edition は廃止の方向に持って行くつもりなのだろう。それは仕方がないことだと思う。しかし機能制限があっても構わないので、Standad Edition よりも安価(2,000円/1アカウント・1年くらいか?)な Edition も用意してもらえるとうれしい。