互換性保持のため、以前のバージョンの GeneXus から移行されたナレッジベースの [ Web User Experience ] プロパティは、バージョンレベルで Previous Versions Compatible に設定されます。
プロパティの値をオブジェクトレベルで変更することで、GeneXus X Evolution 3 のスムース Web UXに徐々に変換していくことをお勧めします。
次の事項を考慮する必要があります:
- Web ページ内で実行されるオブジェクトの値は、 [ Web User Experience ] プロパティの値と同じである必要があります。
- ほとんどの場合、従来のスキーマ内と同じようにオブジェクトが操作されるよう、オブジェクトのプログラミングを変更する必要が生じます。
プログラミングモデルへの変更
GeneXus X Evolution 3 のスムース Web UXが実装されるまでは、ユーザー定義イベントによって、ページと Web コンポーネントイベント全体を強制的に再表示していたため、ページ上のその他すべての Web コンポーネントに影響がありました。GeneXus ユーザーは、この動作に基づいて、モデル内でプログラミングします。
スムース Web UX がサポートされたことで、この新しい機能を最大限に活用するため、このモデルのイベント実行スキームを前提としてプログラミング手法を変更する必要があります。
[ Web User Experience ] プロパティが Smooth に設定されていると、次のようになることに注意してください:
- ユーザーイベントが Refresh イベントを自動的にトリガーすることはありません。
- Web コンポーネントイベントは Web コンポーネントに対してローカルです。
ここまでをまとめると、ユーザーイベントをプログラミングする場合、スムースモデルでは、イベント後に Refresh イベントが自動的にトリガーされないことを常に意識する必要があります。Start イベントもトリガーされません。このトピックの詳細については、「スムースモデルと互換モデルのイベント実行の比較」を参照してください。
スムースモデルでは、フォームのさまざまな部分を明示的に再表示できます。この用途のために次のコマンドを使用できます:
セキュリティ上の問題
Refresh イベントは Web ページ内で POST ごとに実行されるわけではないため、Start イベント内のセキュリティコードも、POST ごとには実行されなくなります。
認証チェックについて、GeneXus Access Manager では要求が Web サーバーに送信されるたびに認証がチェックされるため、イベント内で特定のプログラミングを行う必要はありません。
その他のケースに関しては、スムースモデルでのセキュリティに関する注意事項を参照してください。
注
SEO に関して特別な注意は必要ありません。これは、ページが GeneXus Evolution 3 に変換されており、スムース Web UX は以前のバージョンと同様にインデックスを使用できるためです。
トラブルシューティング
Java では、 [ Web User Experience ] が Smooth に設定されているオブジェクトが Previous Versions Compatible に設定されているオブジェクトにナビゲートしようとすると、次の行およびスタックトレースが標準出力に表示されます:"sendResponseStatus 530 SPA not supported by the object"
参考情報
ユーザーイベントの Load コマンドと Load メソッド
GeneXus X Evolution 3 におけるクライアント側でのイベント実行
|