ブログ

【SAP BTP】すぐにできる!SAPUI5バージョンアップデート方法を解説

この記事をSNSでシェア!

はじめに

SAPUI5(SAP UI Development Toolkit for HTML5)アプリケーションの開発において、バージョンアップデートは重要です。
なぜならアップデートをすることで最新の機能が使用でき、セキュリティが向上してより安全になるからです。
また、アプリケーションのパフォーマンスを向上させるためにも定期的なアップデートが推奨されます。

本記事では、UI5バージョンのアップデートを担当した筆者が、その過程で得た知識や経験を皆さんと共有します。
アップデート自体は意外にも簡単に実行できましたが、その背後にある重要なポイントや注意事項についてご説明します。

なぜバージョンアップをすることになったのか?

私たちのSAPUI5プロジェクトは、バージョン1.91を使用してきました。
しかし、このバージョンがメンテナンス対象外となったことで、以下の課題が発生しました。

  • バグ修正やセキュリティの更新が提供されなくなり、アプリケーションの安定性とセキュリティに大きなリスクをもたらす可能性が出てきた
  • メンテナンス対象外となったバージョンは1年後に削除され、アプリケーションが正常に機能しなくなる

上記の理由により、長く使用できるバージョンへの移行が必要となりました。

アップデートの手順

UI5バージョンを上げる方法は2通りあり、ui5VersionNumber または ui5LibraryUrl のいずれかを使用します。両方を使用する場合、ui5LibraryUrl のみが考慮されます。
もし、バージョンの記載を省略した場合は最新バージョンが適用されるため、常に最新のバージョンを使用する場合はバージョンを明示的に記載する必要はありません。

今回は、manifest.jsonファイル内のui5VersionNumberプロパティを使用したバージョンアップ方法をご説明します。
ui5LibraryUrlを使用したバージョンアップ方法については、以下リンクのコードの記載例をご覧ください。
SAP Help Portal【サイト設定の構成】

まず、ui5VersionNumbeを使用してバージョンを制御するには次のセクションを追加し、バージョンを定義します。
例としてUI5バージョン1.108を使用するには、以下のように記載します。

"sap.platform.cf": {
    "ui5VersionNumber": "1.108.22"
},
"sap.ui5": {

},

バージョンの指定がない場合は以下リンクを参考に「End of Maintenance」が「Long-term Maintenance」となっているバージョンを使用することをお勧めします。

各バージョンのメンテナンスステータス一覧


UI5 バージョンは、x.xx.x の形式となっており、[メジャー.マイナー.パッチ]で構成されています。
パッチの数値については X、x、または * に置き換えることができ、置き換えることですべてのパッチの自動アップデートを取得します。
例えば、以下のような書き方でバージョンを固定しつつ、パッチの自動アップデートを取得することができます。こちらは便利なので私もよくこの記述をしています。

"sap.platform.cf": {
    "ui5VersionNumber": "1.108.x"
},
"sap.ui5": {

},

ライブラリ更新とテスト

アプリケーションが使用するSAPUI5バージョンを決定したら、アプリケーションが依存しているライブラリが、選択した新しいUI5バージョンと互換性があることを確認します。
必要に応じてこれらの依存関係を最新バージョンにアップデートし、その後テストを実施します。

リストアップ

アップデートを行う前に、アプリケーションのコード内で使用しているUI5コントロールを特定し、リストアップします。
UI5コントロールは、ボタン・テキストボックス・テーブル・フォーム・ダイアログなどがありXMLやJavascriptファイルに記載されています。

例えば、以下のようなXMLファイルにはVBox・Label・ComboBoxといったUIコントロールが含まれているため、これらを全てリストアップする必要があります。

<VBox>
  <Label
    text="{i18n>labelName}">
  </Label>
  <ComboBox 
    id="comboBoxName" 
    width="6rem"
    selectedKey=""
    change="changeFocus">
  </ComboBox>
</VBox>
バージョンチェックと修正

以下リンクを参考に、リストアップしたUIコントロールと新しいUI5バージョンとの互換性を確認します。
非推奨となっているAPI


バージョンに互換性がない場合、以下のような注意書きがされています。

赤枠には非推奨となったUI5バージョン及び代替クラスなどを記載しているため、必要に応じてコードを修正し、バージョンアップします。

テスト実施

バージョンアップ後はアプリケーションをテストして、依存関係の変更が予期せぬ影響を及ぼさないことを確認します。特に、UIコントロールやカスタムコントロールが正常に動作するかどうかを確認し、必要であれば都度修正します。
また、実際に注意書きがされていない場合やリリースノートに変更点が記載がない場合でも、
バージョンアップによる影響で正常に機能しないことがあるため、変更点がない箇所についてもテストをすることが重要です。

アップデートとテストは、アプリケーションの安定性と信頼性を確保するために不可欠です。
新しいUI5バージョンに適応するためにコードを修正する必要がある場合でも、慎重な計画とテストによってスムーズな移行が可能です。

最後に

UI5バージョンを変更するだけなら比較的簡単に実施できます。ただ、アプリケーションが依存しているUIコントロールが、新しいUI5バージョンと互換性があることを確認することが大切です。
また、リリースノートに記載がなくても、新しいUI5バージョンでは変更されている箇所があるかもしれません。修正をしていない画面でも、テストを必ず実施して予期せぬ問題を事前に発見しましょう。

UI5バージョンアップデートをする際に本記事が参考になれば幸いです。
最後まで閲覧いただき、ありがとうございました。

投稿者プロフィール

湯田 希代香
湯田 希代香
BS事業部 BSグループの湯田です。
2020年10月からSAP BTP(Business Technology Platform)とSAP Fioriを活用した開発案件に携わっています。
主にフロントエンドを担当しておりますが、SAPUI5のアップデートをする機会があったため
その過程で得た知識や経験について共有していきたいと思います。
この記事をSNSでシェア!