"ぐぐるかる"は、Google Calendar で作成した予定表を、あなたの Web サイトに自由にデザイン・カスタマイズして表示するための仕組みです。週間予定表や個別予定表などのように複数のテンプレートを用意して、
予定表を様々なフォーマットでプレゼンテーションできます。ただ表示するだけでなく、それらをハイパーリンクでブラウズできるような、簡単なインタラクション機能も提供しています。
ぐぐるかる beta - Google Calendar Proxy
動作の概要
Google Calendar によって生成されたAtom フィードを取得するためのプロキシ(CGI)と、それを非同期的に呼び出す Ajax エンジンの組み合わせで動作します。

ダウンロード
ぐぐるかるの配布アーカイブをダウンロードできます。
ぐぐるかる

ver.0.10,
'06/05/23,
0 bytes
|
導入方法
- 配布アーカイブをダウンロードします
- アーカイブに含まれているファイルをサーバにアップロードします
- 必要な CPAN モジュールをインストールします
- CGI
- LWP
- XML::Simple
- XML::LibXML
- XML::LibXSLT
- Digest::MD5
さくらインターネットのレンタルサーバであれば、全て標準でインストールされています。
- gglcal-proxy.cgi に CGI の実行権限を与えます
- ./cache/00000000.xml を開き、初期画面に表示するフィード URI に変更してください
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:gd='http://schemas.google.com/g/2005'>
<id>http://www.google.com/calendar/feeds/crmnpdstjm500ftblr7o055mg4@group.calendar.google.com/public/basic</id>
</feed>
- 必要に応じて gglcal-proxy.cgi の動作設定を修正してください (後述)
- 必要に応じて XSL スタイルシートを修正してください
gglcal-proxy.cgi の動作設定
gglcal-proxy.cgi のソースコードの該当箇所を修正することで、CGI 動作をカスタマイズできます。
- HASH_KEY_LENGTH
-
URL ハッシュ値の長さを指定します。最大値は 32 です。
gglcal-proxy.cgi では、フィード URL をそのまま扱わず、そのハッシュ値を扱います。このパラメータを大きくすることでハッシュ値の衝突確率が減ることを期待できますが、それでも重要なパラメータとは言えません。例えば、HASH_KEY_LENGTH に 8 を指定して 1000 件のフィードを扱った場合、ハッシュ値の衝突確率は高々 0.00003% です。
- DIR_FEED
-
Google Calendar から取得したフィードを保存するキャッシュディレクトリへのパスを指定します。
- DIR_XSLT
-
フィードを整形するための XSL スタイルシートが保存されたディレクトリへのパスを指定します。
- CACHE_EXPIRE
-
DIR_XSLT にキャッシュされたフィードの有効期間を秒単位で指定します。 この値を短くすることで、Google Calendar への変更が即座に反映されるようになりますが、その分、頻繁にネットワーク接続を行うことになります。
GET じゃなくて HEAD で更新を確認しろって? …ごもっとも!
- LWP_TIMEOUT
-
Google Calendar から最新のフィードを取得するために HTTP 通信を行いますが、この時の通信タイムアウト時間を設定します。
- DEFAULT_MODE
-
mode 指定がされなかった場合、標準で適用するスタイルシート名です。
- HASH_MAGICWORD
-
URL ハッシュ値を生成する時に使用します。好きな文字列に変えてみてください。
- XMLNS_GGLCAL_FUNC
-
特に変更する必要はありません。ぐぐるかるが独自定義した XPath 関数の名前空間を定義します。
- LWP_USER_AGENT
-
特に変更する必要はありません。gglcal-proxy.cgi が Google Calendar にフィードを取得する際に通知するユーザエージェント名です。
XSL スタイルシートの書き方
この項目は執筆中です。
トラブルシューティング
この項目は執筆中です。
ライセンス、他
寄せられたコメント (全 1 件中、最新 5 件まで表示しています)
呼びやすいので「ぐぐかる」っていう名前もいかがでしょうか?