R7リポジトリからR8への移行

最終更新日: 2022年8月15日

準備

移行元(旧版のR7)

Designerの運用タブから、zip 形式のリポジトリとして「バックアップ」してください。このファイルをR8で読み込ませることで、自動的に移行処理が行われます。

移行先(新版のR8)

初期リポジトリの状態に戻しておきます。

移行

運用メニューの「アップロード」欄から「ファイル選択」ボタンを開きます。ファイルダイアログが表示されるので、読み込むリポジトリファイル(通常は "wrb_" で始まる、zip 形式ファイル)を指定します。R7のDesignerでバックアップしたファイルを指定します。

図1 ファイルの選択

ファイル選択後、「アップロード」ボタンを押下します。このとき、旧 R7 のリポジトリを、新しい R8 のリポジトリに移行される処理が自動的に適用されます。

移行のルール

移行ツールは次のルールに従って変換します。

  • R7.0.xのアカウントモデル(juser)の主キー項目idは廃止されます。代わってuserid項目が主キーとなります。
  • リポジトリの「値」部分は日本語表記から英語表記に変更になりました。そのため、移行後のリポジトリはキーは同じでも値部分が変わっています。
  • Excel帳票で、利用ライブラリ "JExcelAPI" は廃止されました。R6/R7からの移行後はすべて "POI" を利用するようになります。
  • スマートフォン対応で、携帯電話対応は廃止されました。"スマートフォン" に統一されます。
  • スマートフォン対応で、軽量フレームワーク iUI は廃止されました。"スマートフォン" に統一されます。
  • システムタブ内のモデルは移行対象ではなく、この版に同梱されているものを使うようになりました。ただし juser, jgroup, jnews, jfcstartworkstate, jfcsuspendworkstate を除きます。この5つのモデルは開発者が変更した定義が移行されます。

外部データベースの移行

R8 では外部データベースの指定がデータベースのバージョン毎に細かく指定できるようになりました。R7から移行したとき、次のようになります。移行後は必要に応じてデータベースの設定を変更してください。

  • PostgreSQL は "PostgreSQL 8.2" という設定になります。
  • Oracle は "Oracle 9i" という設定になります。
  • SQLServer は "SQLServer 2005" という設定になります。

移行後に手動で行うこと

移行がスキップされるモデル

「システム」タブに含まれているモデルは、旧版からの移行ではなく、新版に含まれているものを使います。すなわち、移行ツールの対象外になります。

ただし以下のモデルは除きます。すなわち開発者が変更した定義が(移行後も)引き継がれます。

  • juser
  • jgroup
  • jnews
  • jfcstartworkstate
  • jfcsuspendworkstate

上記以外のシステム系モデルを修正していた場合(例:メニュー体系を変更した)、手動で同じ修正を適用してください。

LDAP/ActiveDirectoryの設定

R7で利用していたLDAP/ActiveDirectoryの設定は廃止されました。R8方式の記載にあわせて再設定を行なってください。

カスタマイズコード

移行ツールでは、カスタマイズしたコード(Java,JSP,JavaScriptなど)は扱いません。 これらのファイルは開発者が手動で最新のR8向けコードに修正してください。[詳細...]

コードの修正方法の詳細は、Wagby販売パートナーへお問い合わせください。

データ移行

Wagbyが同梱しているシステムモデルの定義が変わっています。そのため既存のデータのバックアップを取得後、テーブルをいったん削除し、再作成を行なったあと、データのインポートを行なってください。

以下のモデルについては物理カラム名が変わったため、SQL文を使って手動対応を行なってください。

  • システムモデル jfcpreferenceitem, jfccspreferenceitem テーブル の key という項目。共通設定機能を利用していない場合は移行不要です。
  • システムモデル jfcworkflow_setting の繰り返しコンテナに対応したテーブル script_setting の condition という項目。ワークフローを使っていない、もしくはスクリプトによる制御を行なっていない場合は移行不要です。
コマンドラインツール InitLoader.jar でインポートを行うとよいでしょう。移行処理でエラーが発生した場合はサポートへお問い合わせください。

SQLServer 2012 以降の対応

SQLServer 2012 以降で順序を利用したとき、SQLServer が提供する SEQUENCE を利用できるようにしました。R7まではWagbyが独自に提供する順序テーブル (seq) を用いていました。

このとき、順序の開始値は手動で設定する必要があります。R7まで用意されていた seq モデル内に、モデル毎の最終順序値が記録されています。この値を使って、SQLServer データベースに直接、順序の開始値を設定してください。この対応は R7 からの移行時の最初だけ必要です。

注意

過去の互換性から、SQL Server が提供する SEQUENCE を使わず、これまで R7 で使われてきた seq テーブルを使った順序の管理を行いたいという場合は、データベースの選択肢を "SQLServer 2008" としてご利用ください。

CASからSpringSecurityへの移行

R8 では認証モジュールが CAS から Spring Security に変わりました。外部認証サーバの再設定を行ってください。

設定の注意点は次のとおりです。

  • 「ユーザ情報のDN」で、CAS でuid=%uと指定していた箇所は、Spring Security では uid={0} と記述します。

変更された仕様

R8.3.1までの移行ツール利用時の注意点8.3.2

R8.3.1までの移行ツールでは、R7のリポジトリキーが存在しない場合 (*) に、正しく移行されないものがあることがわかりました。R8.3.2でこの不具合が修正されました。

通常、R7ではすべてのリポジトリキーは存在します。ただし古いバージョンのR7からすぐにR8へ移行する、もしくはR7を段階的にバージョンアップしていた過程で、このようなケースが発生する可能性がありました。

すでにR7からR8へ移行済みだが、念のため正しく移行されないリポジトリがあるかどうかを確認する手順を示します。

  1. 元の(R7の)リポジトリを使って、R8.3.2以降に含まれる移行ツールで移行処理を行う。
  2. 移行後のログファイルを確認する。"set 値 key リポジトリキー modelId モデルID" という出力があった場合、このリポジトリキーの移行に問題があった可能性がある。現行のR8でその設定を確認し、R7と異なっていた場合、Desingerを使って手動で修正する。

問題のみつかったリポジトリキー

キー名 Designerの設定 Designerでの対応方法
action/updatelist/@use_copy_at_parent_model_copy 親モデルのコピー時に子モデルもコピーする チェックボックスを解除し、再度チェックする。