1.1.12.0 の変更点(.NET Core)
ソース基準日: 2021年1月7日(版を示すソースコミットの日付)。1.1.11.0 からの変更です。
機能追加・仕様変更
- API・拡張 — サーバースクリプト実行タイミングを追加した。
- 画面・表示 — ごみ箱に移動したマスタデータのタイトルをリンク項目に表示できるようになった。
- その他 — テキストエリアのビュワー切替方式に自動/手動/無効を利用できるようになった。
- 運用・設定 — レコード更新時に項目を個別に更新するパラメータスイッチを利用できるようになった。
- その他 — 拡張SQLにExtensionWhereの条件判定機能が加わった。
- 運用・設定 — サーバスクリプトに編集画面の項目の非表示を設定するパラメータを利用できるようになった。
- 運用・設定 — サーバスクリプトに一覧画面のセルの表示の置き換えを設定するパラメータを利用できるようになった。
- API・拡張 — サーバスクリプトにタイムアウト、再帰呼出制限を利用できるようになった。
- 運用・設定 — サーバスクリプトに編集画面のフィールドCSSを設定するパラメータを利用できるようになった。
- 運用・設定 — サーバスクリプトに拡張HTMLを設定するパラメータを利用できるようになった。
- 運用・設定 — サーバスクリプトにcontextでパラメータで渡される値を利用できるようになった。
- 運用・設定 — サーバスクリプトにロックを設定するパラメータを利用できるようになった。
- API・拡張 — サーバスクリプトにAPI(Insert/Update/Delete/BulkDelete)相当の機能が加わった。
- 運用・設定 — 項目単位にフルテキストの種類を設定可能とできるようになった。
- API・拡張 — サーバスクリプトに他のレコードから情報を取得できるようになった。
不具合修正
- 画面・表示 — 項目連携機能が正しく動作しない不具合を修正した。
- 画面・表示 — 日付の範囲指定ダイアログのカレンダーが画面左上に表示される不具合を修正した。
- 画面・表示 — Ajax実行中にページ遷移されるとAjaxエラーのアラートが表示される不具合を修正した。
- その他 — Wikiをリンクさせた際にソートが正常に動かない事象を修正した。
- 画面・表示 — 一覧画面にてスペースキーのみで検索を行うとアプリケーションエラーとなる事象を修正した。
- 画面・表示 — リンク先のタイトルにカンマが含まれる場合にタイトルが正しく表示できない不具合を修正した。
- 運用・設定 — 新規作成時に読み取り専用及び単位を設定した数値項目が正しく反映しない不具合を修正した。
- 利用者・権限 — 認証されていないajaxリクエストに対してエラーメッセージが正しく表示されない問題を解消。・に関する動作を修正した。
- 運用・設定 — 旧型式APIが旧型式APIとして正しいContentTypeが設定されない不具合を修正した。
実装を読む
作成・更新・削除の前後に実行する
既存の画面・ビュー・計算式・設定読み込みに加えて、レコード操作の前後を指定する6つのフラグが追加されています(ServerScript.cs)。
| 操作 | 実行前 | 実行後 |
|---|---|---|
| 作成 | BeforeCreate | AfterCreate |
| 更新 | BeforeUpdate | AfterUpdate |
| 削除 | BeforeDelete | AfterDelete |
実行時間の上限を設定する
Script.json の ServerScriptTimeOut は初期値 2000 で、単位はミリ秒です。モデル作成時に期限を算出し、継続判定では現在時刻と比較します。値が 0 の場合は期限を DateTime.MaxValue に設定します(Script.json、ServerScriptModel.cs、ServerScriptModel.cs)。
{
"ServerScript": true,
"ServerScriptTimeOut": 2000
}初期値を示した設定例です。後の 1.1.25.0 では初期値が変更されます。
実行中のリクエスト情報とレコード操作
context にフォーム文字列、Ajax・モバイルの判定、URL、コントローラ、アクション、API要求本文などを保持します。また、スクリプトモデルに Items を保持するようになっています。レコード値を保持する C# のフィールド名は Data から Model に変わりました(ServerScriptModel.cs、ServerScriptModel.cs、ServerScriptModel.cs)。
入力と表示の切り替え方式
ViewerSwitchingType は Auto = 1、Manual = 2、Disabled = 3 の3種類です。General.json の初期値は 1 で、項目側に指定がなければ全体の設定を採用します(Column.cs、General.json、SiteSettings.cs)。
フルテキストへ含める値を項目ごとに選ぶ
項目の FullTextType は、含めない None = 0、表示名 DisplayName = 1、保存値 Value = 2、両方 ValueAndDisplayName = 3 の4種類です。未指定の場合は、項目の定義から初期値を採用します。表示名と保存値が異なる選択肢で、どちらを検索対象に含めるかを区別できます(Column.cs、SiteSettings.cs)。
ソース上の版番号
Web アプリのパッケージ用 Version は 1.1.6.0 です。AssemblyVersion と FileVersion は 1.1.12.0 なので、この記事は後者と対象コミットを基準にしています(Implem.Pleasanter.NetCore.csproj、Implem.Pleasanter.csproj)。