Converting to Smooth Web UX

Official Content

For KBs, which are migrated from previous versions of GeneXus, the Web User Experience property is set to "Previous Versions Compatible" at version level for compatibility purposes.

The recommendation is to convert gradually to Web Smooth UX, by changing the property value at object level.

You need to consider the following:

  • Objects executed within a web page (i.e: all the web components of the same page) need to have the same value of the Web User Experience property.  Most probably you'll need to change the objects' programming for them to interact as they used to, in the traditional scheme. The necessary changes are shown below in this document.
  • You can actually do a call from a page that has a different value for the Web User Experience property of the page being called.

Changes to the programming model

Before the Web Smooth UX was implemented, User defined events used to force a full Refresh of the page and web component events used to affect all the other web components on the page. The way the GeneXus user programs in this model is based on that behavior.
 

Conversion strategy: With Smooth Web UX support, the programming method has to be changed in all the KB object to take full advantage of the new functionalities, given the Event Execution Scheme of this model.


Remember that when Web User Experience property is set to "Smooth" the following happens:

  • User events do not automatically trigger the Refresh Event.
  • Web component events are local to the web component.

As a consequence, each time you program a user event, you need to keep in mind that in the Smooth model the Refresh event is not triggered automatically after the event. The Start event is not triggered either. For detailed information about this topic. See Event Execution comparison between Smooth and compatible models.

In a Smooth model, the different parts of the form can be refreshed explicitly, using the commands for that purpose:

Security Issues

Since the Refresh event is not executed in every POST within a web page, the security code inside the Start Event is no longer executed in each POST as it used to.

In case of Authentication checking, with GeneXus Access Manager it is not necessary to do any particular programming inside the events because the authentication is checked every time the request is sent to the web server.

Otherwise, take into consideration the Security concerns in Smooth models.

Note

There's no need to take special considerations for SEO because the pages converted to GeneXus Evolution 3 and Smooth Web UX are indexable as in previous versions.

Troubleshooting

In Java until GeneXus X Evolution 3 Upgrade 11 and GeneXus 15 Upgrade 1, the following line and a stack trace appears in the standard output when an object with Web User Experience set to Smooth tries to navigate to a Previous Versions Compatible one: "sendResponseStatus 530 SPA not supported by the object".

See Also

Load Command and Load Method in User Events
Event execution on the client side in X Evolution 3