[kintone] 開発者のための新コミュニティ発足❗ 拡張を組み合わせる異種拡張技スタイルの紹介
こんにちは、キン担ラボの本橋です。
11/28の夜のこと、devkin meetup! vol.1というkintone開発者向けの勉強会コミュニティが立ち上がりました。
第一回のイベントでセッションの1つを担当させていただきました。このnoteではイベントでお話した内容をまとめておきます。
開発者イベント: devkin meetup! Vol.1 - connpass
イベント情報はこちらです。kintoneの開発者向けのコミュニティがないので作ろう!とエバンジェリストの久米さんの声がけで立ち上がりました。
kitnone Caféもありますが、開発者向け、と銘打ってエンジニアからエンジニアに向けて話をすることに限定した機会がこれまではあんまりない印象でした。コードの話をしてもいいというか、技術情報の共有ができる場が定期的に巡ってくる企画です。個人的にそういうイベントに参加したかった気持ちが高まっていたこともあり、vol.1にはセッション参加で手を挙げさせていただきました。
何を話そうかとしばらく考えて、noteに書き溜めてきたことを統合するようなお話にしてみよう!と思いついたテーマがこちらです。
担当セッション:kintone異種拡張技戦
以前、僕はWebhookとREST APIでkintoneと連動する外部連携サービスの開発を中心にしていて、そこから外部連携を使いやすくする目的でプラグイン開発にもシフトしていました。
そんな中でkintone Café 高知 Vol.19に参加したところ細谷崇さんがChrome拡張の話をされていて、なるほどブラウザ拡張でkintoneに機能追加する発想もありなんだと作ったChrome拡張がこちらです。
作ってみれば理解も深まります。kintoneの拡張スタイルの選択肢にもなると思うようになり、今回のセッションに繋がりました。
前置きが長くなりましたが、このnoteではdevkin meetup vol.1のセッションでお話した内容を忘れないうちにプレイバックしていきたいと思います。
セッションのスライド全体はgithubで公開しています。よろしければスライドもご覧下さい。
kintone異種拡張技とは
開発者目線から見たkintoneといえば、各種APIが充実していて、さまざまな開発スタイルで拡張することができることが特徴です。
ここではさまざまな開発スタイルをそれぞれ拡張技と名付けました。種類の異なる開発スタイルの組み合わせを称して異種拡張技というダジャレです。
Here comes a new challenger!(テテテテッテッテッテッテレー)
セッションを聞いている側の手助けになるアイコンを作ろうと思って、拡張技ごとにキャラクタ化したところスライド作っているうちにどんどん愛着が湧いてきました。生成AI楽しすぎる。
拡張スタイルの紹介に合わせてキャラクタも紹介します。
ブラウザ拡張
chromeなどのブラウザにインストールする拡張技。kintoneに限らずあらゆるWebサイトで機能します。
JSカスタマイズ
JavaScirptのコードを直接kintoneに組み込む拡張技。特定の一つのアプリに対して適用することができます。kintoneへの適用にはシステム管理権限を必要です。
プラグイン
パッケージ化したJSやCSSをkintone環境にインストールして、アプリ単位で適用する拡張技。kintoneアプリへの適用はアプリ管理者が行い、プラグインの各種設定もアプリ管理者が管理します。
Webhook連携
レコード操作に応じてkintoneサーバー側で発火するサーバー間通信拡張技。他の拡張技と少し毛色が異なります。設定にはシステム管理権限を必要とします。
拡張スタイルの選択
拡張スタイルそれぞれに設定できるアカウントの権限と利用できるアカウントの権限とで特徴があります。カスタマイズが影響する範囲もそれぞれ異なります。
A. 適用範囲の違い
B. パラメータの設定
C. 管理に必要な権限
テーブルにまとめました。このセッションのキモです。
拡張技の特徴の違いを意識しておくと、今目の前のkintoneと課題を解決するにはどの拡張技を適用したらよいのか見えてくるかと思います。
異種拡張技対戦: プラグイン vs JSカスタマイズ
実際に組み合わせて動かすデモです。
このパートは以下の2つのnoteの掛け算です。プラグインに不足している機能をJSカスタマイズで補ってみました。
ChatGPTをkintoneから呼び出すChattyToneプラグインに不足している機能を、GPTsのJSメンタ郎にちゃちゃっと書いてもらって補完してしまおう、との異種拡張技デモです。
メンタ郎でその場でJSを書いてもらおうかと思ったのですが速度的に収まらないこともあって、冒頭でちょっとだけAIコーディングのデモをしました。
その他の異種拡張技
このあとは『こんな組み合わせをしたらこんなことができるんじゃない?』というアイデアをいくつかお話して終了です。
そのなかでJavaScriptのスニペットを任意のタイミングで実行できるプラグインというアイデアを開陳していたところ、後日、kintoneエバンジェリストのイシイケンタロウさんがカスタマインにそういう機能があるよ、というQiitaを書かれていました。
なるほど、さすがカスタマインですね。作ろうとした機能がカスタマインにあるとちょっとホッとします。
kintone Café 徳島 Vol.6やります!
セッションの最後に、次回のkintone Café 徳島の予告をさせていただきました。
今回は株式会社金剛さまの2Fフリースペースをお借りしての開催ということでいまのところ会場だけ決まっています。
これからどんどん情報追加していきますので、みなさんよかったらconnpassのページをチェックされてみて下さい。
セッション部分はここまででおしまいです。こうしてエッセンスだけ取り出すともっと他に話すことあったような気にもなりますが、20分の枠内でお話するにはこのくらいのバランスがよいですね。
実はセッションの前に、急遽LT枠も空きが出たということで…
LT2: ロゴ作りましょう
空いたLTひと枠に、ではロゴを作りませんか?と提案させていただきました。5分間で完成までは行かなくても、こんな感じでロゴ案を気軽に作れますよ、とショートワークショップ形式です。
まずは久米さんにmiroをご用意いただき、devkin meetup!に抱いているイメージについてみんなで付箋でペタペタ貼っていきます。
キャラクターはdevkinという言葉から「デメキン」あるいは「kin魚」というアイデアが出ました。背景はエンジニアとコミュニケーションのハブ、メガネ、お肉、かっこいい感じで、イメージカラーはもちろん黄色です。
このあたりを盛り込んだところ、次の二枚の画像が生成されました。
ひとまずその場で投票を呼びかけて1枚目に決まったのですが、あくまでLT内のデモンストレーションです。この絵で決定というわけではなく、devkin meetup! のみなさんで決めていく取っ掛かりになればいいなと思います。
みんなの意見を取り込みながら一枚の画像を生成していく流れはとっても楽しい時間でした。出てきた画像からどんな要素を読み取るか? ワギャンランドのしりとりを思い出しながら進めていました。
皆さんもよかったら画像生成AIのロゴ作成で遊んでみて下さい。ChatGPT plusをご契約の方はGPTsのロゴ郎もお使いいただけます。
次回のdevkin meetup! が今から楽しみな本橋でした。