AppSheet 知ってますか ? Google が数年前に買収したノーコードツールです。
2023年8月から Workspace のプランにデフォルトで含まれるようになったようです:
https://workspace.google.com/blog/ja/product-announcements/giving-more-customers-access-appsheet
最近、たまたま AppSheet を試す機会があったので、その感想などをシェアします。
AppSheet とは
https://cloud.google.com/appsheet?hl=ja
↑ 公式の説明をザッと眺めていただいた上で、
私の見立てとしては、文字どおり 「 Sheet を App にするやつ 」 です。
Google Sheets で管理している情報があるとして、
その Sheet を選んでポチッとするだけで、標準的な CRUD を備えたアプリができてしまいます。
そのアプリはモバイル 1st. で、どこでも情報を参照/更新できるようになります。
必要であれば、さらにカスタマイズや拡張もできます。
Sheet 側に副作用も無いので、気軽に試せます。できたアプリが気に食わなければ、放っておけば良い。
アプリ (応用) のバラエティについては、公式のテンプレート集が参考になるでしょう:
https://www.appsheet.com/Templates
簡単に言うと、これだけです。あとは触ってみるのが、一番分かりやすいと思います。
以下、参考まで、私の事例について、サラッと触れておきます。
私の事例
とある社内プロジェクトで、以下のような運用が始まろうとしていました:
- Google Forms で情報を収集する
- 収集した情報が Google Sheets に記録される
- ヒトが、その情報を編集して、 Google Sites でコンテンツとして公開する
これに対して、私は、
- 1 : Sheet の情報を管理しやすくする
- → AppSheet でアプリを実装
- = 情報の主たちには、このアプリを使ってもらう
- 2 : Sheet の情報をウェブページとして公開する
- → Apps Script で動的ウェブページを実装
- = 編集された情報を、リアルタイムに、読者たちへお届け
という手段を実現し、プロジェクトチームへ提案しました。
端的に言えば、
「Google Workspace エコシステムにおける簡易 CMS を実現した」
と言えるかもしれません。
実際の流れとしては、
ひとまず 2 を楽に実現する方法を検討し始めて、その途中で AppSheet の存在を思い出して、
いきおい 1 を作り込んでみたが、やはり参照用ウェブページは別途必要だな、と感じて、
結局、2 を Apps Script で作った、という感じです。
改めて考えれば、この 1 & 2 の構成は、
Google Sites 製のサイトの一部を CMS のように運用したい場合、
かなり汎用的に使えるのではないかと思います。
各論 (参考まで)
Sites への埋め込み
私の事例では、 Apps Script で実装したウェブページを、Sites 製のサイトに埋め込んで表示しています。
埋め込まずに、直接サーブしても良いと思います。
画像
私の事例では、画像コンテンツを取り扱っていません。
AppSheet で投稿された画像コンテンツを、Apps Script (などの外部システム) で参照する方法については、
小一時間アタマを捻ってみましたが、諦めました。
良いアイディアをお持ちの方、教えてください。
権限レベル
AppSheet のユーザーの権限レベルは、以下のようになっています:
- アプリ開発者
- アプリ定義を編集できる
- アプリ定義を閲覧できる
- アプリ利用者
- Admin
- User
「アプリ定義」を共有することで、アプリを協同管理できます。
アプリ上の任意の View(見えるもの) , Actoin(できること) を Admin に限定することで、
管理者専用の機能を実装できます。
公開 / 非公開
コンテンツに公開フラグを持たせることで、
非公開のコンテンツが User に表示されない (Admin にしか表示されない) ようにしました。
元の Sheet にフラグ用の列を追加することで実現できます。
★ をつける (関連テーブル)
コンテンツに、★ (スター) をつけられるようにしました。
コンテンツの Sheet とは別に、
「いつ」「誰が」「何に」(★ をつけた)
を記録する Sheet を AppSheet へ追加すると、 ★ に対する CRUD が自動生成されるので、
あとは ★ の作成や削除のトリガーを View に配置するだけです。
当然、
- 自分が ★ したコンテンツをみる
- コンテンツを ★ が多い順に並べる (ユーザー全体で)
なども実装できます (しました) 。
Push 通知
AppSheet の (ガワ・ネイティブ) アプリをスマホに入れておけば、Push 通知も受けられます。
もちろん、通知イベント / 通知先 / 通知内容 を設定できます。
( コンテンツが更新されたら、そのコンテンツを ★ してるユーザーへ通知 など )
まとめ
もし Sheet で管理している情報があれば、ためしに AppSheet 化してみては、いかがでしょうか ?