R8.3.0/R8.3.1への移行

最終更新日: 2020年6月12日

ボタンへの標準アイコンの設定

R8.3.0に同梱されている標準の初期リポジトリは、ボタンのアイコン設定が有効になっています。しかし旧版から移行されたプロジェクトはアイコン設定が含まれていません。Designerで設定することはできますが、これを手動で一気に設定する方法は次のとおりです。

1. バックアップされたリポジトリファイルを読み込む。

2. repository/trunk フォルダにある project.txt ファイルをテキストエディタで開く。

3. 次の情報を加え、ファイルを保存する。

project/message/@button.allclear.iconClass=far fa-file
project/message/@button.alldelete.iconClass=fas fa-trash-alt
project/message/@button.copy.iconClass=fas fa-copy
project/message/@button.insert.cancel.iconClass=fas fa-undo-alt
project/message/@button.insert.confirm.iconClass=fas fa-eye
project/message/@button.insert.save.iconClass=fas fa-save
project/message/@button.printall.iconClass=fas fa-print
project/message/@button.sendmail.iconClass=fas fa-envelope
project/message/@button.sendmailall.iconClass=fas fa-envelope
project/message/@button.show.next.iconClass=fas fa-angle-right
project/message/@button.show.prev.iconClass=fas fa-angle-left
project/message/@button.show_as_printimage.iconClass=far fa-newspaper
project/message/@button.update.cancel.iconClass=fas fa-undo-alt
project/message/@button.update.confirm.iconClass=fas fa-eye
project/message/@button.update.save.iconClass=fas fa-save
project/message/@button.update_and_next.iconClass=fas fa-chevron-circle-right
project/message/@button.update_and_prev.iconClass=fas fa-chevron-circle-left
project/message/@button.updateall.iconClass=fas fa-edit
project/message/@button.updatelist.cancel.iconClass=fas fa-undo-alt
project/message/@button.updatelist.save.iconClass=fas fa-save
project/message/@button.wizard.next.iconClass=fas fa-angle-right
project/message/@button.wizard.prev.iconClass=fas fa-angle-left
project/message/@button.workflow.admit.iconClass=fas fa-thumbs-up
project/message/@button.workflow.application.iconClass=fas fa-share
project/message/@button.workflow.back.iconClass=fas fa-reply
project/message/@button.workflow.cancel.iconClass=fas fa-stop-circle
project/message/@button.workflow.end.iconClass=fas fa-check-circle
project/message/@button.workflow.reject.iconClass=fas fa-ban
project/message/@condition.do.download.iconClass=fas fa-file-download
project/message/@condition.do.search.iconClass=fas fa-search
project/message/@condition.label.printreport.iconClass=fas fa-print
project/message/@condition.label.reset.iconClass=fas fa-eraser
project/message/@do.delete.iconClass=fas fa-trash-alt
project/message/@go.backinsert.iconClass=fas fa-undo-alt
project/message/@go.backupdate.iconClass=fas fa-undo-alt
project/message/@go.calendarview.iconClass=far fa-calendar-alt
project/message/@go.condition.iconClass=fas fa-search
project/message/@go.confirminsert.iconClass=fas fa-save
project/message/@go.confirmupdate.iconClass=fas fa-save
project/message/@go.copyinsert.iconClass=fas fa-copy
project/message/@go.download.iconClass=fas fa-file-download
project/message/@go.insert.iconClass=fas fa-pen
project/message/@go.showlist.iconClass=fas fa-list-alt
project/message/@go.totalview.iconClass=fas fa-th-list
project/message/@go.update.iconClass=fas fa-edit
project/message/@go.updatelist.iconClass=fas fa-edit
project/message/@movebutton.first.iconClass=fas fa-angle-double-left
project/message/@movebutton.last.iconClass=fas fa-angle-double-right
project/message/@movebutton.next.iconClass=fas fa-angle-right
project/message/@movebutton.prev.iconClass=fas fa-angle-left
project/message/@showlist.label.showlist.iconClass=fas fa-list-alt
project/message/@showlist.label.updatelist.iconClass=fas fa-edit
project/message/@showlist.link.show.iconClass=fas fa-file-alt
project/message/@showlist.link.update.iconClass=fas fa-edit
project/message/@workflow.admit.iconClass=fas fa-thumbs-up
project/message/@workflow.application.iconClass=fas fa-share
project/message/@workflow.back.iconClass=fas fa-reply
project/message/@workflow.cancel.iconClass=fas fa-stop-circle
project/message/@workflow.end.iconClass=fas fa-check-circle
project/message/@workflow.reject.iconClass=fas fa-ban
project/message/@workflow.start.iconClass=fas fa-pen

4. リポジトリの再読み込みを行う。

5. 環境タブの「メッセージ」を開く。アイコンが設定されていることを確認する。

ワークフロー申請状況の「処理内容」のアイコン8.3.1

R8.3.0からR8.3.1へバージョンアップする場合は、次の部分だけを追加してください。

project/message/@workflow.admit.iconClass=fas fa-thumbs-up
project/message/@workflow.application.iconClass=fas fa-share
project/message/@workflow.back.iconClass=fas fa-reply
project/message/@workflow.cancel.iconClass=fas fa-stop-circle
project/message/@workflow.end.iconClass=fas fa-check-circle
project/message/@workflow.reject.iconClass=fas fa-ban
project/message/@workflow.start.iconClass=fas fa-pen

生成されるモデルクラスの変更

継承の扱い

次のように変更されています。

モデル区分 R8.2.3まで R8.3.0以降
ストアモデル(Entity) extends jp.jasminesoft.jfc.app.ContainerBase extends jp.jasminesoft.jfc.model.ContainerBase
リストモデル (親クラスなし) extends jp.jasminesoft.jfc.model.ListBase
コンディションモデル (親クラスなし) extends jp.jasminesoft.jfc.model.ContainerBase
集計モデル (親クラスなし) extends jp.jasminesoft.jfc.model.ContainerBase
プレゼンテーションモデル (親クラスなし) extends jp.jasminesoft.jfc.model.PresentationBase
プレゼンテーションモデル(繰り返しコンテナ) implements jp.jasminesoft.jfc.app.PresentationContainerBase extends jp.jasminesoft.jfc.model.PresentationContainerBase
リストのプレゼンテーションモデル (親クラスなし) extends jp.jasminesoft.jfc.model.PresentationBase
コンディションのプレゼンテーションモデル (親クラスなし) extends jp.jasminesoft.jfc.model.ConditionPresentationBase
集計モデルのプレゼンテーションモデル (親クラスなし) extends jp.jasminesoft.jfc.model.PresentationBase

効果

これまで各クラスで個別に生成していた makeDocument, makeElement, makeTextElement, isMatch といったメソッドを親クラスで管理するようにしたため、生成コード量が削減されている。ビルド時間の短縮ならびにビルドしたアプリケーション(wagbyapp)が消費するメモリ領域の改善につながっている。

カスタマイズコードへの影響

今回の変更でメソッドのシグネチャは変わっていないため、カスタマイズコードへの影響はありません。

CSS Grid 方式から CSS Flexbox 方式への変更

R8.1.0 からベータ版として導入されていた CSS Grid レイアウト方式が廃止されました。R8.3.0 から、これに代わる CSS Flexbox レイアウト方式が導入されました。

CSS Grid レイアウトとして出力されていた JSP および CSS をカスタマイズしていた場合、改めて CSS Flexbox 用に調整してください。

リソースキーの変更

R8.3.1で、オリジナルボタンの名前に関するリソースキーを修正しています。

これまでは__jfc_link.<画面名+モデルID>.button.<イベント名>でした。イベント名の部分を「イベント名+"Original"」とし、suffix文字列 "Original" を付与するようになりました。これによって jfcapp ではじまるリソースファイルのキーも変更になっています。

リソースファイルをカスタマイズしている場合、新しい方のリソースキーにあわせてください。

初期リポジトリの変更

初期リポジトリに含まれるシステムモデルに項目が追加されています。詳細はシステム系テーブルの変更履歴一覧をお読みください。

データベースの変更を伴わない、すべての変更情報はこちらに掲載しています。

合議承認数に関する補足

ワークフロー設定(jfcworkflow_setting)モデルのフロー参加者コンテナに追加された「合議承認数(participants/approval_num)」項目は、合議の承認数表示時に利用されます。

R8.3.0へバージョンアップ後、テーブルを更新してデータ移行を行なった場合でも、この追加カラムは空であるため、最初は合議の承認数は表示されません。このワークフロー設定のデータの更新画面を開き、更新を行なったタイミングでこのカラムに値が設定・保存され、必要承認数が詳細画面で閲覧できるようになります。

[カスタマイズ] キャッシュマネージャのキー

R8.2.x まで、Wagbyが自動生成するキャッシュマネージャクラスのメソッドに渡すキー(主キーの値)はjava.io.Serializableインタフェースを継承したオブジェクトとなっていました。ただしこれまでも内部では文字列が渡される前提でした。R8.3.0 より、厳密にするために型判定をjava.lang.Stringで行うように変わりました。この影響で、カスタマイズコードでコンパイルエラーになる場合があります。

カスタマイズコードへの影響

スクリプトでキャッシュマネージャを使った場合を例に説明します。

var CacheManagerClass = Java.type("jp.jasminesoft.wagby.app.CacheManager");
var cman = CacheManagerClass.getInstance(p);
cman.clearJgroup_update("1000");

これは問題ありません。キャッシュマネージャが提供するメソッドに渡す引数が文字列型になっています。

しかしR8.2.xまでは、次のようなコードとしてもコンパイルエラーになりませんでした。

cman.clearJgroup_update(new Integer(1000));

このコードは正しく動作していませんでした。引数が文字列型でないため、実際にはこのメソッドは無視されます。しかしコンパイルエラーにならないため開発者が(動作しないことに)気づきにくい問題がありました。

R8.3.0 では、このようなカスタマイズコードはコンパイルエラーになります。もともと動作していなかったコードが明らかになりますので、このような場合は引数が文字列型となるように修正を行なってください。

R8.2.x までの挙動に戻す

この仕様を旧方式に戻す方法はありません。