# ResoArc: 2製品の導入・移行・削除ガイド（text-normalizer RC10 0.1.4 / save-navigation RC9 0.1.3、2026-10-19）

**対象：** 入力文字自動整形 `text-normalizer`、保存後画面遷移 `save-navigation`

**配布区分：** 2026年10月19日にResoArc公式サイトで正式公開。署名ZIPと配布文書のハッシュを検証済みです。

## 署名ZIPと導入

- 入力文字自動整形：`resoarc-text-normalizer-mobile-v0.1.4-rc10-20261019.zip`
- 保存後画面遷移：`resoarc-save-navigation-mobile-v0.1.3-rc-20261018.zip`
- 2製品とも署名付きZIPを解凍せずに、kintoneシステム管理 → プラグイン → 読み込むから登録します。
- 利用するアプリの設定 → プラグイン → 追加で対象プラグインを選び、歯車設定後に**アプリの設定を更新**します。
- 必ず検証用アプリで導入・編集・保存・権限・他プラグインとの同居を確認してから業務アプリに反映してください。
- ZIPの名前・SHA-256・署名IDは同梱の `RELEASE_CANDIDATE_MANIFEST.json` を確認してください。RC3〜RC10の新シリーズ内で同一IDを引き継いでいます。旧α・β版は同一IDでの更新が確認されておらず、別途移行が必要です。

## 1. 入力文字自動整形

設定 `fields`：対象のフィールドコードをカンマ区切りで指定。例：`Title, CustomerName`。

設定 `mode`：`NFKC_TRIM`（既定）、`UPPER`、`LOWER`、`NFKC_TRIM_UPPER`。構成文字列に含まれる `NFKC`、`TRIM`、`UPPER`、`LOWER` の順に変換します。

- PCとブラウザースマホモードの新規保存・編集保存時に処理。
- 対象型は文字列（1行）、複数行文字列、リンク。数値・計算・読み取り専用値・配列型に加えて、`disabled: true` の編集不可文字列フィールドも変更しません。
- 空文字・null・フィールド未存在を安全に扱い、変換済み値は再変換しても同じです。
- **注意：** NFKCやTRIMにより文字が変わります。意図せぬ変換に備えて元データのバックアップを取得し、郵便番号や識別子など厳密な入力値への適用は事前確認してください。
- 保存失敗時にはこのプラグインは独自のAPI書込みをしません。kintoneの標準保存に従います。

## 2. 保存後画面遷移

設定 `target`：`list`（一覧、既定）、`create`（新規作成）、`stay`（遷移先URLを設定しない）、または**同一オリジンのHTTPS URL**。

- 新規保存・編集保存の**成功イベント**でのみ遷移先を設定します。保存拒否・通信障害・403/429では成功イベントは発生せず、強制遷移しません。
- 外部ドメイン、`javascript:`、非HTTPSの外部URLを遷移先として受理しません。
- ゲストスペースなど標準アプリとは異なるURL構造は未保証です。端末実機（Safari/Android独自エンジン）での動作は保証範囲に含めていません。
- 保存拒否後の編集内容・エラー表示はkintone標準仕様に従います。

## 3. 旧α・β版からの移行（重要）

**旧αβと今回の新シリーズはプラグインIDの同一性が確認されていません。旧版の上書き更新は禁止します。**

1. 移行前にアプリ設定画面、プラグイン設定値、既存データを控え、バックアップを取得します。
2. QA/検証用アプリに**新しいIDのプラグイン**を新規登録し、元の設定を手動で再入力します。
3. PCとスマホ表示の保存、異常系、プラグイン同居、対象フィールド範囲を検証します。
4. 業務アプリで旧版と新版の保存イベントが同時に有効にならないよう切り替え順を調整します。**旧版を解除または無効化してから、新版を有効にし、保存を検証**します。
5. 新版の安定稼働とバックアップ確認後に、旧版プラグインをシステム管理から削除します。ロールバックが必要なら旧版ZIP・設定・切替記録を利用します。

## 4. 無効化・削除

まず該当アプリの設定でプラグインを無効化/解除し、アプリ設定を更新します。必要に応じてシステム管理から削除します。文字自動整形によってすでに保存された値は、プラグイン削除だけでは元に戻りません。必ずデータバックアップから復旧してください。

## 5. 受入範囲と注意事項

- 検証：実kintoneアプリ58、PC、Edge/ChromiumのiPhone相当375px・Android相当412px、Chromium/Firefox/WebKitの模擬試験。
- 403試験は通信インターセプトによる再現であり、別の実権限ユーザーを用いた検証ではありません。
- 各製品について異常系・保存・設定保持・署名ZIP一致を根拠として保全しています。入力文字自動整形の新RC10は旧RC9とはコード差分があるため、RC10専用の差分検証記録を採用します。
- 外部ネットワークAPIや特権APIの追加実行はこの2製品の実装範囲にありません。
- 外部暗号化済み署名鍵バックアップの復元検証は実施済みですが、**PC喪失対策としての復旧鍵の別媒体預託は別途必要**です。
- 製品別の中央公開GO、VPS/Codeberg/Cloudflare Pagesへの反映、公開URLからのダウンロード・SHA-256照合が完了しています。
