What's New in Version 8.4.1?

This document covers the following topics:


Using NaturalONE in Your Own Eclipse Environment

The easiest and recommended way to install NaturalONE is to make use of the Software AG Installer. However, you may prefer to make use of your already existing Eclipse environment. A short description how to achieve this can be found in the section Using Your Own Eclipse in the Installation documentation.

Installation

The Software AG Designer 10.1, which includes NaturalONE, uses Eclipse Version 4.6.3. If you prefer to use NaturalONE in your existing Eclipse environment, Eclipse Version 4.6.3 is required. In addition, Java 1.8 is now required. See also Using Your Own Eclipse in the Installation documentation.

Basic Functionality for Natural Application Development

This section describes new features and enhancements in NaturalONE's basic functionality for Natural application development. It covers the following topics:

Command Handling

The following modifications/extensions in the command handling apply:

  • New key binding ALT+SHIFT+X, N has been introduced for the Run As > Natural application command.

    New key binding ALT+SHIFT+D, N has been introduced for the Debug As > Natural application command.

    Note:
    These key bindings match with the other Eclipse Run/Debug applications.

  • The Build Natural Project command has been moved into the NaturalONE menu

    New key binding ALT+B has been introduced for the Build Natural Project command.

  • The Rebuild Natural Project command has been moved into the NaturalONE menu

    New key binding ALT+R has been introduced for the Rebuild Natural Project.

Map Source Generation

It is now possible to generate all field attributes according to the Map Editors on UNIX and Windows. For further information, refer to the description of Map source generation in Map Editor in Setting the Preferences which is part of Using NaturalONE.

Label Filler Character in Maps

You can now choose the filler character to be used for text constant labels in maps between underscore, period (dot) and blank. For further information, refer to Map Editor in Setting the Preferences which is part of Using NaturalONE.

Maximum Number of Digits after Decimal Point

It is now possible to set the maximum number of digits after the decimal point that the Natural compiler generates for results of arithmetic operations using the new option Maximum Number of Digits after Decimal Point in the Options tab of the Natural Parser dialog. This option can be set in the general preferences as well as in the Natural project and library properties.

For further information, refer to Parser in Setting the Preferences, and the descriptions of the Parser properties in the sections Changing the Project Properties and Changing the Library Properties which are all part of Using NaturalONE.

DDM Object and File Names

DDM file names for newly-created DDMs are now based on their long names by default and the concept of an object name for this object type has been abandoned and dropped from the user interface. However, when adding a DDM to an existing project already containing a DDM with the same long name, the existing file is overwritten and the existing file name retained. These changes are designed to provide file name stability where a version control system is being used.

Jumping to Variable and internal Subroutine Definition in a Copycode

You can also jump to a variable definition (DEFINE DATA statement) or an internal subroutine definition (DEFINE SUBROUTINE statement) in a copy code.

For further details please refer to How the Jump to a Variable or Subroutine Definition in a Copy Code is Realized.

Parameter SYMGEN is replaced by GPGEN

A new parameter GPGEN has been introduced to further support the profiling and debugging of Natural applications. This parameter is used to generate specific profiling and debugging information which is currently only generated if the corresponding Natural object was compiled with SYMGEN=ON. With the introduction of GPGEN, it is no longer required and not recommended to use the SYMGEN profile parameter.

Refer to Event Trace in section Setting the Preferences and Debugging Natural Applications for further details.

Natural Code Coverage and Code Coverage Plugin for Jenkins

With NaturalONE Version 8.4.1, the code coverage functionality has been introduced. It is now possible to exactly examine the statements of a Natural application that have been executed during a specific run and that have not been executed. Tests can now be improved so that they raise the number of touched statements of a Natural application when executed.

Refer to Using the Natural Code Coverage in section Using NaturalONE for further details.

Using the new Natural Coverage Plugin for Jenkins, it is possible to visualize the outcome of a Natural coverage cycle directly in the Jenkins job result pages.

Refer to Using the Natural Coverage Plugin for Jenkins in section Using NaturalONE for further details.

Natural for Ajax / Ajax Developer

This section describes new features and enhancements in Natural for Ajax and Ajax Developer. It covers the following topics:

Clipboard Operations in Context Menus

In context menus of FIELD controls you can now also add clipboard operations. Paste operations are only supported in Internet Explorer 11. For an example see the CTMCLP-P.NSP sample in the Natural Ajax Demos.

ICONLIST Styling Enhancements

With the new style class ICONImageSelected the last selected icon in an ICONLIST control can now be marked. See the ICLSEL-P sample in the Natural Ajax Demos.

Responsive Chart Controls

Responsive chart controls RCHART and RPIECHART have been added. The controls can be integrated into mobile pages and into other pages. For further details, please refer to Responsive Chart Controls in section Mobile Controls.

Enhanced Style Sheet Editor

When changing style sheets with the Style Sheet Editor, it is now possible to search for specific variables where you want to change the variable values. For further details, please refer to Changing a Style Sheet in the section Style Sheet Editor of the Ajax Developer.

New Parameter pagepopupenterhotkey in the Ajax Configuration File cisconfig.xml

A new parameter pagepopupenterhotkey is available for use in the Ajax configuration file cisconfig.xml.

JavaScript Performance Optimization

Now less JavaScript files need to be loaded when a Natural Ajax page is loaded in the browser. The JavaScript files for the single controls are now compiled into several JavaScript files. This improves performance. These compiled JavaScript files contain a version number. This is to ensure that always the JavaScript file for which the Natural Ajax page has been generated is loaded in the browser's cache.

For more information about browser cache optimization see section Browser Caching.

BMOBILE:SIMPLEGRID with new Property features

The rendering of the responsive BMOBILE:SIMPLEGRID can now be customized using the new features property. Via this property, for example paging or searching can be switched on or off.

BMOBILE:SIMPLECOL with new Property visible

The responsive BMOBILE:SIMPLECOL control can now contain invisible columns. This is especially useful for internal keys of the items which are not supposed to be shown to the end-users.

BMOBILE:SIMPLEHEADERCOL with new Properties textid and titletextid

Multilanguage support has been added to the BMOBILE:SIMPLEHEADERCOL control

BMOBILE:SIMPLECOL with new Property datatype

Datatype support has been added to the BMOBILE:SIMPLECOL control.

New Control BMOBILE:GOOGLEMAP

The BMOBILE:GOOGLEMAP control is the responsive form of the GOOGLEMAP control. It supports the same data structures and events as the GOOGLEMAP control.

BMOBILE:BUTTON with new Property renderaslink

Responsive buttons can now be rendered as link.

NATPAGE with new Property pdfpageprop

Multiple PDF page layouts can now be applied to a NATPAGE layout. The PDF page layout name can be dynamically set from within Natural.

See section Working with PDF Documents.

Opening PDF Pages in SUBPAGE Controls

PDF page layouts can now be opened in SUBPAGE controls instead of opening them in a browser pop-up. See the corresponding sample in the Natural Ajax Demos.

Dropdown Button in Autocomplete

A dropdown button can now be added to autocomplete enabled FIELD and BMOBILE:FFIELD controls. When the dropdown button is clicked, a search for all items is done. See the description of the new properties autocompletedropdownicon and autocompletewithdropdown in the FIELD and BMOBILE:FFIELD controls for details.

STR with new Property alwaysonclick

Using the new property alwaysonclick it can now be customized whether in case of BUTTONs, ICONs, METHODLINKs etc., only the event of the BUTTON/ICON/METHODLINK is triggered or whether the event defined in the onclickmethod property of the STR (selectable table row) control is triggered as well. See STR Properties in the description of the ROWTABLEAREA2 control for further details.

Enhanced Tag Grouping in Layout Painter Palette

Deprecated controls have been moved to a separate tag group. Now for responsive pages exactly the tag groups with responsive controls and containers are shown.

Enhanced Layout Generation

The performance of the layout generation has been improved. Also the amount of generated files has been optimized. Per default, no *.swt files - required for Java Web Start access - are generated anymore because they are very rarely used. If you need them, switch on the parameter generateswt in the Ajax Configuration File cisconfig.xml.

New Servlet MashZoneDataSource

The MashZoneDataSource servlet supports to use individual Data Sources per Session. See the description of NJX:MASHZONE and BMOBILE:MASHZONE for further details.

New Control OPENSTREETMAP

With the new OPENSTREETMAP control, maps of OpenStreetMap can be integrated into pages. Markers can be added dynamically to the map from within Natural. Certain events are triggered in Natural by user interactions such as "click on the map". The control is available for responsive and non-responsive pages.

See the description of OPENSTREETMAP for further details.

BMOBILE:FFIELD and FIELD with new Property flushindexprop

Some controls like charts support a changeindexprop property to trigger a refresh in the browser. When setting flush="screen" in FIELD or BMOBILE:FFIELD controls the flushindexprop can be set to the changeindexprop of another control to automatically refresh this control.