kintone(キントーン)をカスタマイズする4つの方法

公開日:2020-04-11

kintone(キントーン)のカスタマイズは悪か?

一般にパッケージソフトやサービスのカスタマイズは悪だと言われています。それはなぜでしょうか?それには従来2つの大きな問題があったためです。

  • カスタマイズには、多額の費用と時間がかかる
  • カスタマイズしてしまうと、将来のアップデート時にアップデートできなかったり、アップデートに合わせるためにまた費用と時間がかかる

カスタマイズせずに済むならしないほうがいいのは間違いないです。

そのため、キントーンにおいてもまず考えるべきは「やりたいことは基本機能でできないか?」という点です。ただし、基本機能でできるからといって、現場の利用者に負担を強いたりするのは本末転倒とも言えるので、そういう意味で基本機能でできるかを考えるのではなく、業務を整理することで基本機能でできないか?ということを中心に考えていきます。

では、基本機能でできないことを実現したい場合、キントーンをカスタマイズすることになりますが、それは悪でしょうか?これはどちらにもなりえるということを覚えておいてください。

キントーンは、その仕様としてカスタマイズの方法が用意されています。そのため、キントーンとして認めているカスタマイズのルールがあります。このルールに従ってカスタマイズしている分には、アップデートで動かなくなる危険性は低いと言えます。

ルールを逸脱したカスタマイズを行うことも可能ですが、その場合はアップデート時に動かなくなる危険性があります。

また、カスタマイズにかかる費用と時間はどうでしょうか?カスタマイズというと、エンジニアにお願いしてプログラムを書いてもらってというイメージだと思いますが、キントーンの場合はいくつかの手段が用意されています。

kintone(キントーン)のカスタマイズを実現する4つの方法

カスタマイズは常にプログラムを書く(or 書いてもらう)ことが必要でしょうか? キントーンの場合はそうではありません。キントーンには4つのカスタマイズ方法があります。

  1. プラグイン
  2. gusuku Customine
  3. JavaScript開発
  4. 外部サービス連携

この4つの特徴をみていきましょう。

プラグイン

プラグインはキントーンをカスタマイズする最も簡単な方法です。執筆時点で200種類以上のプラグインがリリースされており、必要な要件にマッチするプラグインがあれば、簡単に導入することができます。

プラグインには、無償のものも有償のものもあります。また、有償のものでは、買い切り型、月額制、年額制など価格体系もいろいろなものがあります。購入は基本的にそれぞれの提供元から行う必要があります。

いくつか代表的なプラグインとしては次のようなものがあります。

名前(提供元):概要

カレンダーPlus(ラジカルブリッジ):キントーンにGoogleカレンダーのようなリッチなカレンダー表示を追加

krewSheet(メシウス):キントーンをまるでエクセルのように編集できるように

手書きプラグイン(ジョイゾー):タブレット等で手書きでサインしたものを画像として保存できるように

RepotoneU(ソウルウェア):キントーンだけでPDFやエクセルの帳票出力が可能に

高機能ルックアップ(アールスリーインスティテュート):キントーン標準ではできない他の項目を利用した絞り込みつきのルックアップが可能に(2021年11月30日販売終了)

検索拡張プラグイン(M-SOLUTIONS):キントーンの一覧で検索を簡単にできるように

プラグインは、導入は簡単に行えますが、注意しないといけない点があります。

プラグインの競合

プラグインは1つのキントーンアプリに20個まで導入することができます。複数のプラグインを導入するとまれに競合を起こすことがあります。

これは、キントーンのカスタマイズには、守るべきルールがあるのですが、そのプラグイン単体であれば動作するものの、一部のルールが守られていないため、複数のプラグインを導入すると動かなくなるという問題です。

このとき、どのプラグインが原因で問題が起きているかを特定するのが困難なケースがあります。競合らしき現象が起きた場合は、プラグインを1つずつ外してみて動作確認していく必要があります。

更に、ルールが守られていたとしても、例えば「編集画面を表示したタイミング」で動作するプラグインを複数導入した場合、同じタイミングで複数のプラグインが動作することになりますが、このときどのプラグインが先に動くかは保証されません。

そうなると、思った動きにならないことがあります。このケースは対処しようがなく、思った動きにならない場合はあきらめることになります。

アップデート時の対応

キントーンのアップデートによってプラグインが動作しなくなったときの対応にも注意が必要です。有償で継続的に販売されているプラグインであれば、アップデートに対応してくれると思いますが、無償のプラグインや有償でも販売が完了しているプラグインだとアップデートに対応されない場合もありますのでご注意ください。

gusuku Customine

gusuku Customine」は、弊社アールスリーインスティテュートが開発・提供しているキントーンのカスタマイズサービスです。プラグインではできないような、業務に特化したカスタマイズを、JavaScriptのプログラムを書くことなく実現することができます。

gusuku Customine設定画面

gusuku Customineでは、ブラウザで「やること」と「条件」を設定していくだけで、自動的にカスタマイズプログラムを生成し、キントーンにセットしてくれます。

プラグインのときにあった「編集画面を表示したタイミング」で複数の処理を行いたい場合、gusuku Customineでは順番を決めることもできるため、望んだ結果を得ることが可能です。

さらに、gusuku Customineが生成したプログラムは、弊社が動作保証しているため、キントーンのアップデートによって問題が発生した場合も対応は弊社で行いますので、利用者の方が行うのは、最新の gusuku Customine でプログラムを再生成させるだけです。

JavaScript開発

プラグインでも、gusuku Customineでも実現できない要件がある場合は、JavaScriptで開発することになります。

JavaScriptは、気楽に使われることが多いプログラミング言語ではありますが、決して簡単なプログラミング言語ではありません。メンテナンス性の高い、読みやすく、不具合を起こしにくいプログラムを書くには、それなりの勉強が必要です。

キントーン開発の基礎知識

自分でJavaScriptを書かずに、キントーン開発しているベンダーやエンジニアにお願いするとしても、キントーンでどういうカスタマイズができるかを知っておくことが大切です。それを知るために gusuku Customine でやれる範囲までやるというのも勉強方法の1つとしてお勧めです。

少なくとも、キントーンでどのタイミングでカスタマイズができるかは知っておいてください。

カスタマイズできるタイミング

実際のキントーンJavaScript開発

JavaScriptでのカスタマイズ開発は最小限に留めることをおすすめします。その大きな理由の1つは、プラグインのところでも触れたキントーンのバージョンアップ対応です。弊社の経験でも、キントーンのバージョンアップによって動かなくなったケースがあります。JavaScriptでカスタマイズするということは、そのリスクを自分で背負うということになります。

外部のベンダーに依頼して開発してもらう場合は、それ用の保守契約をしていないと、追加で費用が必要になる可能性があります。

外部サービスとの連携

JavaScript開発をしてもできない要件を実現するにはどうすればいいでしょうか? 例えば弊社の事例として東急電鉄様で実施している入退室管理の仕組みの場合は、別途稼働している入退室管理の仕組みとデータ連携する必要があります。

このようなケースでは、キントーンのREST APIを利用することができます。REST APIを使うとキントーンの外からプログラムを使ってキントーンのデータにアクセスし、検索したり編集したり追加したりということが可能になります。

REST APIを使うことで、外部の様々な仕組みとデータをやりとりすることができ、キントーンだけではできないようなこともどんどんできるようになります。

しかし、これにも注意点があります。

外部サービスには、各々にサービス利用可能時間やSLAが設定されています。外部サービスを組み合わせてシステムを構築した場合、システム全体の可用性は、各々のサービスの利用可能時間等に影響を受けます。また、REST APIの利用はインターネットを介して行われますので、最近のインターネットでは問題が起きづらいとはいえ、まれに遅延が起きたりということがありますので、そのあたりのトラブルを見込んでシステムを設計しておく必要があります。

まとめ

キントーンのカスタマイズは様々な方法があります。それぞれに特徴がありますので、あなたに最適な方法を選んでください。gusuku Customine を提供している弊社としては、gusuku Customine でできることをどんどん増やして、アップデートや競合の心配のないカスタマイズを誰にでもできるようにしていきたいと思います。