R9.0.0/R9.0.1への移行

最終更新日: 2022年12月28日

Log4j 1系から2系への変更

R7/R8 ではログ出力ライブラリは Log4j 1系を用いていました。R9 から、これが Log4j 2系に変わりました。

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

以下の内容に従って、カスタマイズコードを修正してください。

R7/R8まで生成されたコード

import org.apache.log4j.Logger;

Logger logger =
Logger.getLogger(XX.class.getName());

R9で生成されたコード

import org.apache.logging.log4j.*;

Logger logger =
LogManager.getLogger(XX.class.getName());

なお、logger オブジェクトの使い方 (API) は互換性があるため、これまでのカスタマイズコードを再利用できます。import 文および logger オブジェクトの生成に関するコードが変わります。

設定ファイル

設定ファイルは log4j.properties から log4j2.xml に変わりました。WEB-INF/classes/log4j2.xml となっています。

<Loggers>
    <Root level="info">
      <AppenderRef ref="C"/>
      <AppenderRef ref="F"/>
    </Root>
    <Logger name="jp.jasminesoft.jfc.job.JFCBaseJobBean" level="DEBUG">
      <AppenderRef ref="C"/>
      <AppenderRef ref="F"/>
    </Logger>
…

設定ファイルの詳細な記述方法は割愛します。Log4j2 のマニュアルあるいは各種の解説記事をお読みください。

HTML/JSP/JavaScript

モデルID、項目IDへの予約語の追加

自動生成される HTML/JSP/JavaScript において id と name 属性の生成ルールが変更されました。

元の文字 R8 R9
/ $002f _002f
[ $005b _005b
] $005d _005d
@ $0040 _0040

例えば R7/R8 で次のような表記だった場合:

juser_p$002fjgroupid$005b1$005d$002f$0040id

R9 では次のようになります。

juser_p_002fjgroupid_005b1_005d_002f_0040id

このため、次の影響があります。

  • モデルIDと項目IDに "_0040", "_002f", "_005b", "_005d" を含めることはできません。これらの文字列は予約語扱いとなります。
  • 開発者が HTML/JSP/JavaScript ファイルをカスタマイズしている場合は、上記の対応を行ってください。
※ R9.0.2より、旧リポジトリを読み込んだ時の移行処理後、ログファイル (wagbydesigner/logs/system.log) にこれらの予約語が含まれていた場合はエラーメッセージが出力されるようになりました。

標準で同梱される画面がjspからhtmlへ

R9.0.0より、いくつかのjspとして提供されていたファイルがhtmlに変わっています。このhtmlにはThymeleafという技術が使われています。

例えば「パスワード変更画面」は次のようになりました。

R7/R8
wagbyapp/webapps/<プロジェクト識別子>/juser/changeJuserPassword.jsp
R9
wagbyapp/webapps/<プロジェクト識別子>/WEB-INF/classes/templates/juser/changeJuserPassword.html

ポートレット

上の説明「モデルID、項目IDへの予約語の追加」に関連して、次のポートレットの修正を行ってください。

お知らせポートレット

パラメータ名jnews_cp$002flimitdate1jshparamを、jnews_cp_002flimitdate1jshparamとしてください。

日付絞り込みへの影響

この対応を行わないと、期限の過ぎた「お知らせ」がすべて表示されます。

REST API 呼び出し

外部から Wagby の REST API を呼び出すとき、リクエストパラメータ形式を利用している場合は上と同様に表記部分の置換を行ってください。

なお、Wagby の REST API を JSON 形式のパラメータでやりとりしている場合、上記の対応は不要です。

R9.0.0からR9.0.1へ移行する場合の手動対応

R9.0.0からR9.0.1へバージョンアップした場合、次の対応を行ってください。

  • システムモデル「保留フロー状態(jfcsuspendworkstate)」の「画面 > その他 > 表示スタイル」を "HTMLテーブル" に変更する。