Oracle Mobile Application Framework 2.2.0 リリース・ノート


このリリースの新機能

  説明
1. 最新のモバイル・パターンをサポートする新しいUIコンポーネント:
  • スワイプによる表示:リストの行でスワイプしてアクションを表示
  • 新しいレイアウト・コンポーネント、ダッシュボードとグリッド・レイアウトを構築するためのメーソンリー・レイアウトとフレックス・レイアウト
  • プルによるリフレッシュ:下にスワイプしてコンテンツをリフレッシュ
  • ポップアップのズーム・アニメーションとフェード・アニメーション
  • リスト上のスクロール位置の構成のサポート
  • データ視覚化の拡張機能:株価チャート、チャート・ドリル・イベント、タイムラインの概要および縦方向表示
  • Android L用のGoogleマテリアル・デザインをサポートしているMobile Alta 1.4スキン
2. モジュラー・アプリケーション構築のサポートの強化によるデータ・バインディングの改善
  • ネストされたDataControlコンテキストのサポート
  • 開発者によるタスク・フローを使用した再帰的ナビゲーション・フローの構築
  • タスク・フロー・レベルでの状態の分離
  • ナビゲーション・スタック内に保持されているタスク・フロー/DCインスタンス数の管理
    • 例: Opportunity List→Opportunity Detail→Account Detail(Opportunityに関連付けられたアカウントから)→Related Opportunity List→Opportunity Detail(前とは異なるOpportunityを使用)
3. Androidの戻るボタンの完全なサポート:
  • 戻るボタンのデフォルト動作のオーバーライドのサポート
  • デフォルトでは"__back"ナビゲーション・ルールを使用
4. パフォーマンスの向上:
  • 前のリリースと比べて、全体的なパフォーマンスが30%向上
  • おもに次の領域でパフォーマンスが向上:
    • JSON解析:JSONPに基づく新しいパーサー
    • 新たに最適化されたJVM:Java処理における30~40%のパフォーマンス向上
    • UIパフォーマンスの向上によるページ・レンダリング時間の短縮


このリリースで非推奨となった機能

以下のリス トの機能は、MAF 2.2.0以降のリリースでは非推奨となっています。このリリースでは非推奨の機能も引き続き動作しますが、アプリでこれらの機能の使用を停止するように 変更計画を立ててください。MAFの次のメジャー・リリース(2.3.0)では、これらの機能が製品から除外される可能性があります。                

  機能の説明 代替機能 影響を受けるお客様
1. SOAPサービス用Webサービス・データ・コントロール:このDataControlは、SOAPサービスを使用するバックエンド・システムからデータをフェッチするためのものです。 JSON ベースのRESTサービスに移行することを推奨します。パフォーマンスがはるかに高く、一般的にモバイル・アプリの使用に適しているためです。MAFに は、セキュリティ・サポートが組み込まれたRESTサービス・アダプタとJSON BeanシリアライズAPIが搭載されているため、RESTサービスを簡単に使用できます。サービスを変更できない場合は、モバイル・ミドルウェアやOracle Mobile Cloud ServiceOracle API GatewayなどのMBaaS製品を使用して、SOAPサービスをモバイル対応のRESTサービスに変換することを検討してください。 SOAPサービスを使用してバックエンド・システムからアプリケーション・データにアクセスしているお客様。
2. MobileFusionFXスキン:iOS 6とAndroid 4.0.xのルック・アンド・フィールに基づく古いスキン。 iOS プラットフォームとAndroidプラットフォームの最新のルック・アンド・フィールをサポートするMobile Altaスキンに切り替えることを推奨します。新しいMobile Altaスキンに移行するには、maf-config.xmlでスキンのファミリとバージョンを次のように更新します。

<skin-family>mobileAlta</skin-family>
<skin-version>v1.4</skin-version>

カスタム・スキンを実装していたり、依存したcssスタイリングおよびMobileFusionFXスタイリングを使用したりしている場合は、必要に応じてcssの調整が必要な場合があります。
古いスキンを使用しているお客様。
3. スライディング・ウィンドウでのログインの許可:プライマリ・ウィンドウではなくスライディング・ウィンドウを使ってログインできる機能です。 この変更による、実際の機能上の影響はありません。アプリのプライマリ・ウィンドウにログイン・ページが表示されます。maf-config.xmlから次のエントリを削除することを推奨します。

<allowLoginInSlidingWindows>true</allowLoginInSlidingWindows>
maf-config.xmlの<allowLoginInSlidingWindows>要素をtrueに設定しているお客様。
4. モバイルとソーシャルの認証タイプ:Oracle Mobile & Social Serverを使用しているお客様が、ソーシャルIDによってユーザーを認証できる機能です。 MAFのOAuth 2.0サポートによって、同様の機能を使用できます。 Oracle Mobile & Social Serverを使って、FacebookやGoogle+などのソーシャルIDプロバイダを使用するモバイル・アプリ・ユーザーを認証しているお客様。


このリリースの既知の問題

  バグ番号 説明 プラットフォーム 回避策
1. 21812769 While upgrading a MAF application, if the application contains changes in the preferences, the MAF framework is unable to read those changes.
MAFアプリケーションのアップグレード時に、アプリケーションのプリファレンスに変更が含まれていると、MAFフレームワークでこれらの変更を読み込むことができない。
両方 MAFアプリケーション内で次の回避策を使用できます。
次のコード・スニペットを使用して実行時のプリファレンスを設定します。
ValueExpression ve = AdfmfJavaUtilities.getValueExpression("#
{preferenceScope.feature.oracle.apps.endPoint}", String.class);
AdfELContext context = AdfmfJavaUtilities.getAdfELContext();
GlobalLocks.getLock(GlobalLocks.EL_EVAL_AND_DATACHANGE
_GLOBAL_LOCK);
try {
context.setResolvingSetValue(true);
ve.setValue(context, oldServerURL);
} finally {
context.setResolvingSetValue(false);
GlobalLocks.releaseLock(GlobalLocks.EL_EVAL_AND
_DATACHANGE_GLOBAL_LOCK);
}

 
2. 21323276 While uploading an IPA file of large size to the Apple App Store, a warning message is displayed. "The resulting API analysis file is too large. We were unable to validate your API usage prior to delivery. This is just an informational message."
Apple App Storeにサイズの大きいIPAファイルをアップロードしようとすると、次の警告メッセージが表示される。「The resulting API analysis file is too large.We were unable to validate your API usage prior to delivery.This is just an informational message.」
iOS こ の警告メッセージが表示されても、アプリをApple App Storeにアップロードすることはできます。このメッセージは、アップロード前にAPI分析を実行できないことを警告しているだけです。この分析によっ て、SDKから制限されているAPIを使用しているかどうかのチェックが行われ、アップロード前に修正できるように警告が出されます。この警告を修正する 回避策はありません。
3. 21187498 Exception occurs while loading data using fetch policy FETCH_FROM_CACHE_SCHEDULE
_REFRESH.
フェッチ・ポリシーFETCH_FROM_CACHE_SCHEDULE
_REFRESHを使用してデータをロードすると、例外が発生する。
両方 なし
4. 18856673 Within a MAF application, EL conflicts will occur if AMX resource bundles used in fragments or pages use the same name for their bundles.
MAFアプリケーション内で、フラグメントやページで使用されるAMXリソース・バンドルで同じバンドル名を使用すると、EL競合が発生する。
両方 リソース・バンドルには一意の名前を使用することを推奨します。
5. 21694961 Previously logged in credentials are not flushed after app is deleted and re-installed, so the previous user name remains displayed in the login screen. 
アプリを削除して再インストールしても、以前にログインした資格証明がフラッシュされない。このため、ログイン画面に以前のユーザー名が表示されたままとなる。 
両方 ログイン接続構成の「Show the remember use name」オプションを無効にしておけば、この問題を回避できます。
6. 18469085 A deadlock is possible if you attempt to show a sliding window from a feature LifeCycleListener activate method the first time the feature is activated.
LifeCycleListenerのactivateメソッド機能を最初にアクティブ化したときに、この機能からスライディング・ウィンドウを表示しようとすると、デッドロックが発生する場合がある。
両方 LifeCycleListenerメソッドの別のスレッドで、AdfmfSlidingWindowUtilities.show()/hide()メソッドを起動する必要があります。
7. 20232366 CommandLink action does not get fired when it is in a panelPage's header facet.
panelPageのヘッダー・ファセットにcommandLinkアクションがあると、このアクションが機能しない。
両方 commandLinkの場所を、プライマリかセカンダリのファセットに変更します。
8. 21666562 The DeviceManager.updateContact() method is not updating all the contact fields. It is updating only the name, email, phone number and url. The remaining fields like Organization, Note and Categories are not getting updated.
DeviceManager.updateContact()メソッドを使用しても更新されない連絡先フィールドがある。名前、電子メール、電話番号、URLだけが更新され、組織、メモ、カテゴリなどのその他のフィールドが更新されない。
Android なし
9. 21954269 Setting application scope variable to null does not invoke data change event.
アプリケーション・スコープ変数をnullに設定しても、データ変更イベントが起動されない。
両方 なし
10. 19346534 ResetFeature on Android hardware causes a flash while changing features. It shows the previous state of the feature before it reinitializes.
AndroidハードウェアのResetFeatureを使用すると、機能の変更中にフラッシュが発生する。これにより、再初期化の前に、機能の前の状態が表示される。
Android なし
11. 21867411 The app is using credentials used in the local credential store for validating the user even if there is a fresh login.
新規のログインでも、アプリでのユーザー検証に、ローカルの資格証明ストアで使用される資格証明が使用されている。
両方 なし