カスタマイズファイルの利用状況を管理する
はじめに
みなさんは、kintoneにカスタマイズを加えていますか?
kintoneは、業務に合わせて柔軟にカスタマイズできます。
しかし、カスタマイズを行う際「どこにどんな変更を加えたか把握できなくなる」「引き継ぎがうまくできない」などの問題を生じることがあります。
これらの問題を防ぐためには、適切な管理が欠かせません。
そこで、この記事では、カスタマイズファイルの利用状況を管理する方法を紹介します。
後半では、ワイドコース限定のAPIを活用する方法についても解説します。
このTipsの後半では、ワイドコースでのみ利用できるAPIを使います。
ワイドコースとは
想定読者
- kintoneシステム管理者
- 情報システム部門
カスタマイズファイルの管理が必要な理由
kintoneは、JavaScriptやCSSファイルを設定画面からアップロードすることでカスタマイズが可能です。
簡単にアップロードできて、即座にカスタマイズが反映されるので忘れがちですが、このとき、担当者がアップロードファイルを適切に管理しないと、さまざまなリスクが想定されます。
まずは、カスタマイズファイルの管理が必要になる主な理由を説明します。
過去の状態の復元
何か問題が発生した場合など、過去のバージョンに切り戻したいといったことはよくあります。
kintoneには、バージョン管理機能はないため、自身で過去のカスタマイズファイルも保管しておくと安心です。
すぐに過去のファイルを参照できる状態にしておくと、スムーズな復元が可能になります。
再利用性の向上
他のアプリでも同じような処理を入れたいといったケースはよくあります。
そんなときに、管理がされていないと、無駄な工数がかかったり、ファイルの散在につながります。
カスタマイズファイルを適切に管理しておくことで、再利用性の向上が見込めます。
保守性の向上
ファイルをアップロードした時はカスタマイズの内容を理解していますが、期間があくと忘れがちです。
また、カスタマイズ担当者の入れ替えにより引き継ぎが発生する可能性もあります。
そんなとき、カスタマイズしたアプリがどこにあるか、どのように動作するかを明確にしておくことで、将来的なメンテナンスが容易になります。
概要や変更箇所のコメントを残すことで、カスタマイズの内容を誰もが理解しやすくする管理が重要です。
GitHubでカスタマイズファイルを管理する方法
GitHubは、ソフトウェア開発プロジェクトを管理するためのクラウドベースのプラットフォームで、主にソースコードのバージョン管理のために使用されます。
kintoneのカスタマイズファイルも、GitHubを利用して管理することは有効な管理方法の1つでしょう。
GitHubからkintoneに直接アップロードする機能はないため、GitHubでファイル管理をしつつ、kintoneに手動でファイルをアップロードする必要があります。
使い慣れている人にとっては、とても便利なGitHubですが、GitHubは主にソフトウェア開発者向けに設計されており、専門的な技術や操作が必要になります。
次のような理由から、導入のハードルが少し高い部分もあります。
- バージョン管理の概念(ブランチ、コミット、マージなど)を理解する必要がある。
- コマンドライン操作を覚える必要がある。
そこで、ここでは、kintoneでカスタマイズファイルを管理する方法を一例として紹介したいと思います。
kintoneでカスタマイズファイルを管理する方法
GitHubのような他のサービスを使わずに、kintoneでカスタマイズファイルを管理する方法を紹介します。
今回実現したいことは、次のとおりです。
- kintoneに適用されているファイルをすべて一ヵ所のアプリで管理する。
- どのアプリにどのようなカスタマイズが適用されているかわかる。
- カスタマイズファイルの変更時に、プログラム変更箇所やコメントを残せることで、誰が見ても過去の履歴を追える。
アプリの構成
カスタマイズファイルを管理するために、以下のフィールドをもつアプリを作成します。
フィールド名 | フィールドタイプ | フィールドコード | 備考 |
---|---|---|---|
アプリID | 文字列(1行) | app_id | |
アプリ名 | 文字列(1行) | app_name | |
カスタマイズの概要 | 文字列(複数行) | summary | |
【デスクトップ】JSカスタマイズ履歴 | テーブル | desktop_table | |
日時 | 日時 | desktop_datetime | 【デスクトップ】JSカスタマイズ履歴テーブルに追加する |
変更箇所/コメント | 文字列(複数行) | desktop_comment | 【デスクトップ】JSカスタマイズ履歴テーブルに追加する |
添付ファイル | 添付ファイル | desktop_file | 【デスクトップ】JSカスタマイズ履歴テーブルに追加する |
【モバイル】JSカスタマイズ履歴 | テーブル | mobile_table | |
日時 | 日時 | mobile_datetime | 【モバイル】JSカスタマイズ履歴テーブルに追加する |
変更箇所/コメント | 文字列(複数行) | mobile_comment | 【モバイル】JSカスタマイズ履歴テーブルに追加する |
添付ファイル | 添付ファイル | mobile_file | 【モバイル】JSカスタマイズ履歴テーブルに追加する |
運用イメージ
アプリの運用イメージとしては、次のような流れです。
- カスタマイズを適用するアプリが生じたら、レコードを登録する。
- アプリの情報をフィールドに登録する。
- アプリID
- アプリ名
- カスタマイズの概要
- カスタマイズファイルをテーブルに登録し、過去のファイルの履歴も残す。
- 変更日時
- 任意のコメント
- カスタマイズファイル
上記のイメージでアプリを運用すると、次のようにカスタマイズが適用されたアプリの一覧をレコード一覧画面で確認できます。
そして、レコード詳細画面をみると、アプリのカスタマイズに関する情報を確認できます。
このように、カスタマイズの概要やコメント履歴を残しておくと、状態の復元、再利用性、保守性の向上につながります。
JavaScript / CSSカスタマイズ設定画面では、現在適用されている最新のカスタマイズファイルしか保持していません。
問題が起きた際、過去のカスタマイズファイルに戻す可能性があるので、アプリ上に過去のファイルも保管しておきます。
過去のファイルをどこまで保管しておくかは、「1年に1回棚卸しをする」などのルールを決めてチームに合った方法で運用するとよいでしょう。
補足
ファイルの管理は、GitHubなどのバージョン管理ツールを利用し、kintoneではそのリンクを登録しておくのもひとつの方法です。
こうすると、ファイルを手動で管理アプリにアップロードする手間は省けます。
バージョン管理ができるので、過去のファイル管理も不要になり、棚卸しなどのルール決めも不要になりますね。
ワイドコース限定APIを使って、カスタマイズの利用状況も管理する
ここまで紹介した方法をAPIを使って一部自動化できます。
さらに、アプリのAPIリクエスト数もAPIで取得し、アプリの利用状況も把握する例を紹介します。
ワイドコースでのみ利用できるAPIを使います。
ワイドコースとは
実現したいことは、次のとおりです。
- カスタマイズが適用されているアプリを自動でレコード登録する。
- 次のデータを自動でフィールドに登録/更新する。
- アプリID
- アプリ名
- アプリのAPIリクエスト数
- アプリのJavaScript / CSSカスタマイズ設定画面へのリンク
今回は例として、レコード一覧画面に設置した「更新ボタン」をクリックしたら、APIから最新情報を取得して情報を更新したいと思います。
フィールドの追加
先ほど作った アプリの構成 に次のフィールドを追加します。
フィールド名 | フィールドタイプ | フィールドコード | 備考 |
---|---|---|---|
1日のAPIリクエスト数 | 数値 | api_request_count | |
JavaScript / CSSカスタマイズ設定画面へのリンク | リンク | setting_link |
サンプルコード
レコード一覧画面に設置したボタンをクリックすると、最新情報をAPIから取得してくるJavaScriptのサンプルコードです。
サンプルコードを参考に任意のファイル名で保存し、アプリ設定画面からファイルをアップロードします。
|
|
コードの解説
ワイドコース限定APIが使用されているのはこの部分です。
アプリの使用状況を取得する
のAPIを使用してアプリの使用状況の一覧を取得しています。
|
|
取得したアプリの使用状況の一覧から、今回はカスタマイズされているアプリに絞り込み、アプリID、アプリ名、APIリクエスト数を抽出しています。
|
|
このとき、APIの仕様上、カスタマイズだけでなくプラグインが適用されているアプリも含まれます。
補足
今回は、わかりやすくレコード一覧のボタン押下時に処理が走りますが、AWSのLambdaなどを利用して処理を定期実行させるのもよいでしょう。
定期実行のやり方については、
定期実行でデータの同期を実現するスマートな方法 その2〜AWS Lambda編〜
などを参考にしてください。
動作確認
先ほどのカスタマイズを適用したうえで、アプリの一覧画面を開きます。
画面上部に表示されている「更新ボタン」をクリックすると、次のようにカスタマイズが適用されているアプリの情報がレコード一覧に自動で表示されます。
「更新ボタン」をクリックするたびに、すでに登録されているアプリについても、1日あたりのAPIリクエスト数やアプリ名が最新情報に更新されます。
レコード詳細画面を見ると、ワイドコースAPIで自動取得したアプリのカスタマイズに関する情報を確認できます。
アプリのJavaScript / CSSカスタマイズ設定画面へのリンクを追加したのは、そこから各アプリの設定画面に直接遷移できると、現在適用されているカスタマイズをすぐに確認できて便利なためです。
APIを使用しない時と比べると、カスタマイズの概要とファイルのフィールドのみを入力すればいい形にできました。
おわりに
今回は、カスタマイズファイルの利用状況をkintoneで管理する方法を紹介しました。
方法はあくまで一例で、実際にはそれぞれの環境に合った管理方法を選ぶことが重要です。
この記事が自社に合った効率的な運用管理体制を整えるためのヒントになれば幸いです。