このコンテンツはJPiere7.1をJPiere8.2へのバージョンアップした時の作業メモです。備忘録として残しています。ついでにPostgreSQLも10から11にバージョンアップします。
PostgreSQL10からPostgreSQL11へのバージョンアップ
JPiere7.1のデータベースのダンプファイルは、PostgreSQL10で作成しています。JPiere8.2からはPostgreSQL11で作成したいと考えているため、JPiereのバージョンアップに伴いPostgreSQLも10から11へバージョンアップします。
【補足説明】PostgreSQLのメジャーバージョンアップ
PostgreSQLのメジャーバージョンアップは、旧バージョンにおいてダンプファイルを取得して、新バージョンにおいてリストアして行きます。
JPiere7.1のダンプファイルの取得
PostgreSQL10で作成しているJPiere7.1のダンプファイルをあらかじめ取得しておきまます。
PostgreSQL11のインストール
この時点の最新バージョン11.10をインストール。
PostgreSQL11へのJPiere7.1のダンプファイルのリストア
Windows10の環境で実行しましたが、特にエラー無く正常終了しています。
※もし、ここで何かしらのエラーに遭遇した場合は、そのエラー原因を特定して適切な対応が必要です。
i7.1zのマイグレーションスクリプトの適用
migrationフォルダのi7.1zにあるスクリプトを原則全部実行します。しかし、下記の点に注意して下さい。
IDEMPIERE-3358:Dictionary fixes のマイグレーションスクリプトについて
202006031349_IDEMPIERE-3358.sqlを実行すると下記のエラーが表示されます。
これは、下記のSQLを実行した事によるエラーだと思われます。
-- Jun 3, 2020, 3:10:40 PM CEST
INSERT INTO AD_TreeBar (AD_Tree_ID,AD_User_ID,Node_ID, AD_Client_ID,AD_Org_ID, IsActive,Created,CreatedBy,Updated,UpdatedBy)VALUES (10,100,383,0,0,'Y',statement_timestamp(),100,statement_timestamp(),100);
このSQLは、202006031349_IDEMPIERE-3358.sqlの最後のSQLであり、”お気に入りのメニュー”を追加するSQLであり、かつそのデータは既に登録されている"キャシュリセット"なので、エラーになってもそのまま無視して大丈夫だと思います。
IDEMPIERE-4426:Fix add_months and adddays functions
202008171626_IDEMPIERE-4426.sqlをそのまま実行すると次のようなエラーがでます。
JP_OpenItemビューでAddDays関数を使用しておこるエラーです。そのため、202008171626_IDEMPIERE-4426.sqlを実行する前に先にJP_OpenItemビューをドロップします。その後で、202008171626_IDEMPIERE-4426.sqlを実行し、再度JP_OpenItemビューを作成します。
i8.1zのマイグレーションスクリプトの適用
migrationフォルダのi8.1zにあるスクリプトを原則全部実行します。
JPBPのバージョンアップ対応
※pom.xmlとMANIFEST.MFの修正は各プラグインで行うのは大前提。
IDEMPIERE-2902:UX: Implement Radio buttons の対応
ラジオボタンが実装されたのに伴い、IEditorFactoryクラスに下記のメソッド定義が追加されているため実装しました。※参照:IDEMPIERE-2902 UX: Implement Radio buttons (#326)
- public WEditor getEditor(GridTab gridTab, GridField gridField, boolean tableEditor, IEditorConfiguration editorConfiguration);
IDEMPIERE-4083:currency rate by document or by transactionの対応
◆Doc_InvoiceJPクラスのメンテナンス
◆Doc_AllocationHdrJPクラスのメンテナンス
- DocLine_AllocationJPクラスの追加
◆Doc_MatchInvJPのメンテナンス
Doc_MatchInvをメンテナンスする上での参考情報
- IDEMPIERE-4263:Wrong matched invoice GL posting (currency balancing) in alternate schema for vendor credit memo if > 1 credit memo line
- IDEMPIERE-4173:Wrong GL postings for matched invoice in RMA/Vendor Return/Credit Memo
- IDEMPIERE-4127:GL Inventory Clearing - Minor rounding variances
- IDEMPIERE-4051:Matched Invoice document for Vendor Credit Memo
- IDEMPIERE-3875:Doc_MatchInv doesn't work correctly with negatives
【メモ】JPBPのバージョンアップ対応
JPBPのバージョンアップ対応の原則は、既存の機能をそのままの状態で最新のiDempiereのバージョンで動作する事を目的とします。その場合、jpiere.plugin.org.compiere.acctのパッケージに所属するクラスのみ最新のJPBPからコピーして、更新すれば最新のiDempiereの機能を阻害する事無くバージョンアップできるのではないかと思います。
JPFSのバージョンアップ対応
※pom.xmlとMANIFEST.MFの修正は各プラグインで行うのは大前提。
IDEMPIERE-4421:Html asset versioning should allow fluent deploymentの対応
Ver7とVer8ではiDempiereのテーマのリソースの管理方法が大きく変更になりました。後方互換してくれているようですが、新しい管理方法に準拠してJPFSを大幅に修正しました。
参照: https://wiki.idempiere.org/en/Migration_Notes#Version_iDempiere_8.2
◆デザイン関係のリソースをsrcデイレクトリの配下に移動
ファイルによってはthemeのリソースへのアクセスに"~./"が必要になります。
これに伴い、下記のシステムコンフィグ設定も修正しています。
- ZK_LOGO_LARGE -> ~./theme/jpiere/images/large-logo-jpiere.png
- ZK_LOGO_SMALL -> ~./theme/jpiere/images/small-logo-jpiere.png
- HTML_REPORT_THEME -> /src/web/theme/jpiere/
◆metainfo.zk.lang-addon.xmlファイルの追加
デプロイした環境でデザインを反映させるのに必要になる、lang-addon.xmlファイルをsrc>metainfo>zkデイレクトリに追加しました。
◆システム画像ウィンドウのパスの修正
タブのアイコンが表示されなくなっていたため、システム画像の画像URLフィールドのパスを修正。そのパスに対応するデイレクトリに画像を配置しました。
IDEMPIERE-4536:Allow minor customizations in default themeの対応
◆CSS修正
- custom.css.dspの追加 -> 適用されるフォントの種類や大きさをここで一元的に管理できるようにしました。
JPMS関連
※pom.xmlとMANIFEST.MFの修正は各プラグインで行うのは大前提。
MInOut - JPMSから削除
IDEMPIERE-4587:Wrong ordered qty when reactivating a purchase order and setting a line to zero に伴い、モディフィケーションしていた処理が不要になったため削除
カスタマイズ情報 : JPIERE-0224:マイナス数量の発注照合伝票
MMatchPO - JPMSから削除
IDEMPIERE-4575:Cannot complete Material Receipt from negative PO に伴いモディフィケーションしていたJPIERE-0224:マイナス数量の発注照合伝票の処理が不要になったため削除。
MMatchInv - 修正
JPIERE-0224の処理が不要になったため大幅に修正しました。
JPPS関連
※pom.xmlとMANIFEST.MFの修正は各プラグインで行うのは大前提。
jpiere.plugin.webui.wysiwygeditorの廃止
【JPIERE-0109】WYSIWYG EditorのカスタマイズはJPiere Groupwareのプラグインに統合し、jpiere.plugin.webui.wysiwygeditorのプラグインを廃止しました。Groupwareに統合した事により、下記のフォームの設定を修正する必要があります。
jpiere.plugin.webui.dashboardgadgetの廃止
【JPIERE-0110】お知らせガジェットのカスタマイズはJPiere Groupwareのプラグインに統合し、jpiere.plugin.webui.dashboardgadgetのプラグインは廃止しました。
IDEMPIERE-4254対応
IDEMPIERE-4254において、MRole#getOrgWhere()の戻り値が変更になったため下記の確認及びメンテナンスを実施しました。
【JPIERE-0111】シンプルインプットウィンドウ
JPiereSimpleInputWindowクラスをメンテナンスしました。
【JPIERE-0098】マトリクスウィンドウ
JPiereMatrixWindowクラスをメンテナンスしました。
メンテナンスが必要の無かったクラス
- JPiereCreateInfoGadgetクラス
- ToDoCalendarクラス
- LoginSAMLクラス
- MAttachmentFileRecordクラス