R6からR8/R9への移行

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

準備

移行元(R6)

定義ファイル

  1. はじめに現在の Wagby R6 の定義ファイルを R6 系の最新版である R6.10 系へアップグレードします。
  2. その後、Wagby R6 でビルド処理を行います。この、最後にビルドされた状態が移行の対象になります。(xls-modelフォルダに定義ファイルがあり、かつ、この定義ファイルを用いてR6環境で最後にビルドを行った状態としてください。)

データ

システム管理者で(現在稼働中の)Wagbyアプリケーションにログオンします。インポートエクスポート機能を使って現在のデータをすべて「エクスポート」します。

またはWagbyアプリケーションを起動せず、コマンドラインツール InitLoader.jar を使ってエクスポートすることもできます。

R6自体のバージョンアップ

R6.10系より前のR6定義ファイルからR8/R9へ移行することは公式サポートの対象外となります。

移行先(R8/R9)

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

重要

(1) R6データのエクスポートは必ず行なってください。このあとの手順で旧データを利用します。
(2) 移行後にR6のモデル定義ファイル(Excel)を変更した場合、再びR6でビルド処理を行ってから、R8/R9に同梱されている移行ツールを適用してください。

移行ツールの使い方

  1. 移行元の Wagby (R6) のフォルダと、移行先の Wagby (R8/R9) のフォルダがそれぞれ用意されているもの、とします。
  2. コマンドプロンプトを開きます。
  3. Wagbyをインストールしたフォルダのmiscに移動します。
    miscフォルダへ移動
  4. 次のコマンドを実行します。
    java -jar RepositoryMigrationCUI.jar 6to9 ..\..\Wagby-6.10.U11

    R9への移行の場合、コマンドの第一引数は "6to9" とします。R8へ移行する場合は "6to8" としてください。第二引数は、移行元となる Wagby のフォルダを指定します。上の例では R9 インストールフォルダの misc フォルダの位置から相対パスで R6.10.U11 を指定しています。適切に読み替えてください。

作業ログ

コマンド実行後、miscフォルダ直下にlogs/repositorymigration.logファイルが生成されます。この内容をご確認ください。

移行のルール

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

  • R6のマスタモデルは、R8の選択肢モデルとなります。
  • R6の簡易計算式(時間の差、生年月日、パディング)はすべて関数を使った式に置換されます。動作は同じです。
  • R6の「固定値」という型はR8では廃止されました。代わって「初期値」に式が設定されます。
  • R6の「モデル参照 - 複数の項目を連結して表示する」機能は廃止されました。式を使って同様のことを行ってください。
  • R6のカレンダビューではタイトル、場所、担当者、備考は複数の項目を指定することができました。しかしR8では1設定=1項目となります。式を使って同様のことを行ってください。
  • R6の「(固定)メール設定」はすべて「メールテンプレート」方式に変更されました。
  • R6の「(固定)帳票設定」はすべて「帳票テンプレート」方式に変更されました。
  • R6のアカウントモデル(juser)の主キー項目idは廃止されました。代わってuserid項目が主キーとなります。
  • R6のExcel一覧帳票印刷では、"画面上のデータのみ出力" と "全件出力" の2パターンが指定できましたが、R8では "全件出力" のみとなりました。
  • R6.6 Update 9 以前の版で使われていた旧方式の計算式を、現在の方式に変換します。(四則演算式ならびに初期値の式を対象とします。)
  • juserモデルを参照している項目で、juserのid項目を表示優先度に指定していた場合、これを参照モデル(juser)の主キーであるuserid項目を利用するように変換します。(juserのid項目は廃止されたため)
  • juserモデルを参照している項目で、juserのid項目を内容、有効期限、絞込項目に指定していた場合、これをuserid項目へ置換するようにします。(juserのid項目は廃止されたため)
  • juser,jgroup,jnews以外のシステム系モデルは、すべてR8最新版に置換されます。R6で、システム系モデルに適用した修正は移行されません。

移行後に行うこと

移行ツール適用後、logsフォルダにあるrepositorymigration.logに具体的な変更箇所が明記されています。 下記の内容に従って修正してください。

モデル参照 - 複数の項目を連結して表示する

R6ではモデル参照の内容に複数の項目を連結する記述がありました。しかしR8/R9では本表記は廃止され、代わりに式を使うことを推奨しています。

移行ツールによって、最初の項目だけが取得されます。(例えば設定欄に「empname+'('+empid+')'」と記述していた場合、移行によって参照モデルの内容は「empname」となります。)移行後に手動でこの設定を(式を使う形で)再定義してください。

カレンダビュー - タイトル、場所、担当者、備考に複数の項目を指定する

R6のカレンダビューではタイトル、場所、担当者、備考は複数の項目を指定することができました。しかしR8/R9では1設定=1項目となります。式を使って同様のことを行ってください。

入力欄へのスタイル指定

R6では標準HTML部品に対してスタイル(CSS)を適用していました。R8/R9ではDojotoolkitが提供する部品へスタイルを適用するようになりました。そのため表示結果が異なる場合があります。念のため目視で確認してください。

外部データベースの移行

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

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

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

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

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

  • juser
  • jgroup
  • jnews

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

LDAP/ActiveDirectoryの設定

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

システム定義ファイル

R6の$(DEVHOME)/env/xls-commonフォルダに含まれる、次のシステム定義ファイルを変更していた場合は手動で同じ修正を適用してください。

  • common-jfcjobschedule.xls
  • common-jfclicenseholder.xls
  • common-jfclockobject.xls
  • common-jfcmailtemplate.xls
  • common-jfcreporttemplate.xls
  • common-jfcrepository.xls
  • common-jfcworkflow.xls
  • common-jfcworkflow2.xls
  • common-jholiday.xls

帳票出力ファイル名の命名規則

R6では出力ファイル名に式を含めることができました。R8/R9では、R6でも用意されていた「帳票テンプレート」方式に統一されました。そのため出力ファイル名の命名規則が帳票テンプレート方式になります。

そこで出力ファイル名に式を含めていた場合、次の要領で定義を変更してください。

  1. 当該モデルに文字列型の隠し項目(かつデータベース非保存項目)を追加します。計算式で、出力ファイル名を生成させます。例えばモデルdailyreportに隠し項目outputfilenameを用意し、元の式を記述して出力ファイル名を得られるようにします。
    ${name}+"_"+${currenttime}+"_"+${userid}
  2. 移行後の帳票テンプレート定義で、出力ファイル名に上記の項目名と拡張子を記述します。このとき「"モデル名_p." + 項目名」と指定します。
    ${dailyreport_p.outpufilename}.xls
帳票テンプレート定義の設定

テンプレートデータの扱い

移行ツールによって、exportフォルダに「data_R6template」が作成されることがあります。 これはWagby定義ファイル上のメールと帳票の設定が、テンプレートファイル形式に変換されたものです。

ビルド後に、このフォルダ内のファイルをインポートします。次の手順で行ってください。

  1. ビルドしたアプリケーション (wagbyapp) の bin フォルダに含まれている importR6_db.bat を実行します。(Linux OSの場合は importR6_db.sh です。)
  2. アプリケーションを起動します。
  3. メールテンプレートおよび帳票テンプレートの内容を確認します。Wagby定義ファイルの設定がテンプレート化されています。

テンプレートファイルをコピーする

上の手順で「帳票テンプレートモデル」に情報は移行されましたが、テンプレートファイル本体はまだ含まれていません。次の手順でコピーします。

  1. WagbyR8/R9 フォルダ直下に upload_dir/jfcreporttemplate フォルダが存在することを確認します。(フォルダがない場合は手動で作成してください。)
  2. R6のxls-reportフォルダに用意していたテンプレートファイルを、この upload_dir/jfcreporttemplate フォルダ内にコピーします。

このあと、アプリケーションから帳票印刷のテストを行ってください。

注意

帳票印刷がうまく動作しない場合、テンプレートファイルを手動で登録してください。詳細は「帳票 > Excel帳票 - 詳細表示 > 定義方法 > 帳票テンプレートの設定」をお読みください。

データ移行

旧データ (R6) を、移行先の R8/R9 へインポートします。

R6 と R8/R9 ではテーブルの構成が異なります。そこで R6 のデータベース環境は残しつつ、R8/R9 用に新しい論理データベース環境を作成することを推奨します。

  1. コマンドプロンプトを開きます。
  2. wagbyapp フォルダに含まれる bin フォルダに移動します。"cd C:\Wagby-9.1.0\wagbyapp\bin"
  3. import_db.bat を実行します。引数に(取り込みたいデータが格納されている)フォルダ名を指定します。"import_db.bat ..\..\export\data_20180301090000"

ファイル型項目の扱い

「ファイル型」項目に対してアップロードを行ったファイルは、現行システムの upload_dir フォルダ以下に保存されています。同フォルダ以下を新システムに移動(またはコピー)します。

プリンシパル「マスタ更新者(jshparam_master)」の扱い

R6の「マスタモデル」は R8/R9で通常モデル(ストアモデル)と扱いが変わりました。これに伴い、マスタ更新者プリンシパルは再設定を行ってください。

  1. Designer の "環境 > 権限" タブを開きます。
  2. 「マスタ更新者プリンシパル(jshparam_master)」の右側にある "選択肢表示" を有効にします。(チェックします)
  3. モデル一覧から、対象となるモデル(R6のときのマスタモデルだったもの)を選択します。
  4. "権限 > 機能権限" で、プリンシパルに「マスタ更新者 (jshparam_master)」を指定します。

カスタマイズコード

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

コードの変更時に考慮するべき内容を「R6/R7からR8への移行」にも記載しています。

カスタマイズコード変更作業に個別対応することもできます。詳細はWagby販売パートナーへお問い合わせください。

R6とR8/R9で異なる点

R6との違いは次のとおりです。

トラブルシューティング

  • バージョンアップによってwagbyappに同梱されているJavaScriptファイルが更新されています。常に新しいJavaScriptを読み込むようにつくられていますが、ブラウザが古いファイル(キャッシュ)を使うと正しく動作しません。そのため、バージョンアップ後は利用者PCのブラウザのキャッシュクリアも行うことを推奨します。それでも動作がおかしい場合、キャッシュクリアとは別に、"SHIFT" + "リロード" で、強制的なページ再読み込みを行うことも効果があります。
  • 古い定義ファイルを移行すると、管理処理メニューの設定が正しく行えなくなることがあります。例:「統計情報」機能は R6.7 Update 3 で提供されました。それより前の定義ファイルを R8 リポジトリへ移行すると、移行後の管理処理メニュー設定欄に「統計情報」アイコンが表示されません。そのため順番や色の設定が行えません。