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

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

準備

移行元(旧版のR7/R8)

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

移行先(新版のR9)

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

Unlimited ライセンスご利用の場合

申請IDが埋め込まれた「初期リポジトリ」を repository/branches フォルダに上書きしてください。(Wagby販売パートナーより、お客様向けの初期リポジトリをお受け取りください。)

移行

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

図1 ファイルの選択

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

移行後に手動で行うこと

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

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

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

  • juser
  • jgroup
  • jnews

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

juser,jgroupモデルへの項目追加

R9より、初期リポジトリに含まれる juser モデルに「メールアドレス」「電子印影」項目が追加されました。また、jgroup モデルに「グループメールアドレス」項目を追加されました。R8からの移行時、これらは含まれていなくても動作しますが、R9の初期イメージと同じ状態とする場合は手動でこれらの項目を追加してください。(R9インストール直後のjuser,jgroupモデルの定義を参考にしてください。)

図2 juserモデル
図3 jgroupモデル

カスタマイズコード

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

R9で変更された仕様一覧

  • R9.1.0より標準のレイアウト方式が「CSSレイアウト」になりました。ただしリポジトリを移行する場合、移行元が「HTMLテーブルレイアウト」であれば、移行後も「HTMLテーブルレイアウト」となります。
  • レイアウト方式が「CSSレイアウト」のとき、テンプレートエンジンはJSPではなくThymeleafが利用されます。拡張子 ".jsp" のファイルは生成されません。
  • レイアウト方式が「CSSレイアウト」のとき、一覧表示テーブル等の角丸表示 (radius指定) は行われません。
  • レイアウト方式が「CSSレイアウト」のとき、一覧画面の「前へ」「次へ」「先頭へ」「最後へ」ボタンは非表示となりました。ページネーションと統合されます。
  • R9.1.0より標準のCSSテーマが "flat_navy" になりました。(R9.0.0からR9.0.4までは "flat_purple" です。)
  • 生成される jsp/html に含まれる id 属性と name 属性の命名ルールが変わっています。これまでは id/name 属性に "$" 文字を含めていましたが、R9は "$" を含めないようになりました。
  • SUMやCOUNT関数に条件部を記述するとき、ダブルクォーテーションはエスケープするようにしてください。(R7/R8まではエスケープが不要でした。)エスケープなしでも動作しますが、Designerがこの表記をエラーと判定します。エスケープすることでエラー判定されなくなります。
  • 繰り返しコンテナに含まれるモデル参照(参照連動含む)項目をソート対象とすることができます。DB保存あり/なし、いずれも動作します。

その他、仕様変更の詳細は各バージョンに用意される変更履歴の "SPC" ではじまる内容をご確認ください。

トラブルシューティング

juserモデル

移行後のフルビルドで次のエラーが生じる場合があります。

[ERROR] モデル 'juser' の項目 'rule/rid' は、繰り返しコンテナ外に定義されたコンテナ項目です。
[ERROR] モデル 'juser' の項目 'rule/ipaddress' は、繰り返しコンテナ外に定義されたコンテナ項目です。

移行処理で「電子印影」「アバター画像」項目を挿入する処理があるのですが、一部のjuserモデルでその挿入処理が失敗することがあります。この場合、Designerで項目の位置を移動させてください。

次の例は「電子印影」項目が繰り返しコンテナの間に挿入されています。この位置を変更し、繰り返しコンテナの設定がまとまるようにします。

問題のあるjuserモデル
項目並びを修正したjuserモデル