Backwards Compatibility
ここでは、既 存のアプリケーションの動作に影響を与える可能性がある機能強化について説明します。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
Eclipse Web ツールのディレクトリ構造が変更されました。古いバージョンの Nexaweb Studio で作成したプロジェクトは移行する必要があります。移行の手順およびその他の情報については、Studio のリリース ノートを参照してください。
Platform 4.2
下位互換性フラグ
次のオプションフラグが nexaweb-client.xml コンフィギュレーション ファイルに追加されました。各ファイルの詳細については、以下を参照してください。
<ensure-pre-4-dot-2-mco-string-argument-compatibility>
<ensure-pre-4-dot-2-macro-compatibility>
<ensure-pre-4-dot-2-resolution-syntax-compatibility>
解決シンタックス
{...} をテキストノードまたは属性として使用した場合、テキスト解決として解釈されるようになりました。属性またはテキストノードでは、{および } は \{ および \} でそれぞれエスケープする必要があります。\は \\ でエスケープする必要があります。このテキスト解決は、client.xml の<ensure-pre-4-dot-2-resolution-syntax-compatibility> パラメータで無効にすることができます。. テキスト解決の詳細については、(開く)を参照してください。
MCO
宣言
MCO 宣言を<declarations>タグで入れ子にする必要がなくなりました。
Lifecycle
新しい ContainerLifeCycleObject インターフェイスが AbstractMco に実装されました。次に例を示します。
public void addedToContainer(Container container, String name) {
setSession(container.getSession());
setName(name);
}
public void removedFromContainer(Container container, String name) {
unload();
}
エスケープおよび引数呼び出し
MCO 文字列引数で一重引用符と二重引用符の両方がサポートされるようになりました。
MCO 引数のエスケープが拡張されました。バックスラッシュ文字のエスケープ ( \\ -> \ ) が必要になりました。必要に応じてエスケープを無効にするためのコンフィギュレーションフラグが nexaweb-client.xml に追加されました。単一のスラッシュを表現する場合は、スラッシュをエスケープする必要があります。\の後に " または \ 以外の文字を指定した場合、エラーが発生します。
新しいエスケープシンタックスを無効にするには、client.xml の<ensure-pre-4-dot-2-mco-string-argument-compatibility>を false に設定します。
マクロ
Nexaweb 4.2 リリースより前のマクロや MessageFormat 特殊文字を含むマクロを使用していた場合は、MessageFormat 機能を無効にして、これらのマクロを以前と同様に動作させることができます。この機能を無効にするには、nexaweb-client.xml ファイルの<ensure-pre-4-dot-2-macro-compatibility> の値を true に設定します。
<ensure-pre-4-dot-2-macro-compatibility>true</ensure-pre-4-dot-2-macro-compatibility>
この例としてマクロ呼び出し内の一重引用符文字があります。つまり、<xu:replace select="id('panel1')">は<xu:replace select="id(''panel1'')">になります。
その他の変更
fontColorDisabled 属性が親から子に継承されるようになりました。
Nexaweb ア プリケーションの起動に使用される JSP スタートアップページが更新されました。これらのページをすでに変更済みの場合は、その変更内容を新しいページに移行する必要があります。スタートページ の外観をカスタマイズするための新しいコンフィギュレーション値が nexaweb-client.xml に追加されました。
AbstractTagImp getUiContentHandler() が public かつ最終的なものとなり、保護されました。
列およびセルで alignHorizontal を使用できるようになりました。
新しいインターフェイス/クラス
tableEditor クラスがスタイルシートに追加されました。
PluginLifecycle クラスが追加および公開されました。
PDF 印刷に関連する新しいメソッドを持つ PrintService が追加されました。
DesktopClientSession インターフェイスが追加されました。
StylesheetAwareTagImpl を使用できるようになりました。これは AbstractTagImpl を拡張し、ContainerBridge、LayoutBridge、および CompositeTagBridge の基本クラスとなります。これにより、プラグインは、StylesheetAwareTagImpl を拡張して、スタイルをそのコンポーネントに適用できるようになりました (標準状態の場合のみ)。
テーブルの行および列がスタイルシートと連携するようになりました(標準状態の場合のみ)。
mco:// を使用せずに XML からシステムサービスを呼び出すことができます。次に例を示します。onCommand="DisplayService.loadStyleSheet(...)".
XML 内のメソッド呼び出しはさまざまな種類のオブジェクトを受け取ることができます。たとえば、他のメソッド呼び出しや document://nxml などのコンテナルックアップを受け取ることができます。詳細については、「メソッド呼び出し」を参照してください。
UIContentHandler は PluginDocumentHandler を拡張する公開クラスになりました。
Platform 4.1
ライセンスが変更されました
ライセンスキーなしでローカルにインストールされた Nexaweb Platform はローカルホスト経由でのみ応答します。他のネットワーク接続はすべて拒否されます。
クライアントのコンフィギュレーションファイルである nexaweb-client.xml のフォーマットが変更されました
以前のファイルを使用して新しいプラットフォームを実行するとサーバーが停止します。このファイルが新しいフォーマットに従っていることを確認してください。
nexaweb-client.xml のフォーマットが変更されました。既存のコンフィギュレーションファイルを新しいフォーマットに移行するためのスタイルシート変換ファイル (XSLT) が提供されました。このスタイルシート変換ファイルは、ここで入手できます (右クリックしてダウンロードしてください)。
スタイルシート変換ファイルの詳細については、http://www.w3.org/TR/xslt を参照してください。Apache Ant で変換を実行する方法の詳細については、http://ant.apache.org/manual/ を参照してください。
デフォルトのスタイルシートの機能が強化されました
4.0 Platform バージョンに似たルック アンド フィールを保持するには、このバージョンのスタイルシートをプロジェクトに追加し、デフォルトのスタイルシートとして設定します。4.0 Nexaweb Platform のスタイルシートは、ここで入手できます (右クリックしてダウンロードしてください)。
Dataset の概念が廃止され、DocumentProvider が DocumentRegistry に置き換えられました
Dataset の概念が廃止され、より汎用的なDocument に置き換えられました。これにより、次のクラスが廃止されます。
DatasetEvent
DatasetProvider
DatasetListener
新しい簡素化された API には、DocumentRegistry、DocumentEvent、DocumentListener、DocumentLocation の各クラスが追加されています。
XUpdate シンタックスの変更
廃止された "dataset" 属性の代わりに新しい "document" 属性が XUpdate に追加されました。古いシンタックスは推奨されませんが、機能的には完全に動作します。
次の XUpdate 文を使用して UI Document を操作する場合、
<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" の要素名と同じ名前になります。