WorkWithPlus for Native Mobile 7 Upgrade #3

This article is an overview of WorkWithPlus for Native Mobile Version 7 Upgrade #3 features and what needs to be taken into account to adopt it. You can read more about our release process in WorkWithPlus Release Process

This upgrade includes improvements in hierarchical editor features like 'Is Required', code formatting/sorting, loading skeleton for loading animations, a new API to enable NFC in your app and much more

Download

You can download the version from https://developer.workwithplus.com

Compatibility

This version is compatible with GeneXus 17 Upgrade 4 and higher.

Adoption

To include new templates, the user must re-run the Design System Wizard. Other features do not require further steps.

Upgrade #3.10

Release Date: 03/10/2022

Upgrade #3.9

Release Date: 25/07/2022

  • Fixed compatibility with GeneXus 17 Upgrade 10 iOS libraries

Upgrade #3.8

Release Date: 25/04/2022

  • Compatibility with GeneXus 17 Upgrade 9 latest preview

  • Logs improved on the NFC library

Upgrade #3.7

Release Date: 19/04/2022

  • An issue related to GeneXus Server was solved. This issue was causing the 'update' from GeneXus Server to fail if the user didn't have a valid license in the developer environment.

Upgrade #3.6

Release Date: 30/03/2022

Upgrade #3.5

Release Date: 25/02/2022

  • NFC Library is now compatible with Android 12

  • Fixed an issue with charts on iOS. Stacked Series are now displayed in the correct order.

Upgrade #3.4

Release Date: 29/12/2021

  • Fixed the code used to invoke the "Login" on the template "User information".

  • When GAM Authorization is configured, the menu items' default "visible condition" was changed. With this change, the default condition can be used without creating new GAM permissions. Now, by default, the panel's "Execute" permission will be requested.

  • Fixed an issue that was preventing the menu's refresh after the user logged in using one of the "Login" templates.

  • The setup program was modified to avoid ESET antivirus "false positive" validation.

Upgrade #3.3

Release Date: 06/12/2021

  • The function 'ImageManipulation.ImageIsSingleColor' was added. This function can be used to check if an image only contains a single color, e.g. image is "All white", or "All black".

Upgrade #3.2

Release Date: 22/11/2021

  • Fixed a compatibility issue in Android libraries with GeneXus 17 Upgrade #7: The issue was provoking some user controls and external objects to fail on specific cases.

  • Localization issues solved on Japanese environment.

Upgrade #3.1

Release Date: 03/11/2021

  • Fixed a compatibility issue in GeneXus 17 Upgrade #6: The issue was preventing the theme from being correctly assigned to each platform.

Upgrade #3

Release Date: 21/10/2021

New Features

 

General features

Check for updates

In this version, we distribute the new WorkWithPlus Check for Updates mechanism.

A new external object was added: NFC

This external object was designed to help users create applications that interact with NFC Tags (provided that the device has the required hardware).

Availability: Android

Please check the section 'NFC API', for more information.

nativemobile_template_TagScanner

New templates and stencils

In this upgrade we added some new templates:

  • 'NFC Tag scanner'
  • 'NFC Tag writer'
  • 'Wizard with fill gauge'
  • 'Wizard with step indicator'

nativemobile_template_TagWriter  nativemobile_template_WizardFill  nativemobile_template_WizardStep

Wizard templates

A new category of templates was created: 'Wizard'

When a Wizard is selected, WorkWithPlus for Native Mobile will generate the following objects:

  • Wizard controller Panel: This panel contains the generic logic to move between the wizard steps, and the general UI (steps indicators, gauge fill, next/previous buttons, etc)
  • Required events are added in the 'GlobalEvents' external object.
  • Example steps:
    • 'Welcome': A component Panel that can be used to welcome the user into the wizard
    • 'Plan Data': An example of a Data Entry step. Includes step validation and data saved to session sample logic.
    • 'List Data': An example of how to display, add or remove items in a list inside a step. Includes step validation and data saved to session sample logic.
    • 'Summary':  A summary that will display all the information entered in the sample steps above.
    • 'Success': A final step that displays a 'Success' message.

All the steps above are used as examples. The developer should create new Panels in order to manipulate real information.

Default WorkWithDevices components

New properties were added to WorkWithPlus for Native Mobile 7 Settings

These properties allow developers to customize the templates that will be used by default on each part when a 'List' template is applied over a 'Work With Devices' pattern instance.

nativemobile_settings_ww_defaultparts

The properties actually set the default value for the list templates properties:

  • Tabular sections display template
  • Tabular sections edit template
  • Grid sections template

Check the documentation of Customizing WorkWithPlus for Native Mobile Templates (version 7 or lower) for more details on these properties.

Loading skeleton

When this feature is turned on, WorkWithPlus for Native Mobile will change the loading animation of all templates with a 'loading skeleton' animation.

Check WorkWithPlus for Native Mobile template features for more details.

nativemobile_loadingskeleton_example

 

Font icons improvements

Font icons can now be used inside a Grid, e.g. to be used as a Grid action.

Compatibility was added with iOS Offline applications.

Animated tables improvements

Animated tables now include a "dark overlay" to simulate the native "Pop-up" experience.

Also, a new type of animated table was added: 'Centered Dialog'. This new element blocks interaction with the elements in the back.

 

Hierarchical editor features:

Improvements in 'IsRequired'

New features and customizations were added to the Native Mobile Is Required (version 7 or lower) functionality:

  • Text customization for multiple empty fields
  • Notify when a required field is empty after the field value changes

 

Source code and events improvements:

Insert line breaks at generated code

A new property was added to WorkWithPlus for Native Mobile 7 Settings that allows the user to decide if a "Line break" must be added automatically when WorkWithPlus for Native Mobile generates source code in an event.

e.g. When generating a "ControlValueChanged" event:

When set to "False" 

Event &FirstName.ControlValueChanged
    Composite
    // Generated by WorkWithPlus for Native Mobile [Start] - Editor.
    If &FirstName.IsEmpty()
        Msg('First Name is required', nowait)
    EndIf
    // Generated by WorkWithPlus for Native Mobile [End] - Editor.
    EndComposite
EndEvent

Meanwhile, when set to "True" 

Event &FirstName.ControlValueChanged

    Composite

    // Generated by WorkWithPlus for Native Mobile [Start] - Editor.
    If &FirstName.IsEmpty()
        Msg('The field "First Name" is required', nowait)
    EndIf
    // Generated by WorkWithPlus for Native Mobile [End] - Editor.

    EndComposite

EndEvent

 

Automatic composite

A new property was added to WorkWithPlus for Native Mobile 7 Settings that allows the user to decide if 'Composite/EndComposite' must be added automatically when an event requires it.

Events order

This feature allows the user to "sort" the Panel's events, using the following criteria:

  1. Standard events, ordered according to the "execution order": SlideStart, ClientStart, start, refresh, load
  2. Non-standard events, ordered by name
  3. Subroutines, ordered by name

nativemobile_editor_sortevents

 

Menu improvements:

Automatic functionality key check on menu items

When GAM is configured with 'Authorization', the menu automatically sets the 'Visible Condition' of the menu item to check for authorization using the Panel's 'Functionality Key'.

This means that by default, only the menu items the user has permission will be displayed.

The 'Visible condition' can be manually modified in case different logic is needed. Check the 'Hierarchical Editor features (version 7 or lower)' section for more details

Menu refresh mechanism

A new event named 'MobileMenuChanged' was added to the 'GlobalEvents'. This event can be used to signal the menu that it must refresh and load its items again.

Also, this event is now called by default on the "Login" and "Logout" events, so the user can easily define different menu items for different users or roles.

Fixed Issues

Events not refreshed while applying on WorkWithDevices objects

When any of the hierarchical editor's features were used like IsRequired or visible conditions, the generated user code was not correctly displayed. The object had to be closed and re-opened in order to see the changes in code.

Sample 'Cart' issue

The sample 'Cart' wizard failed when the user tried to add/remove an item.

iOS user controls compatibility for GeneXus 17 Upgrade 6

iOS user controls are now compatible with the upcoming GeneXus versions.