Due to the architecture of the smart devices applications generated with GeneXus, it is possible to update only part of them when changes have to be distributed. This flexibility gives us increased response speed.

The changes we make to the applications could affect the services layer, the metadata and/or other components packaged in the distributed binaries.

This document explains which changes in the Knowledge Base imply certain types of changes in the applications.

Requirements to keep on reading this article

The following documents must be read first:

Changes to the service layer without changing its interface

Any change to the services (without changing its interface) can be made without updating the version of the binary sent to the store. Once distributed, they are automatically reflected in the connected applications.

Examples:

  • Changes to the Start or Refresh event of a Smart Devices Object.
  • Changes to the REST procedures or REST Data Providers called from SD Objects Actions (everything except for changes to the parm).

Changes to the metadata (Minor Change)

Any change that affects the applications' metadata requires updating the application that is executed on the devices. It can be done with a Minor Change and therefore the binaries sent to the store don’t have to be updated.

The connected applications detect the change, update the metadata and keep on running with its new version.

Examples:

  • New Action (new button). It can even call a new screen/layout.
  • Changes to an Action (changes in parameters of calls to procs).
  • Control is associated with a User Control that is already used in another part of the application in the previous version.
  • Adding or deleting a column to a grid or any field to a screen.
  • Changing a control Class.
  • Enabling / disabling Caching.
  • Changing the Control property of the Dashboard.
  • Changes to Themes.
  • Change to the parm of a REST procedure or REST Data Provider, called from SD Objects Actions.

Changes to other components packaged in the binary (Major Change)

Any change that doesn’t involve the metadata but affects the binaries requires a redistribution of the application to the store.

Examples:

  • New image (in Layout, Action, Background, Theme, etc.).
  • A new User Control or External Object (a control starts referencing a User Control that is NOT used in the rest of the application, and therefore is not packaged).
  • Changing the main object (so that instead of a dashboard it is an SD panel).
  • Changing the GeneXus version.

Q: Is it applicable to Android, iOS and BlackBerry?

It is applicable to iOS, and this is verified when the application is executed or takes focus.

In Android, it works only when the application is completely shut down/killed.

In Blackberry (as of 06/12/12 12:01 PM) it hasn’t been implemented yet.