#kintone100日チャレンジ Day092:アプリ説明欄を一元管理する「アプリ説明欄連携プラグイン」を組んでみた

#kintone100日チャレンジ Day092:アプリ説明欄を一元管理する「アプリ説明欄連携プラグイン」を組んでみた

記事
IT・テクノロジー
面倒解決エンジニアの森田ユウゴです。
台湾からお届けする「#kintone100日チャレンジ」の92日目。

皆さんはkintoneの「アプリ説明」を、誰向けに、どのくらいの詳しさで書いていますか?

本日のテーマは、アプリごとの案内を管理するkintone管理者向けの「アプリ説明欄連携プラグイン」。利用者別の説明表示だけでなく、説明文を別アプリで履歴管理し、プラグイン設定の保存を「公開」のタイミングにする構成です。

「アプリ説明欄連携プラグイン」について


🎯 どんな課題に向き合ったか(現場の不とベネフィット)


現場の「不」: 同じアプリでも、管理者には長すぎる説明、普段使わない人には難しすぎる説明になりがちです。さらに、アプリ設定へ直接書いた説明は、誰がいつ変更したのかを整理しにくいことがあります。

導入後の世界(ベネフィット): ユーザー・組織・グループを条件に、対象者へ必要な詳しさの説明だけを表示できます。案内文は別アプリのレコードとして管理するため、変更履歴も確認しやすくなります。

💡 着想・こだわり(既存との違い)

今回のこだわりは、表示機能そのものよりも、説明文を業務データと同じように管理する発想です。

表示内容は、別のkintoneアプリに置いたリッチエディターフィールドから取得します。案内文をレコードとして持つため、kintoneの変更履歴を使って更新の経緯を追いやすくなります。

ただし、ソースレコードを編集しただけでは公開中の説明は変わりません。プラグイン設定を保存した時点でHTMLを取得し、そのスナップショットをプラグイン設定へ保存します。

別アプリで編集と履歴管理を行い、内容を確認してから、プラグイン設定の再保存で公開する。設定保存を明示的な公開操作にすることで、編集中の文章や意図しない変更が、そのまま利用者の画面へ流れ込むのを避けました。

✨ これで出来ること(機能概要)


まずはこちらをご覧ください。


利用者別の説明表示: ユーザー・組織・グループを条件に、最初に一致したルールの説明を表示します。

説明文の履歴管理: 別アプリのリッチエディターで文章を管理し、レコードの変更履歴を確認できます。

保存時スナップショット: 設定保存時のHTMLを固定し、閲覧時はソースアプリへREST APIアクセスしません。

HTMLを保存するからこそ、描画前に再確認する

リッチテキストの書式を保つには、保存した内容をHTMLとして描画する必要があります。

入力元はkintoneのリッチエディターに限定していますが、「kintone由来だから安全なはず」とは考えません。保存済みHTMLは、表示直前にプラグインへローカル同梱したDOMPurifyでサニタイズします。script要素やイベントハンドラーなどの実行可能な記述を除去し、DOMPurifyを読み込めない場合はHTMLを描画しません。

閲覧時に新しいHTMLを取り込まないスナップショット設計と、描画直前のサニタイズ。この二段構えで、利便性と安全性の両立を狙いました。

課題

現時点では下記のような課題が残っています。

更新には再保存が必要
ソースの説明文や組織ツリーを変更した場合は、プラグイン設定を再保存する必要があります。自動同期ではなく、公開操作を明示する設計とのトレードオフです。
→1日1万回のAPI制限にアプリ全体で届かないようであれば、直接参照も現実的です。

HTML描画にはinnerHTMLを使う
リッチテキストの書式はtextContentでは再現できないため、DOMPurifyでサニタイズした箇所に限定してinnerHTMLを使っています。

すべての外部通信を遮断する仕組みではない
DOMPurifyは危険な実行要素を除去しますが、許可されたリンクや画像URLを一律に削除するURL許可リストではありません。リッチエディター自体にそのようなデータを保存が出来ませんが、ほかの対策も引き続き必要です。

さいごに

アプリ説明を「全員向けの固定文」ではなく、役割別に配信する管理対象として考えてみました。

部署別の注意事項、初心者向けの詳しい手順、管理者だけに必要な運用情報など、同じアプリでも説明の厚さを変えたい場面に使えます。

#kintone100日チャレンジ として、2026年4月から毎日プラグインをバイブコーディングしています。明日もお楽しみに!

私森田ユウゴはココナラでkintoneに関する各種サービスを出品しております。


SIerの中でもインフラSEとして約10年、特に「運用保守」にはベンダーとして深く携わってきました。
作りっぱなしにしない導入やカスタマイズのご提案が可能です。
お気軽にご相談をくださいませ
→森田ユウゴのプロフィールはこちら👇

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す