R8.3.0/R8.3.1への移行
最終更新日: 2020年6月12日
R8.3.0に同梱されている標準の初期リポジトリは、ボタンのアイコン設定が有効になっています。しかし旧版から移行されたプロジェクトはアイコン設定が含まれていません。Designerで設定することはできますが、これを手動で一気に設定する方法は次のとおりです。
1. バックアップされたリポジトリファイルを読み込む。
2. repository/trunk フォルダにある project.txt ファイルをテキストエディタで開く。
3. 次の情報を加え、ファイルを保存する。
4. リポジトリの再読み込みを行う。
5. 環境タブの「メッセージ」を開く。アイコンが設定されていることを確認する。
R8.3.0からR8.3.1へバージョンアップする場合は、次の部分だけを追加してください。
次のように変更されています。
これまで各クラスで個別に生成していた makeDocument, makeElement, makeTextElement, isMatch といったメソッドを親クラスで管理するようにしたため、生成コード量が削減されている。ビルド時間の短縮ならびにビルドしたアプリケーション(wagbyapp)が消費するメモリ領域の改善につながっている。
今回の変更でメソッドのシグネチャは変わっていないため、カスタマイズコードへの影響はありません。
R8.1.0 からベータ版として導入されていた CSS Grid レイアウト方式が廃止されました。R8.3.0 から、これに代わる CSS Flexbox レイアウト方式が導入されました。
CSS Grid レイアウトとして出力されていた JSP および CSS をカスタマイズしていた場合、改めて CSS Flexbox 用に調整してください。
R8.3.1で、オリジナルボタンの名前に関するリソースキーを修正しています。
これまでは
リソースファイルをカスタマイズしている場合、新しい方のリソースキーにあわせてください。
初期リポジトリに含まれるシステムモデルに項目が追加されています。詳細はシステム系テーブルの変更履歴一覧をお読みください。
データベースの変更を伴わない、すべての変更情報はこちらに掲載しています。
R8.3.0へバージョンアップ後、テーブルを更新してデータ移行を行なった場合でも、この追加カラムは空であるため、最初は合議の承認数は表示されません。このワークフロー設定のデータの更新画面を開き、更新を行なったタイミングでこのカラムに値が設定・保存され、必要承認数が詳細画面で閲覧できるようになります。
R8.2.x まで、Wagbyが自動生成するキャッシュマネージャクラスのメソッドに渡すキー(主キーの値)は
スクリプトでキャッシュマネージャを使った場合を例に説明します。
これは問題ありません。キャッシュマネージャが提供するメソッドに渡す引数が文字列型になっています。
しかしR8.2.xまでは、次のようなコードとしてもコンパイルエラーになりませんでした。
このコードは正しく動作していませんでした。引数が文字列型でないため、実際にはこのメソッドは無視されます。しかしコンパイルエラーにならないため開発者が(動作しないことに)気づきにくい問題がありました。
R8.3.0 では、このようなカスタマイズコードはコンパイルエラーになります。もともと動作していなかったコードが明らかになりますので、このような場合は引数が文字列型となるように修正を行なってください。
この仕様を旧方式に戻す方法はありません。
ボタンへの標準アイコンの設定
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
ワークフロー申請状況の「処理内容」のアイコン8.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
効果
カスタマイズコードへの影響
CSS Grid 方式から CSS Flexbox 方式への変更
リソースキーの変更
__jfc_link.<画面名+モデルID>.button.<イベント名>
でした。イベント名の部分を「イベント名+"Original"」とし、suffix文字列 "Original" を付与するようになりました。これによって jfcapp ではじまるリソースファイルのキーも変更になっています。
初期リポジトリの変更
合議承認数に関する補足
[カスタマイズ] キャッシュマネージャのキー
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");
cman.clearJgroup_update(new Integer(1000));
R8.2.x までの挙動に戻す