ここでは、既 存のアプリケーションの動作に影響を与える可能性がある機能強化について説明します。Nexaweb は、Nexaweb Platform の下位互換性の維持に積極的に取り組んでいます。廃止予定の API に関するメモ: Nexaweb ではプラットフォームの機能が強化されているため、一部の API およびシンタックスが廃止される可能性があります。Nexaweb のベストプラクティスは、新しい API またはシンタックスに移行することです。
Platform 4.5
デフォルトのスタイルシートが強化されました
4.2 Platform バージョンに似たルック アンド フィールを保持するには、このバージョンのスタイルシートをプロジェクトに追加し、デフォルトのスタイルシートとして設定します。Nexaweb Platform 4.2 スタイルシートは互換性レポジトリで利用可能です。 (参照)
Networking APIs を変更しました
NetService は、3つの別々のインターフェースに分けられ、よりきれいに統合でき、クライアントのみのデプロイ対応が可能な手段を提供します。 RequestService、MessagingService、SynchronizationService がこれら3つのインターフェースになります。
NXMLはXALのため非推奨
NXML compatibility mode でアプリケーションを起動するためには、Nexaweb-client.xml でこのプロパティを設定して下さい。
<application-type>NXML</application-type>
XAL は NFC に対応しません
アプリケーションが NFC に大きく依存している場合、XAL に移行しないでください。XAL には、4.5で利用可能な同等の型安全ラッパー一式がありません。
Studio 2.2
Platform 4.2
<ensure-pre-4-dot-2-mco-string-argument-compatibility> <ensure-pre-4-dot-2-macro-compatibility> <ensure-pre-4-dot-2-resolution-syntax-compatibility>
MCO
public void addedToContainer(Container container, String name) { setSession(container.getSession()); setName(name); } public void removedFromContainer(Container container, String name) { unload(); }
エスケープおよび引数呼び出し
マクロ
Nexaweb 4.2 リリースより前のマクロや MessageFormat 特殊文字を含むマクロを使用していた場合は、MessageFormat 機能を無効にして、これらのマクロを以前と同様に動作させることができます。この機能を無効にするには、nexaweb-client.xml ファイルの<ensure-pre-4-dot-2-macro-compatibility> の値を true に設定します。
その他の変更
新しいインターフェイス/クラス
XML 内のメソッド呼び出しはさまざまな種類のオブジェクトを受け取ることができます。たとえば、他のメソッド呼び出しや document://nxml などのコンテナルックアップを受け取ることができます。詳細については、「メソッド呼び出し」を参照してください。
UIContentHandler は PluginDocumentHandler を拡張する公開クラスになりました。
Platform 4.1
ライセンスキーなしでローカルにインストールされた Nexaweb Platform はローカルホスト経由でのみ応答します。他のネットワーク接続はすべて拒否されます。
クライアントのコンフィギュレーションファイルである nexaweb-client.xml のフォーマットが変更されました
デフォルトのスタイルシートの機能が強化されました
4.0 Platform バージョンに似たルック アンド フィールを保持するには、このバージョンのスタイルシートをプロジェクトに追加し、デフォルトのスタイルシートとして設定します。4.0 Nexaweb Platform のスタイルシートは、ここで入手できます (右クリックしてダウンロードしてください)。
Dataset の概念が廃止され、DocumentProvider が DocumentRegistry に置き換えられました
Dataset の概念が廃止され、より汎用的なDocument に置き換えられました。これにより、次のクラスが廃止されます。
- DatasetEvent
- DatasetProvider
- DatasetListener
新しい簡素化された API には、DocumentRegistry、DocumentEvent、DocumentListener、DocumentLocation の各クラスが追加されています。
XUpdate シンタックスの変更
廃止された "dataset" 属性の代わりに新しい "document" 属性が XUpdate に追加されました。古いシンタックスは推奨されませんが、機能的には完全に動作します。
<xu:modifications xmlns:xu="http://nexaweb.com/xupdate">
新しいシンタックスは次のようになります。
<xu:modifications document="nxml" xmlns:xu="http://nexaweb.com/xupdate">
dataset の名前が "MyDoc" の場合、以前は次のようなシンタックスが使用されました。
<xu:modifications dataset="MyDoc" xmlns:xu="http://nexaweb.com/xupdate">
新しいシンタックスは次のようになります。
<xu:modifications document="MyDoc" xmlns:xu="http://nexaweb.com/xupdate">
document 属性が存在しない場合は、"nxml" ドキュメントがデフォルトで使用されます。
名前付き Nexaweb システムドキュメント
Nexaweb の UI Document に名前が付けられ、DocumentRegistry の findDocument( String name ) メソッドを通じて使用できるようになりました。将来的には、他の Nexaweb システムドキュメントもこの API を通じて使用できるようになります。
この変更と上記の XUpdate の変更により、ユーザードキュメントの修正を可能にする同じメカニズムを使用して、Nexaweb のシステム状態を統一的に修正できるようになります。UI Document の名前は、DocumentRegistry クラスの定数であり、UI Document のルートノードである "nxml" の要素名と同じ名前になります。