こんにちは。
リーデックス小川です。
2025年6月10日、プリザンターの最新版 ver.1.4.17.0 がリリースされました。
今回のアップデートでは、サイトパッケージ機能やサーバースクリプト機能の拡張など、便利な新機能が追加されています。
この記事では、新バージョンの注目ポイントとそのメリットを分かりやすく解説します。
- サイトパッケージインポート時のIDコンバート機能を追加
- サーバースクリプト拡張:context.ReferenceTypeプロパティの追加
- サーバースクリプト拡張:context.HttpMethodプロパティの追加
- アップデート時の注意事項(インストーラ&マージ機能を利用する場合)
- General.json
- NavigationMenus.json
サイトパッケージインポート時のIDコンバート機能を追加
サイトパッケージ機能(サイト構成をJSONファイルにエクスポート・インポートできる機能)において、組織・グループ・ユーザIDのコンバート機能が追加されました。
これまで、異なる環境にサイトパッケージをインポートする際、レコード内に保存された組織・グループ・ユーザ情報はインポート先のIDに自動変換されないという制限のため、インポート後に手作業でレコードの担当者や所属部署などを修正する必要があり、運用上の手間となっていました。
ver.1.4.17.0では、インポート時にレコード内の組織・グループ・ユーザ参照が自動でインポート先環境のIDに置き換わるようになりました。
例えば、テンプレートサイトに登録された「担当者」フィールド(ユーザ参照)や「所属部署」(組織参照)なども、インポート先環境の実際のユーザ・組織に正しくマッピングされます。
アクセス制御で設定した組織、グループ、ユーザの情報
| 種類 | 変換内容 |
|---|---|
| 組織 | 以下の番号順に変換処理を実施 1. 組織コードが一致する組織に変換 2. 組織名が一致する組織に変換 3. 上記1.2とも一致するレコードがない場合は「0」で登録 |
| グループ | グループ名が一致するグループに変換。一致するレコードがない場合は「0」で登録 |
| ユーザ | 以下の番号順に変換処理を実施 1. ログインIDが一致するユーザに変換 2. ユーザコードが一致するユーザに変換 3. ユーザ名が一致するユーザに変換 4. 1~3いずれも一致するレコードがない場合は「0」で登録 |
公式サイトより引用
レコードに登録した組織、グループ、ユーザの情報(公式サイトより引用)
| 種類 | 変換内容 |
|---|---|
| 組織 | テーブルのアクセス制御で指定した組織の情報を元に以下の番号順に変換処理を実施 1. 組織コードが一致する組織に変換 2. 組織名が一致する組織に変換 3. 1.2とも一致するレコードがない場合は「0」で登録 |
| グループ | テーブルのアクセス制御で指定したグループのグループ名と一致するグループに変換。一致するレコードがない場合は「0」で登録 |
| ユーザ | テーブルのアクセス制御で指定したユーザの情報を元に以下の番号順に変換処理を実施 1. ログインIDが一致するユーザに変換 2. ユーザコードが一致するユーザに変換 3. ユーザ名が一致するユーザに変換 4. 1~3いずれも一致するレコードがない場合は「0」で登録 |
公式サイトより引用
これにより、サイトパッケージを使った環境間のサイト複製が一段とスムーズになります。
テスト環境で作成した業務アプリを本番環境へ移行する場合も、煩雑な移行作業の大幅な工数削減が見込まれます。
使い慣れたサイト構成を別プロジェクトへ再利用する際のハードルが下がり、プリザンターの展開・運用がより効率的になります。
サーバースクリプト拡張:context.ReferenceTypeプロパティの追加
開発者向けの改善点として、サーバースクリプトのcontextオブジェクトに新たなプロパティが追加されました。
一つ目は context.ReferenceType プロパティです。
このプロパティを参照することで、現在操作しているテーブルの種別(種類)を簡単に取得できます。
具体的には、通常の記録テーブルの場合は"Results"、期限付きテーブル(期限管理を行う課題管理用途のテーブル)の場合は"Issues"という文字列が返されます。
従来、テーブル種別ごとにスクリプトの処理を変えたい場合は開発者自身で工夫が必要でしたが、context.ReferenceTypeを使えばスクリプト内でテーブルタイプを判別し条件分岐することが容易になります。
例えば、「期限付きテーブルの場合のみ締切日までの残り日数を自動計算する」といった処理も、コード中でこのプロパティをチェックすることで実現可能です。
テーブル種別ごとの差異をコード内で吸収できるため、スクリプトの汎用性が向上し、開発・保守コストの削減につながります。
サーバースクリプト拡張:context.HttpMethodプロパティの追加
サーバースクリプト関連のもう一つの新機能が context.HttpMethod プロパティの追加です。
こちらは、その名の通りリクエストのHTTPメソッド(Method)を取得できるプロパティで、GETやPOSTなど現在実行中のリクエストがどのメソッドで呼ばれたかを示します。
一般的な画面操作では内部的にPOSTリクエストでデータ登録・更新が行われますが、場合によってはGETリクエスト時とPOSTリクエスト時でスクリプトの挙動を変えたいケースもあります。
context.HttpMethodを活用すれば、サーバースクリプト内で「リクエストがGETかPOSTか」を判別し、それぞれ異なる処理を実装することが可能になります。
例えば、独自のAPI的なエンドポイントとしてサーバースクリプトを使い、HTTPメソッドによって処理を切り替えるといった高度な活用も考えられます。
GETリクエストではデータ取得のみ行い、POSTではデータ更新処理を走らせる、といったRESTfulな振る舞いを一つのスクリプトで実現できるでしょう。
また、不要な処理を避けたい場合に「画面初回表示(通常GET)ではスクリプトをスキップし、ユーザが保存ボタンを押した時(POST)にだけ実行する」といった細かな制御も可能になります。
なお、サーバスクリプトを使用した「いいね」機能をご提供しています。気になる方は下記記事をご参照ください。
アップデート時の注意事項(インストーラ&マージ機能を利用する場合)
インストーラまたはCodeDefinerのマージ機能を使ってPleasanterをアップデートする場合、設定ファイルの一部パラメータが初期値にリセットされます。
General.json(ユーザマニュアルやサポートサイトのURL設定など)や NavigationMenus.json(ヘルプメニューのリンク設定)の項目がデフォルト値に戻ります。
General.json
| パラメータ名 |
|---|
| HtmlApplicationBuildingGuideUrl |
| HtmlUserManualUrl |
| HtmlSupportUrl |
| HtmlTrialLicenseUrl |
| HtmlEnterpriseEditionUrl |
| HtmlCasesUrl |
NavigationMenus.json
下記MenuIdのUrlプロパティ
| パラメータ名 |
|---|
| HelpMenuContainer |
| HelpMenu_UserManual |
| HelpMenu_AnnualSupportService |
| HelpMenu_EnterpriseEdition |
| HelpMenu_Blog |
| HelpMenu_Contact |
| HelpMenu_Portal |
これらの値をカスタマイズしている場合、アップデート後に一度だけ手動で再設定する必要があります。
再設定は今回のみで、次回以降のバージョンアップではこの作業は不要となるため、最新バージョンで新機能を利用するためにぜひご対応ください。
まとめ
今回は、Pleasanter ver.1.4.17.0で追加された主な新機能と改善点をご紹介しました。
サイトパッケージ機能の強化による環境間移行の容易化や、サーバースクリプト機能の拡充による開発効率の向上などが見込まれますので、ぜひ最新バージョンへのアップデートを検討してみてください。
弊社では、プリザンターの認定トレーナーとしてトレーニングを実施しています。プリザンターの基礎から応用まで幅広いラインナップを取り揃えていますので、プリザンター初心者はもちろんのこと、効率よくスキルアップしたい方にもオススメです!詳しくはこちらにありますので、気になった方はぜひご覧ください。
それでは、今回はこの辺で。
最後までご覧いただき、ありがとうございました。