その影響でコントリビューターDAYは午前中のみにして、昼から帰ることにしました。
ちょっと残念ではありますが、明日は外せない用事があるので安全を取ることにしました。だからといって、コントリビューターDAYで手を抜くわけではありませんよ!
会場にはお菓子も結構な種類用意されてました!
楽しそうにやってますね!
結構な人数が参加したなぁという感じです。
複数の公開 Google カレンダー をマージして 一覧表示するプラグインを公式プラグインにアップしてみよう!
様々なプロジェクトなどに関わっているとイベントも盛り沢山で、1つの Googleカレンダーで管理するには限界が生じます。ならばマージして一覧表示してしまえばいいんじゃね?という発想です。仕事では現時点では1つの Googleカレンダーの各イベントにハッシュタグを作って、言語判別(#lang)、主催者(#organizer)、種別(#type)などをどんどん追加することで管理するようにしてます。しかし、いずれは破綻するでしょう。そのため複数カレンダーをマージするのは必須なのです。
そこで筆者が仕事で利用するのに開発し公式プラグインにアップしているプラグイン「Google Calendar List View」について公開された複数 Google カレンダーからデータを取得し、それをマージして一覧表示する機能を付与してみたいと思います。
本当は一日あれば、List View for Posts という、これまた筆者が仕事で利用するのに開発した公式プラグイン(固定、投稿、カスタム投稿を纏めてマージして一覧表示、さらにカテゴリーやタクソノミーによるカテゴリー表示もできる)について、RSSもマージしてやるかぁとおもっていたのですが、それはまた別の機会にすることにします。
どうやって実装する?
すでに1つのカレンダーからの一覧表示は完成しています。
そこに複数のカレンダーをいかに設定してもらうかがキーになります。
手軽にやるには、ショートコードにカレンダーIDを複数設定してもらうことですね。できれば Calendar APIもカレンダーごとに複数設定できればよしです。なぜなら、Calendar APIの一日のクエリが 100万クエリと制限(無料で利用できる範囲)されているためです。
[gc_list_view g_id="Google カレンダー ID" g_api_key="Google Calendar API"]
が基本的なショートコードの形です。
これを複数設定できるようにするためには、次のようにするとよいかなと思います。
[gc_list_view g_id="Google カレンダー ID" g_api_key="Google Calendar API" g_id_2="Google カレンダー ID 2" g_api_key_2="Google Calendar API 2" ]
つまり、 g_id_任意 と g_api_key_任意 で名前がユニークならそれをもってGoogleカレンダーからのデータ取得を試みるっていう実装方法ですね。これなら苦労はしなさそうです。
新幹線から参戦!
12時過ぎに大枠では実装できました。
しかし台風が近づいているのでタイムリミット。WordSlack の #plugin に上記コメントを残して 会場を後にしました。
しかし台風が近づいているのでタイムリミット。WordSlack の #plugin に上記コメントを残して 会場を後にしました。
でもふと思いました。新幹線からでも参戦できるじゃん!
そして Twitter に参戦するぜ!ってコメントして、実際に参戦しました。
ネット遅すぎる・・・
と悶ながらも、
- プラグインのアップデート
- プラグインの翻訳(アップデートしてから20〜30分ぐらいで翻訳可能になる .. GlotPress に対応している場合)
- ドキュメント書き換え(日本語と英語)
- 本ブログの作成と公開
「4」以外は 15時30分の発表までに間に合ったぜぃという感じです。
で実際のスライドはこちら
https://docs.google.com/presentation/d/1TDif9V3uqZEuXPZ7iapofp48tiddPiD6qF3AIXDu6qw/edit?usp=sharing
そのうち SlideShareに移動するかも。とりあえず時間がなかったので、Google スライドのやつをそのまま公開しました。
なんとか公開までいけてよかったです。。。
2017年9月17日 @kimipooh