2011年1月26日水曜日

Google Appsの標準機能で情報共有がどこまでできるのか

Google Appsは、ユーザー側で自社の業務に合わせたサイトが作成可能なツールで、便利な機能も多いが、標準機能で情報共有がどこまでできるかを整理してみた。

●掲示板
①Google サイトのWebページに直接入力
②Google サイト「お知らせ」


●ディスカッション
①Google グループ
②Google モデレーター


●投稿・アンケート
①Google ドキュメントのフォームに登録し、スプレッドシートに保存


●ファイル共有
①Google ドキュメント
②Google サイト「ファイルキャビネット」


●情報蓄積
①Google サイト「リスト」(簡単な情報の蓄積)
②スプレッドシートに入力、更新、削除
③Google ドキュメントの「フォーム」に登録し、スプレッドシートに保存(その後の更新・削除はスプレッドシート)


例えば顧客情報と営業情報を管理するサイトを作成したい場合は、顧客数が少なければ上記の機能でも可能だが、
顧客数や営業情報が多くなると、ユーザーにとって使い勝手が悪く、データの検索ができない。

Google ドキュメントの「フォーム」で画面を作成し、Google サイト「リスト」で、入力したデータの一覧が表示され
フォーム画面で更新・削除ができればいいのだが、今のところGoogle Appsは、この情報蓄積機能が弱い。
もちろん、Google App Engineのアプリケーションを作成(登録・更新・削除、データ一覧表示機能、データストアにデータを保存)
すれば可能だが、開発にコストがかかるし、メンテナンスに開発スキルが必要となる。

顧客情報と営業情報の管理は salesforce.com、固有業務の情報管理は、force.comを併用するというのが現実的かもしれない。
Googleに拡張予定はあるのだろうか?(以前から噂されているsalesforce.comの買収もあり得る?)

2011年1月17日月曜日

Bloggerを iPhone/iPadから見れるようにする

前回は、Bloggerを携帯から見れるようにする方法を掲載したが、今日はBloggerを携帯から見れるようにする方法を試してみた。


その方法とは、Blogger TouchのMobile Edition Makerというサービス。
このサービスを使うと、Bloggerを自動的に iPhone/iPad 向けページにリダイレクトしてくれる。試しに、「mkblog」でやってみたのが以下の画面。(一回通常画面が表示され iPhone/iPad用画面にリダイレクトされる)


やり方は簡単。

① Blogger Touchのサイトで、BloggerのURLを入力。

 ② Step 1: Mobile Edition MakerURL用のIDを入力(BloggerのIDと同じでOK)


 ③ Step 2: Mobile Edition Makerのコード(ガジェット)をBloggerに追加
   [Add Code]ボタンをクリック

  Blogger のウィジェット追加画面の「ページ要素を追加」が表示されます。ブログ名が正しいか確認し、「ウィジェットを追加」ボタンをクリック


 ④ Step 3: Bloggerへの追加の確認
     [Verification]ボタンをクリック

     「Done」というメッセージダイアログが出れば 正常。
    Blogger側へ「Blogger Touch」ガジェットが追加される



 ⑤ Blogger Touch の「Dashboard」から登録したブログの設定を変更することができる。


2011年1月14日金曜日

Bloggerを携帯電話から見れるようにする

自分は iPhoneなので気にならなかったが、Bloggerは携帯電話から見れないのかという質問をもらったので、調べてみたところ、Google Mobile ProxyというGoogleのサービスがあることがわかった。




このブログをのURLを入力すると、携帯用に変換されたコンテンツを表示してくれる。

このブログを携帯用に変換したページはこちら

内容は保証できないとのことだが使えるレベルなのか?

 iPhoneしか持ってないので確認できない・・・

2011年1月11日火曜日

GAEでテニスサークルのメンバーエントリアプリ完成

テニスサークルのメンバーエントリアプリがやっと完成した。Djangoテンプレートでのリストの処理は、結局、縦軸のイベントと横軸のメンバの参加可否を10×10の固定にして表示用の2次元配列をPython側で作成し、Djangoテンプレートに渡すことにした。
本当は、2重Loopで横軸も回したかったが、Djangoテンプレートで配列の添字が使えそうになかったため、このような方法となった。

{% for s in slists %}
  {{ s.0|escape }} {{ s.1|escape }} {{ s.2|escape }} {{ s.3|escape }} ・・・ {{ s.10|escape }}
{% endfor %}
※"s.0"にイベント名、"s.1"~"s.10"に参加可否のマーク(○×△)をセット

ともあれ、当初予定していた機能は達成したので、良しとしよう。

今回のアプリ作成で、以下のことを習得できた。
①データストアへのアクセス
②キーをつかったデータの検索と更新
③Pythonでの二次元配列の使用
④Djangoテンプレートでの配列参照
⑤GetとPostの違いと使い分け
⑥JavascriptのsubmitでのIEとFirefoxの動作の違いの対処

④のDjangoテンプレートでの配列参照は、師匠のアドバイスをもらってわかったことで、これがなければ、行き詰っていた。(師匠に感謝)
⑥は、JavascriptのsubmitがIEだと動作するのに、Firefoxで動作しない現象が発生したが、以下のように変更したらうまくいった。submitの仕様の違いはネット上でもたくさん事例があり注意が必要というのがわかった。

[変更前]
var form = document.getElementById("MyForm");
form.submit();

[変更後]
document.forms[0].submit();

完成した画面は以下の通り。

2011年1月6日木曜日

GAEでテニスサークルのメンバーエントリアプリに苦戦

あけましておめでとうございます。
今年もよろしくお願いいたします。

GAEで問い合わせフォームの作成が終わったので、今度はテニスサークルのメンバーエントリアプリを作成している。データストアへのイベントの登録・更新・削除まではすんなりいったのだが、イベントへのメンバのエントリ画面の制御がうまくいかない。「調整さん」のような画面にしたいのだが、Djangoテンプレートでのリストの処理がうまくいかない。

リスト内の項目がリストの場合(以下slist)を、[1],[2]のように参照できたらいいのですが、DjangoテンプレートのTemplateSyntaxErrorになる。

slist
["1","1","1"]
["1","1","3"]
["2","3","1"]
["1","2","3"]

eventlists
1/30(日)
1/23(日)
1/16(日)

Djangoテンプレートでは、リストを直接参照できないのか?
{% for e in eventlists %}
  {% for s in slist %}  {{ s[forloop.parentloop.counter0]|escape }}  {% endfor %}
{% endfor %}

上記の{{ s[forloop.parentloop.counter0]|escape }}を{{ s[0]|escape }}で実行すると以下のメッセージが出力される。
TemplateSyntaxError: Could not parse some characters: s|[0]||escape

フィルタのパイプでつないで、sliceで出来ないかと思ったが機能がなさそうだし。

画面は、作成中のメンバエントリ画面で、 {{ s[forloop.parentloop.counter0]|escape }} を{{ s|escape }} で実行したもの。(同じ行が繰り返しになっている)
※最終的には"1"→○、"2"→×、"3"→△にする。
もう少しなんだけどなぁ。Djangoテンプレートではこのような画面は無理なのか。