1.4.16.0 の変更点
リリース日: 2025年5月13日。1.4.15.0 からの変更です。機能追加・仕様変更と不具合修正を分けて記載します。
機能追加・仕様変更
- データ入出力 — レコードのインポート機能に「作成者」、「更新者」、「作成日時」、「更新日時」をインポートする移行モードを利用できるようになった。
- API・拡張 — サーバスクリプトの条件に「一括削除前」、「一括削除後」を利用できるようになった。
- API・拡張 — サーバスクリプトに 「items.MaxDate」、「items.MinDate」関数を利用できるようになった。
- API・拡張 — 「作成」、「更新」、「作成・更新」のAPIで複数のプロセスを実行できるようになった。
- 実行環境・DB — CodeDefinerにデータベース更新の有無を確認できるようになった。
- 運用・設定 — バックグラウンドサービスでシステムログを一度に削除する件数を指定できるようになった。
- 利用者・権限 — Extensions APIの実行権限を特権ユーザのみとなるよう改めた。
- API・拡張 — テナントの管理画面でExtensions APIの利用可否を切り替える機能が加わった。
- API・拡張 — 拡張サーバスクリプトに「関数化」、「TryCatch」機能が加わった。
- 運用・設定 — KVSの接続文字列を環境変数から取得できるようになった。
- 画面・表示 — Ajax処理時にローディング画面を表示するようにUIを変更した。
- 利用者・権限 — テーブルの管理画面などのグループボックスのUIを変更した。
- 画面・表示 — 数値項目と日付項目のレイアウト・UIを見直した。
- 画面・表示 — 画面レイアウトの調整に関する仕様を更新した。
不具合修正
- その他 — SysLogsに出力されるErrStackTrace項目にさらに詳細なエラー情報を出力する機能を利用できるようになった。
- 利用者・権限 — サイト統合で統合元に参照権限のないサイトを含む場合に、統合元の全てのレコードが表示されない状態を修正。
- API・拡張 — サーバスクリプトと状況による制御で入力必須とした項目が添付ファイルのアップロード時に解除される不具合を修正。
- その他 — $p.getValue() で複数選択の分類項目の値を先頭の1つしか取得できない不具合を修正。
- 画面・表示 — モバイル端末で一覧をスクロールしても追加レコードの読み込みが行われない不具合を修正。
- 画面・表示 — 一覧のヘッダメニュー上でIMEを有効化するとヘッダメニューが閉じてしまう不具合を修正。
- 運用・設定 — Upsert、Bulkupsert 時のKeysパラメータのエラーチェックが適切でない不具合を修正。
- API・拡張 — Upsert APIでエラー時に返却されるステータスコードが適切でない不具合を修正。
- API・拡張 — 拡張計算式内で使用している項目の表示名を変更すると計算式の動作を修正。
- 実行環境・DB — 不適切な自動採番設定によりDBでAutoNumberingsへのINSERTが試行され続ける不具合を修正。
- 画面・表示 — 一覧画面での一括更新後に更新前のチェックの状態が残っている不具合を修正。
- データ入出力 — データを含めたサイトパッケージのインポートで内部エラーとなる不具合を修正。
- 画面・表示 — ビューの保存種別を「保存しない」にした場合にフィルタの検索が無効になる不具合を修正。
- データ入出力 — 日付項目の書式を「日付と曜日と時刻(秒)」としてエクスポートしたデータをインポートすると一部レコードで日付が設定されない不具合を修正。
- データ入出力 — 添付ファイル項目で「同名ファイルを上書きする」がオンの場合でも同名ファイルを複数登録できる不具合を修正。
- その他 — Wikiまたは存在しないサイトIDに対してリンクが設定されている場合にスマートデザインが表示されない状態を修正。
実装を読む
インポートで作成・更新の情報を移行する
移行モードでは作成者・更新者・作成日時・更新日時を取り込めます。サイト側の AllowMigrationMode が true で、取り込み時にも MigrationMode を指定した場合に適用します。片方だけでは有効になりません(ResultUtilities.cs)。
通常のインポートで現在の実行者・日時を保存する動作と、旧システムの情報を引き継ぐ動作を分ける設定です。画面、API、サーバスクリプトによる取り込みの経路で同じサイト側の許可を確認します。
API で複数のプロセスを指定する
期限付き・記録テーブルの API モデルに ProcessIds の配列が追加されました。単一の ProcessId と区別して複数の ID を受け取り、サイトに定義されたプロセスから対象を選びます(ResultApiModel.cs、ResultUtilities.cs)。
{
"ProcessIds": [1, 2]
}ソースはサイトに保存されたプロセスを抽出します。配列に書いた順序どおりに実行されると決めつけず、各プロセスの条件と設定も確認する必要があります。
一括削除の前後と日時の集計
サーバスクリプトの条件に BeforeBulkDelete と AfterBulkDelete が追加されました。単一レコードの削除条件と、一括削除全体の前後を分けて指定できます(ServerScript.cs)。
日時の集計には items.MaxDate() と items.MinDate() が加わりました。数値の集計と区別して、日時項目の最小・最大を扱う関数です(ServerScriptModelApiItems.cs)。
Extensions API の条件を変更する
この版から、認証済みの特権ユーザーであることと、テナントの AllowExtensionsApi が有効であることを確認します。テナント管理者であることだけでは実行できなくなりました(ExtensionsController.cs、ExtensionsController.cs)。
この条件は導入時の 1.4.13.0 と異なります。商用ライセンス、環境値、操作権限を含む確認結果は Web API 仕様書 を参照してください。
バックグラウンド処理の設定
システムログを削除する単位の DeleteSysLogsChunkSize が追加されました。既定値は 0 です。KVS の接続文字列の環境変数対応、CodeDefiner の DB 更新確認も、運用時に確認する変更です(BackgroundService.json)。