R9.2.0への移行

最終更新日: 2023年3月28日

Javaのバージョン

R9.2.0より、対応するJavaは11以降、となりました。(R9.0.0〜R9.1.xまでは Java 8 から Java 15 まで、となっています。)

R9.2.0へ以降する場合は、これまでJava8を使っていた環境では、Java11以降に変更してください。

Java 17 以降で動作する(サーバサイドの)スクリプトエンジン

Java 8 と互換性のある Nashorn を同梱しています。これまでのスクリプトはそのまま利用できます。

リポジトリ

ラジオボタン・チェックボックスの折り返し数

検索画面にラジオボタン・チェックボックスの折り返し数を指定できるようになりました。移行時、この値は「空白」となっています。

登録更新画面の折り返し数設定は自動的に設定されないため、手動で設定してください。

システムリポジトリの修正

保留フロー状態

ワークフローの申請状況欄で juserのname項目を表示させるため、「保留フロー状態(jfcsuspendworkstate)」モデルに「申請者名(createuserName)」項目を追加しました。

この項目は、連動する項目名に「申請者(createuser)」項目を指定した参照連動項目で、参照先モデル項目は juser の「名前(name)」項目となっています。
DB保存項目ではないため、R9.1.x までのテーブル定義はそのまま利用できます。

ワークフローの申請状況表示用のコントローラクラスで、上記「申請者名」項目を name 属性として保存するようにしました。juser の「名前(name)」が空文字の場合は、アカウントを設定するようにしています。ワークフローポートレットの JavaScript の変更はありません。

「保留フロー状態(jfcsuspendworkstate)」モデルを修正している場合

「保留フロー状態(jfcsuspendworkstate)」モデルに項目追加など、修正を行っている場合、R9.2.0 へ移行すると初期リポジトリが使われるため、これまでの修正が反映されません。つまりR9.0.0からR9.1.xまでの保留フロー状態モデルに開発者が独自にカスタマイズした内容は移行されません。移行後に再度、同じ修正を保留フロー状態モデルに適用してください。

旧方式 (juserのuserid表記) に戻す場合

ワークフローポートレットでこれまで通りアカウントを表示したい場合は、ポートレットの JavaScript を直接、修正し、nameではなくuseridを使うようにしてください。

カスタマイズコードの修正

commons-lang.jar同梱の廃止

commons-lang.jarは同梱せず、commons-lang3.jarに一本化しました。カスタマイズコードで "org.apache.commons.lang." を使っている箇所はすべて "org.apache.commons.lang3." へ変更してください。

commons-httpclient.jar同梱の廃止

Commons httpclient は開発が終了しており、発見された既知の脆弱性も修正されないことから、Wagby への同梱を行わないこととしました。代わって Apache HttpComponent を同梱します。

カスタマイズコード (スクリプト含む) で同ライブラリを使っている場合は、手動で同ライブラリを組み込むか、または Apache HttpComponent に対応するコードへ書き換えてください。

重要

この対応を行わないと、ビルド時にコンパイルエラーになります。(スクリプトの場合、実行時にエラーになります。)

設定ファイルの変更

Tomcat 設定ファイル server.xml

R9.2.0 よりTomcatのパラメータ maxHttpHeaderSize, maxParameterCount, maxPostSize を Designer で設定できるようになりました。

これらのパラメータをカスタマイズによって手動修正し customize フォルダに保存していた場合、Designerの設定に切り替えることで customize フォルダによる管理を行わない運用とすることができます。

ワークフロー設定ファイル flowPattern_template.vm

R9.2.0より .vm ファイルを変換するテンプレートエンジン Velocity が1系から2系にバージョンアップしました。

R9.0.x および R9.1.x からの移行時はフルビルドした wagbyapp を本番環境に転送するため、問題はありません。

もしワークフロー実行時に何らかのエラーが生じた場合、念のため WEB-INF/workflow-definitions 以下の xml ファイルを手動で削除し、wagbyapp を再起動してください。再起動のタイミングで flowPattern_template.vm からフローパターンファイル (xml) が再作成されます。

css-dependency.properiesの廃止

ブラウザの差異を吸収する仕組み css-dependency.properties を廃止しました。カスタマイズして利用していた場合、その修正を mycommon.css などへ反映させるようにしてください。

Wagby Desinger

  • application.propertiesの次のキー名が(R9.1.xまでの版から)変更になりました。
    • server.servlet-path は spring.mvc.servlet.path へ。
    • server.session.timeout は server.servlet.session.timeout へ。
    • server.session.tracking-modes は server.servlet.session.tracking-modes へ。

Hibernateバージョンアップの影響

Hibernateが5.6.5 Finalに変わりました。

  • R9.1.xまで DEPRECATION の WARNログが出力されることがありましたが、このログが抑制されます。
  • データベースの種類に "PostgreSQL 10 and later" を追加しました。内部では PostgreSQL10Dialectを利用します。
  • データベースの種類に "SQLServer 2016 and later" を追加しました。内部では SQLServer2016Dialectを利用します。
  • データベースに MySQL を利用している場合、日付時刻型が datetime から datetime(6) になります。ただし Wagby は日付時間型は秒までを扱い、ミリ秒以下は 0 としていたため、この変更による影響は生じません。これからもミリ秒精度の値が格納される変更は行いません。

Springについての補足

Wagbyアプリケーション

  • Spring framework 5.3 の標準では「サフィックスマッチ」機能は無効ですが、Wagbyは旧版との互換性維持のため URL の末尾に ".do" を付与しているため、サフィックスマッチを有効にしています。

Tomcat起動オプション

Java11以降の版で wagbyapp を起動したとき、Wagbyが内部で利用しているキャッシュライブラリ ehcache がログに "Failed to attach to VM and load the agent: class java.io.IOException: Can not attach to current VM" を出力します。

これは ehcache が内部で利用するサイズ計算モジュールの読み込みができなかったことを示すメッセージですが、この場合は別のモジュールが利用されるため動作に影響はありません。

このメッセージ出力を抑制したい場合は、Tomcat起動オプションに次を含めてください。

-Djdk.attach.allowAttachSelf=true
起動オプションへの追加設定
R9.2.1以降の初期リポジトリでは、この設定を標準で含めています。旧版からバージョンアップされた場合は手動で付与してください。