(著者:サイボウズ 宮倉 宗平)
Index
はじめに
kintone上でAPIを使用して開発を行う際、カスタマイズではなくkintoneプラグインを使ったことがありますか?
確かにkintoneプラグインはマニフェストファイルの作成、CSSなどのデザイン面の実装などをする必要がありますが、それ以上に大きなメリットがあります。
今回の記事では、kintoneプラグイン開発が、カスタマイズと比べてどういった違い、メリットがあるのかを中心にご紹介していきます。
本記事を読むことで、今後開発を行う際に、カスタマイズ、プラグインどちらで設計すべきかの判断をする上での手助けにもなるかと思います。
kintoneプラグインのメリット
では具体的に、プラグイン開発にはどういったメリットがあるのかを、事例も交えながらいくつかご紹介したいと思います。
1:JavaScript / CSSファイルを一括適用できる
カスタマイズだとJavaScriptファイル、CSSファイルなどをスマートフォン用と分けたりしながら一つずつアップロードしていく必要があります。
しかし、kintoneプラグインだとプラグイン用のzipファイルにまとめて一括してアップロード、適用することができます。
このように、プラグインの場合、各アプリから適用したいプラグインを選択するだけで、プラグインが使用可能になります。
しかしカスタマイズの場合、カスタマイズ用に作成したCSS,JavaScriptファイルを何度もアップロードするなどの手間が発生します。
なので他のアプリへの汎用性がある開発を行う場合にはプラグイン開発をおすすめします。
2:設定画面での設計変更
kintoneプラグインの場合、設定画面の作成ができるので、簡単な設計の変更であれば容易にできます。 なので、複数アプリ、もしくは複数ドメインで使うような汎用性の高いカスタマイズを実装する場合にとても便利です。
今回はcybozu developer networkで無償公開されている「文字結合プラグイン」を参考にして、プラグインの設定画面での設計変更のメリットを紹介していきます。
このプラグインは、文字列フィールドの自動計算機能などの、通常の連結機能では連結できないラジオボタンやルックアップなども結合することができるプラグインです。
「文字結合プラグイン」設定画面
このようにプラグインの設定画面で、連結したいフィールド、表示するフィールドなどを選択、変更するだけで設計の変更が可能になります。
これをkintoneカスタマイズで行いたい場合、その都度変えたいフィールドのコードを直接改変する必要があるため、変更に時間とコストがかかる上、変更できるユーザーがエンジニアだけに限られてしまいます。
しかしプラグインの場合、設定画面を用意しておけば、GUIで各プラグインの仕様変更が可能なため、非エンジニアのユーザーでも仕様の変更などが可能になります。
なので、細かい仕様の変更が何度も起こる可能性が高い場合やエンジニア以外のユーザーでも仕様変更などを可能にしたい場合などもプラグインを使用した方が良いかもしれません。
3:複数アプリに一括適用&バージョンアップも一括
「1:JavaScript / CSSファイルを一括適用できる」でお伝えしたように、今作ってるカスタマイズなどを複数アプリで適用したい場合には、kintoneプラグイン開発は有用です。それ以外にも、プラグインにはバージョンアップも一括でできるというメリットがあります。
例えば、カスタマイズで不具合が生じた、機能を追加したいとなった場合、適用している各アプリに対して更新を行っていく必要があります。
kintoneプラグインの場合は、一括で不具合の修正などが可能なため、バージョンアップが容易にできるという大きなメリットがあります。
4:重要な情報の隠匿
GoogleやAWSなど、様々な外部サービスとkintoneAPIを組み合わせてカスタマイズすることはよくありますが、kintoneカスタマイズで外部サービスと連携してしまうのは実は危険です。なぜなら、そのサービスを利用する際に取得してきたAPIトークンなどの重要な情報が、ブラウザで簡単に確認できてしまうからです。
このようにGoogle ChromeのDeveloperコンソールなどを使用すれば、kintone上で簡単に今実行されているコードの中身を見ることができてしまいます。
しかし、kintoneプラグインであれば、外部APIの実行に必要なAPIキーなどの重要な情報を、kintoneプラグインJavaScript APIの kintone.plugin.app.setProxyConfig()を使用することでkintoneサーバー上に保存することができます。
kintone.plugin.app.setProxyConfig()に関する記事はこちらから
- 外部サービスと連携したい
- 他人に見せるべきではない重要な情報を取り扱ったりする
このような場合にはプラグインを検討してみてはいかがでしょうか?
また、kintoneプラグイン開発については
「kintoneプラグイン開発入門 【Part2: 情報の隠匿方法編】」
「kintoneプラグイン開発入門 【Part3: 情報の隠匿方法 実践編】」
の記事で、続編としてより具体的にご紹介しているので、よければご覧ください。
おわりに
以上がプラグインを使うことによるメリットです。
このようにkintoneプラグインには、カスタマイズでは実現できないような機能を備えています。
ぜひ一度kintoneプラグインを使用して開発してみてください。
このTipsは、2018年11月版 kintoneで確認したものになります。
記事に関するフィードバック
記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。