レコードをまるごと保存し、保存した時点の状態にまとめて戻す
データ保存・復元プラグインは、kintone アプリのレコード一覧画面に 2 つのボタンを追加します。
| ボタン | できること |
|---|---|
| 💾 データを保存 | その時点のすべてのレコード(テーブルを含む)を、保存先アプリに 1 件のデータとして保存します。 |
| ↩️ 保存時点に戻す | 保存したデータを選ぶと、レコードの上書き・削除・再登録をまとめて行い、アプリを保存した時点の状態に戻します。 |
ゲームの「セーブ」と「ロード」のように、好きなタイミングで状態を保存し、あとから選んで戻せます。
| kintone | kintone(cybozu.com)の各コース。プラグインが使えるコースが必要です。 |
|---|---|
| パソコン | kintone がサポートする Web ブラウザー(Microsoft Edge、Google Chrome など) |
| スマートフォン | kintone モバイルアプリ、またはスマートフォンの Web ブラウザー |
| 使える画面 | レコード一覧画面(表形式・カレンダー形式など) |
| 言葉 | 意味 |
|---|---|
| 対象アプリ | プラグインを追加し、ボタンを表示するアプリ。普段使っているアプリです。 |
| 保存先アプリ | 保存したデータをしまっておくためのアプリ。設定画面で指定します。 |
| 保存データ | 「データを保存」を 1 回押すごとに、保存先アプリに 1 件登録されるデータ。 |
| 保存名 | 保存データに付ける名前。戻すときに、どの時点のデータかを見分けるのに使います。 |
対象アプリのレコードを、別のアプリ(保存先アプリ)に「控え」として保存しておき、必要なときに書き戻します。
保存したときのレコードと今のレコードを、レコード番号で 1 件ずつ照らし合わせ、次の 3 つに分けて処理します。
| 状況 | 例 | 行うこと |
|---|---|---|
| 保存したときにも、今もある | 内容を書き換えたレコード | 保存したときの内容で上書き |
| 今だけある | 保存した後に追加したレコード | 削除 |
| 保存したときにだけある | 保存した後に削除したレコード | 再登録 |
上書き・削除・再登録は、kintone の一括処理の仕組みでまとめて実行します。途中で 1 件でも失敗した場合は、それまでの変更もすべて取り消されるため、「半分だけ戻った」という状態にはなりません。
導入は「kintone への読み込み」「アプリへの追加」「設定」の 3 段階です。
この作業には kintone システム管理者 の権限が必要です。kintone 全体で 1 回だけ行います。
kintone-data-save-restore-plugin_v1.0.0.zip を選んで読み込みます。この作業には、対象アプリの アプリ管理者 の権限が必要です。
プラグインの追加や設定の変更は、「アプリを更新」を押すまで利用者の画面に反映されません。
| 項目 | 説明 |
|---|---|
| 保存先アプリ 必須 | 保存データを登録するアプリ。「新しく作成する」か「既存のアプリを選ぶ」のどちらかで指定します(3.4 参照)。 |
| ボタンを表示するユーザー | ボタンを使える人を限定したい場合に、ログイン名を改行またはカンマで区切って入力します。空欄なら、アプリを開けるすべての人に表示されます。 |
| 表示する件数 | 「どの時点に戻しますか?」の画面に表示する保存データの数(新しい順)。1〜100 で指定します。初期値は 20 です。 |
設定画面の一番上には、プラグインの説明・使い方・注意事項が表示されます。入力が終わったら、画面の一番下の「保存」を押します。
保存先アプリは、次のどちらかの方法で用意します。1 つの保存先アプリを、複数の対象アプリで共用することもできます(保存データには、どのアプリのものかが記録されます)。
必要なフィールドがそろった保存先アプリを、設定画面から自動で作成します。
すでに保存先アプリがある場合は、一覧から選ぶか、アプリ ID を直接入力します。選ぶと、必要なフィールドがそろっているかが自動で確認されます。
| フィールドコード | フィールドの種類 |
|---|---|
| 保存名 | 文字列(1行) |
| 対象アプリID | 数値 |
| 件数 | 数値 |
| データ | 添付ファイル |
❌ が表示されている間は、設定を保存できません。対象アプリ自身を保存先にすることもできません。
その時点のすべてのレコードを、保存先アプリに保存します。
保存したデータを選び、アプリをその時点の状態に戻します。
「どの時点に戻しますか?」の画面と最後の確認画面では、「キャンセル」を押すと何も変更せずに閉じます。
| 対象 | 理由・補足 |
|---|---|
| 添付ファイル | ファイルそのものは保存の対象外です。 |
| 作成者・更新者・作成日時・更新日時 | kintone が自動で記録する項目のため、書き換えられません。戻した日時・戻した人で記録されます。 |
| プロセス管理のステータス・作業者 | 通常の項目とは別の仕組みで管理されています。 |
| コメント | レコードの項目とは別に管理されています。 |
| 計算・自動計算・ルックアップのコピー先 | 保存はしませんが、戻したときに自動で計算・取得し直されます。 |
| 項目 | 内容 |
|---|---|
| 一度に戻せる件数 | 上書き・削除・再登録を合わせて最大 2,000 件です(kintone の一括処理の上限:100 件 × 20 回)。超える場合は、確認画面の前にお知らせが表示され、何も変更されません。 |
| 保存できる件数 | レコード数が 10,000 件を超えるアプリでは保存できません(kintone のレコード取得の上限によります)。 |
| レコード番号 | 保存後に削除されたレコードは、新しいレコード番号で再登録されます。同じ保存データでもう一度戻すと、そのレコードは「削除して再登録」の扱いになります。 |
| テーブル(サブテーブル) | 行の内容は戻りますが、行は作り直されます(行 ID が変わります)。 |
| フィールドの変更 | 保存した後にフィールドを削除・変更すると、その保存データでは戻せなくなることがあります。失敗した場合、データは一切変更されません。 |
| 同時編集 | 戻す処理は、ほかの人の編集内容も確認なしで上書きします。 |
ボタンは誰にでも表示できますが(3.3 参照)、実際に操作できるかどうかは、操作する人の kintone のアクセス権によって決まります。
| 操作 | 対象アプリ | 保存先アプリ |
|---|---|---|
| 💾 データを保存 | レコードの閲覧 | レコードの追加 |
| ↩️ 保存時点に戻す | レコードの閲覧・追加・編集・削除 | レコードの閲覧 |
| プラグインの設定 | アプリ管理 | (新しく作成する場合)アプリの作成権限 |
レコード単位・フィールド単位のアクセス権で、見えないレコードや編集できない項目がある人は、保存・復元が正しく行えないことがあります。保存・復元は、アプリのすべてのレコードを操作できる人が行ってください。
設定画面の「ボタンを表示するユーザー」に、操作を許可する人のログイン名を入力してください。ほかの人にはボタンが表示されなくなります。
| メッセージ | 原因と対処 |
|---|---|
| 保存データがありません。先に「データを保存」を実行してください。 | このアプリの保存データがまだありません。先に 💾 ボタンで保存してください。 |
| レコード数が多すぎるため一括で戻せません(最大 2,000 件)。 | 上書き・削除・再登録の合計が上限を超えています。保存するレコードの数を減らしてください。 |
| 別のアプリの保存データです。 | 保存データの中身が、このアプリのものではありません。保存先アプリのレコードを手で編集していないか確認してください。 |
| 保存データのファイルが見つかりません。 | 保存先アプリの「データ」欄のファイルが削除されています。別の保存データを選んでください。 |
| エラーが発生しました(権限に関する内容) | アクセス権が足りません。第 7 章の権限を確認してください。 |
| エラーが発生しました(フィールドに関する内容) | 保存した後にフィールドが削除・変更された可能性があります。フィールドを元に戻すか、新しく保存し直してください。 |
どのエラーの場合も、データは変更されていません。
ブラウザーに古い情報が残っている可能性があります。Ctrl + F5 で画面を再読み込みしてください。スマートフォンではマウスを乗せる操作がないため、説明は表示されません。
どちらのボタンも、最初に確認の画面が出ます。「キャンセル」を押せば何も起きません。
保存データの数に上限はありません。ただし「どの時点に戻しますか?」に表示されるのは、設定した件数(初期値 20 件)までです。
使えます。kintone モバイルアプリでも、スマートフォンのブラウザーでも動きます。
保存するたびに、保存先アプリに次の内容のレコードが 1 件登録されます。
| フィールド | 種類 | 入る値 |
|---|---|---|
| 保存名 | 文字列(1行) | 保存するときに入力した名前 |
| 対象アプリID | 数値 | 保存元のアプリの ID。戻すときに、このアプリの保存データだけを表示するのに使います。 |
| 件数 | 数値 | 保存したレコードの件数 |
| データ | 添付ファイル | 全レコードの内容をまとめた JSON ファイル(例:snapshot_app3579_20261104T013000.json) |
保存先アプリのレコードは、手で編集しないでください。特に「データ」のファイルを差し替えたり、「対象アプリID」を変えたりすると、正しく戻せなくなります。
不要になった保存データは、保存先アプリでレコードごと削除できます。削除した保存データは、「どの時点に戻しますか?」に表示されなくなります。
以前、同じ機能を JavaScript ファイル(kintone-snapshot_by_CISATDept.js)で導入していたアプリでは、プラグインを追加したあとに次の作業を行ってください。
kintone-snapshot_by_CISATDept.js を削除し、「アプリを更新」を押します。保存先アプリと保存データは、プラグインでもそのまま使えます。設定画面で同じ保存先アプリを選んでください。