はじめに
kintoneの一覧画面には検索機能がありますが、
実務で使っていると、こんな場面に出会うことがよくあります。
- 複数フィールドをまとめて検索したい
- テキストもドロップダウンも一括で探したい
- AND / OR を切り替えたい
- でも毎回クエリを書くのは面倒
そこで、
検索バー1つで、複数フィールドを横断検索できるプラグインを作りました。
今回、この「アプリ内横断検索プラグイン」を GitHubで無料公開しています。
できること
このプラグインでは、以下のことができます。
- 検索バー1つで、複数フィールドを横断検索
- スペース区切りの検索語を AND / OR 切り替え
- フィールドタイプに応じて演算子を自動切替
- テキスト系 → like
- ドロップダウン → in
- 添付ファイル → like
- 検索語を URL に保持(画面遷移・更新しても保持)
- 設定時のフィールド定義スナップショットを保存し、
アプリ定義変更との不一致を検知・警告表示
いわゆる「裏で何が起きているか分からない検索」ではなく、
kintoneの query を正しく使い切るための検索UIを目指しています。
技術的なポイント
1. query はすべて自動生成
検索条件はすべて kintone の query として生成しています。
(案件名 like "見積") or (商談メモ like "見積")
のような形を、
ユーザーは意識せずに使えるようにしています。
2. フィールドタイプごとの安全な判定
特に注意したのが、ドロップダウン系フィールドです。
- 存在しない選択肢を in に渡すとエラーになる
- そのため、JavaScript API で選択肢を取得
- 完全一致した場合のみクエリに含める
これにより、
「検索できない」「一覧が壊れる」といった事故を防いでいます。
3. フィールド定義の差分検知
設定保存時に、
- フィールドコード
- フィールドタイプ
- 選択肢
をスナップショットとして保存し、
一覧表示時に 現在の定義と差分があれば警告を出します。
「検索できない原因が分からない」を減らすための仕組みです。
なぜ無料公開したのか
理由はとてもシンプルです。
-
kintoneの検索まわりは、
少し工夫すると業務効率が大きく上がる -
でも、その工夫は毎回各社・各人で作り直されている
-
ならば、
ベースになる実装は共有してしまった方が良い
また、このプラグインは
- 外部サーバーを使わない
- 認証も不要
- アプリ内で完結する
という性質上、
「まずは使ってみてほしい」と思い、無料公開にしました。
GitHub リポジトリ
ソースコード・README・使い方はこちらです。
👉 https://github.com/youtotto/kintone-cross-search-plugin
不具合報告・改善案・PR も歓迎しています。
このリポジトリは、 kintone プラグイン開発における堅牢設計の一例としても公開しています。
おわりに
kintoneは「できること」が多い分、
検索や運用の小さな不満が溜まりやすいツールでもあります。
このプラグインが、
その小さなストレスを減らす一助になれば嬉しいです。


