top of page

kintoneの一覧検索を拡張する:複数フィールド横断検索プラグインの設計と実装

  • 祐斗 河合
  • 6 日前
  • 読了時間: 3分

はじめに

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・使い方はこちらです。

不具合報告・改善案・PR も歓迎しています。

このリポジトリは、 kintone プラグイン開発における堅牢設計の一例としても公開しています。

おわりに

kintoneは「できること」が多い分、

検索や運用の小さな不満が溜まりやすいツールでもあります。


このプラグインが、

その小さなストレスを減らす一助になれば嬉しいです。

コメント


bottom of page