1.5.1.0 の変更点
リリース日: 2026年2月10日。1.5.0.0 からの変更です。機能追加・仕様変更と不具合修正を分けて記載します。
機能追加・仕様変更
- 通知・メール — SMTPクライアントのOAuth認証機能が加わった。
- 利用者・権限 — パスキー認証によるログイン機能が加わった。
- 通知・メール — 通知、リマインダーの送信先にLINE WORKSを利用できるようになった。
- データ入出力 — 多言語ラベルのインポート/エクスポート機能が加わった。
- 画面・表示 — 検索ダイアログでダブルクリックにより選択肢を有効化/無効化できるようになった。
- その他 — プロセスを無効にできるようになった。
- 画面・表示 — スマートデザインの一覧設定画面にセルの詳細設定を利用できるようになった。
不具合修正
- API・拡張 — サーバスクリプト計算式(拡張)の実行時エラーを取得する機能を利用できるようになった。
- その他 — マークダウン表示の「内容」/「説明」項目が読み取り専用時に、Tab移動で誤って編集可能になる不具合を修正。
- その他 — $p.events.on_editor_loadで説明項目への$p.set()が失敗する不具合を修正。
- その他 — 第1世代インターフェースで項目の多言語設定が編集できない不具合を修正。
- その他 — 数値項目の書式を通貨に設定した際に入力検証とデータ登録が正しく行えない不具合を修正。
- 実行環境・DB — CodeDefinerのTimeZoneConvert機能の不具合を修正。
- その他 — 実行サーバのロケール設定によってクロス集計でエラーとなる不具合を修正。
- 画面・表示 — 一覧画面の項目設定と「ビュー」の一覧項目設定が同じ場合に、一覧画面の項目設定を変更すると「ビュー」側の設定も変更されてしまう不具合を修正。
- 画面・表示 — 「検索機能を使う」を有効化した分類項目の検索ダイアログで検索時にエラーとなる場合がある不具合を修正。
- データ入出力 — レコードのインポートで、既定値が設定されている項目に既定値と同じ値がインポートできない不具合を修正。
- 利用者・権限 — 添付ファイル項目にアクセス制御が設定されたレコードを参照コピーする際に権限エラーとなる不具合を修正。
実装を読む
1.5.0.0 との差分を確認しています。メール認証・ログイン認証・通知先を拡張し、サイトの多言語設定やスマートデザインの編集操作を増やした版です。
| 機能 | 主な設定・データ | 既定・適用条件 |
|---|---|---|
| SMTP OAuth | Mail.json の UseOAuth | 既定は false |
| パスキー | Authentication.json の PasskeyParameters | 既定は無効。公開ドメインと Origin を設定 |
| LINE WORKS 通知 | 通知・リマインダーの送信先 | Webhook URL に JSON を送る |
| 多言語ラベルの入出力 | CSV と MultilingualLabelText | ラベル・説明・入力ガイドを扱う |
| プロセスの無効化 | Process.Disabled | true の定義を実行対象から除外 |
SMTP の OAuth 認証
SMTP のパスワード認証に加え、アクセストークンで認証する経路が追加されました。UseOAuth が true のときは SaslMechanismOAuth2 を使い、それ以外は従来のユーザー名・パスワードによる認証を行います。SMTP の接続先・ポート・TLS 設定は引き続き必要です(Smtp.cs)。
{
"UseOAuth": true,
"SmtpUserName": "mailer@example.com",
"OAuthClientId": "sample-client-id",
"OAuthClientSecret": "sample-client-secret",
"OAuthScope": "sample-scope",
"OAuthGrantType": "client_credentials",
"OAuthTokenEndpoint": "https://id.example.com/oauth/token",
"OAuthDefaultExpiresIn": 3600,
"OAuthTokenRefreshBufferTime": 300
}接続先に合わせて例の各値を置き換えます。トークン取得処理は client_id・client_secret・scope・grant_type をフォームとしてトークンエンドポイントへ POST します。OAuth の 5 つの接続設定が不足している場合や、エンドポイントが HTTP / HTTPS の絶対 URL でない場合は設定エラーになります(Smtp.cs、Smtp.cs)。
取得したトークンはセッション領域に保存して再利用します。応答に expires_in がなければ既定の 3,600 秒を使い、有効期限までの残りが OAuthTokenRefreshBufferTime(既定 300 秒)以下になったら取り直します。送信のたびに必ずトークンを取得する仕組みではありません(Smtp.cs、Mail.json)。
パスキーによるログイン
Authentication.json に PasskeyParameters が追加されました。配布時は無効で、ドメインと Origin はローカル開発用の値です。公開環境では利用者がアクセスするドメイン・Origin に合わせます(Authentication.json)。
{
"PasskeyParameters": {
"Enabled": true,
"ServerName": "Pleasanter",
"ServerDomain": "pleasanter.example.com",
"Origins": ["https://pleasanter.example.com"]
}
}Passkeys テーブルが新設され、ユーザー ID、資格情報の ID、パスキーのデータ、表示タイトルを保存します。パスキーの管理画面と認証処理のコントローラも追加されています。パラメータの追加だけでなく、CodeDefiner による新しいテーブルの反映が必要な変更です(Passkeys_UserId.json、PasskeysController.cs)。
保存する PasskeyData には PublicKey(公開鍵)、SignCount(署名カウンタ)、認証器の通信方法、バックアップ状態などが含まれます。ユーザーのパスワードを別形式で保存する機能ではなく、パスキーの資格情報をユーザーに関連付ける実装です(PasskeyData.cs)。
後続版ではパスキー関連の修正があります。二段階認証との併用は 1.5.3.0、サブディレクトリを含む URL は 1.5.6.0 の修正内容も確認してください。
LINE WORKS へ通知・リマインダーを送る
通知先に LINE WORKS が追加されました。送信処理は、設定した宛先を Webhook URL として扱い、title と body.text を持つ JSON を送ります。宛先にカンマ区切りで複数の URL を指定すると、それぞれに送信します(LineWorks.cs)。
本文の先頭が HTTP / HTTPS の URL で始まる場合は、その URL を開く「詳細を見る」ボタンも JSON に含めます。タブ文字は 4 個の空白へ置き換えられます。送信はタスクで実行され、失敗した場合は SysLogs に例外が記録されます(LineWorks.cs、LineWorks.cs)。
多言語ラベルを CSV で編集する
多言語ラベルのエクスポートは、ColumnName,Attributes を先頭列とし、その後ろに ja,en,zh,de,ko,es,vn の言語列を並べる CSV です。Attributes には LabelText(表示名)、Description(説明)、InputGuide(入力ガイド)を使います。通常のレコードのインポートとは別に、項目の表示設定を一括で扱えます(MultilingualLabelExportImport.cs、MultilingualLabelExportImport.cs)。
ColumnName,Attributes,ja,en,zh,de,ko,es,vn
ClassA,LabelText,分類,Category,,,,,
ClassA,InputGuide,分類を選択してください,Select a category,,,,,エクスポート対象は多言語ラベルが設定されている項目です。インポートでは言語列を認識して MultilingualLabelText に反映します。存在しない項目は警告の対象になります(MultilingualLabelExportImport.cs)。
プロセスの無効化と画面の編集操作
プロセスに Disabled が追加され、SiteSettings.GetProcesses() が無効な定義を除外するようになりました。1.5.0.0 の計算式・状況による制御と同様に、定義を残したまま停止できます(Process.cs、SiteSettings.cs)。
検索ダイアログでは選択肢のダブルクリックで有効・無効を切り替えられるようになり、スマートデザインでは一覧のセルの詳細設定を編集できるようになりました。前者は選択操作、後者は一覧表示の設計操作の追加です。