# PxPlus Releases

PxPlus 2017 (version 14.00) | May 2017

PxPlus 2017 consists of various new features and enhancements, including new Word and Excel Objects, a new Custom Title Bar feature, enhanced SQL performance, and new Security improvements.

## Major New Features

- Ability to create and apply Custom Title Bars to panels at different levels: System Wide, in Library Defaults and in Panel Header
- Support for TLS 1.2 with Certificate validation
- New Excel Object and Word Object interfaces
- New embedded Chromium Browser Object for displaying a Web page, executing JavaScript and subscribing to browser events
- Ability to add horizontal bar charts to Grid and List View controls
- PNG alpha channel support added to the 'PICTURE' mnemonic, Buttons, Check Boxes, Radio Buttons and Grid bitmap images
- New Link File Extensions (.pxplus and .windx) to simplify the creation and maintenance of shortcuts when upgraded versions of PxPlus and WindX are installed
- New SFTP Utility that interfaces with a server running an SFTP server

## Additional Features

Language Enhancements

- TEXT mnemonic enhanced to support both vertical and horizontal graphical text alignment
- Added:

- 'U8' system parameter logic to use Bit 6 (Value 32) to control UTF-8 Support in CVS, UCS and LCS functions
- New option for List Views to the SortOnHdrClick property to generate a CTL event and place an EOM code in the READ queue when the column header is clicked
- New Make New Folder button in WindX GET_FILE_BOX
- Ability to Enforce Journalization by restricting the closure of the journals or the disabling of journalization
- New 'AC' system parameter that enables the system to automatically convert values to either a STR( ) or NUM( ) function, depending on whether it detects a numeric value when expecting a string value (or vice-versa)
- Image Scaling support for List View controls
- Ability to use the Popup_Menu directive to invoke the system menu programmatically
- Font Mapping support to *PDF* when using LibHaru ('HP'=1)
- New Make Link File button to WindX Connection Manager for creating .windx link files as shortcuts to simplify connections
- New AutoFit Grid property that forces the associated Grid to resize the column currently selected by the 'Colno or 'Column property to the width required to fit its contents
- New mouse pointer icon when hovering over a button in a Grid

Enhanced IDE, NOMADS and Toolkit

- Included the Change Bulk Edit/Property Sort Order option in all NOMADS Panel Designers
- Improved accessibility to the creation and maintenance of Info Tips for all applicable controls
- Replaced Shell Explorer with the new Chromium Browser control throughout the toolkit (i.e. Google Maps)
- Dialogue attribute set to On by default for new panels created in NOMADS
- Enhanced Print Panel Utility to accommodate the printing of more groups
- Improved usability of the Bulk Program Scan/Edit Utility
- Improved usability of Grid Presets by clearing all values in the row when the Property column is changed
- Added:

- New Custom Title Bar to the development toolkit
- New Customize button to Library Object Selection
- New iNomads Menu to Library Object Selection for creating and testing panels in iNomads
- Vertical and horizontal alignment capability to Fonted Text controls in NOMADS
- New Library Bulk Edit Utility for globally changing panel header and control properties
- New Chromium Browser control to COM Control properties
- Full Screen Drag capability to panels at different levels: System Wide, in Library Defaults and in Panel Header
- Ability to create HTML-Type Info Tips
- Ability to apply Themes at different levels: System Wide, in Library Defaults and in Panel Header
- New Ignore Change Flag property to applicable controls (i.e. Check Box, Multi-line, etc.) to indicate whether the NOMADS CHANGE_FLG variable will be updated
- New Tab Height property to Folder controls to adjust the tab height for a sidebar Folder
- New Info Tip to the IDE History and Project tabs to list the task icons and the types they represent
- About dialog to the IDE menu bar to display detailed licensing information about the current PxPlus installation
- Ability to define Web Services as tasks that can be added to the IDE menu system
- New Logical File Name field to the System Utilities file information display for PxPlus Keyed and EFF files
- New Include Sub-Directories option in Project Maintenance that is used when building a list of tasks to add to a project

Security

- Updated SSL to OpenSSL version 1.0.2g libraries
- Added:

- Support for SNI (Server Name Indication) with TLS 1.2
- Ability to define any number of trusted servers for enhanced WindX Security
- Ability to add a Certificate and Pubkey to the client (workstation) when using Simple Client-Server interface

PxPlus Licensing and Registration

- Online Registration has been enhanced to handle version upgrades, expired keys and license moves.
- To allow for changes in the way user counts are controlled and to improve performance, the user count mechanism on Windows has changed for this release. As a result of this change, a Windows workstation cannot share its user slot between this version and any prior PxPlus version. For example, if a workstation runs both a PxPlus 2016 and a PxPlus 2017 concurrently using the same license file (ACTIVATE.PVX), this will be counted as two users.

Functions

- Added:

- New QPRINT format to the CVS function to convert to/from Quoted Printable text
- Support to the CVS function to accept HTML
- New FIN function value TLS that returns the protocol version number of TLS in use

Directives

- Added:

- New DEF NAR directive to reduce the number of arguments that a program sees
- New LOCK format to SYSTEM_JRNL OPEN directive to restrict the closure of the journals or the disabling of journalization
- New STATIC WHERE clause to SELECT directive when used with external databases

OPTION Mnemonics

- Added new options:

- SignalCaptionChg generates a specified CTL value nnnn when the caption on the current window is changed
- GrayDisabledBmp sets the display of images on disabled buttons to either gray scale or shadows
- ClrHighlight sets the background colors used to display currently selected items from a List Box or Drop Box and display the background in a Multi-Line when it has focus
- ClrHighlightText sets the text colors used to display currently selected items from a List Box or Drop Box and display the text in a Multi-Line when it has focus
- GridAlignLines sets Multi-line text (lines separated by line feed $0a$) in a Grid Button-style cell so that each line of text will be individually aligned as per the 'Align$ property

- Added new options for Customizing Radio Buttons and Check Boxes:

- CbxImage defines the pathname to the image to be used for the customized Check Box
- CbxMarkSize sets the size of the Check Box image to be used for the customized Check Box
- RbtImage defines the pathname to the image to be used for the customized Radio Button
- RbtMarkSize sets the size of the Radio Button image to be used for the customized Radio Button

> Note: All of the above options are also available to read using the FIN function.

Customizer

- Improved accessibility to Customizer at run time
- Added:

- Ability to create/remove the Customizer Definition file for a Library
- New Percent Bar custom display option for Application Files and Formulas
- New Customize button to Library Object Selection

Data Dictionary

- Improved accessibility to the Global Dictionary and added ability to update to the Global Dictionary from any Data Dictionary record
- Enhanced browsing capabilities in Data Dictionary Maintenance
- Added:

- Ability to copy from any Data Dictionary record when using Copy Data Dictionary functionality
- Ability to optionally Copy Key Definitions when using Copy Data Dictionary functionality

Ed+ Program Editor

- Improved line formatting behavior when using the END SWITCH directive
- Added:

- New slider between the Book Marks list and program work area to control the size of these sections
- F4 keyboard method for closing the selected program
- CTRL+O keyboard method for opening the standard GET_FILE_BOX

Data Validation

- Enhanced IOLIST directive with additional data validation attributes based on Data Dictionary elements
- Added:

- New data validation option to Data Dictionary Maintenance
- New validation option to all relational databases: ADO, DB2, MYSQL, OCI and ODB

Enhanced Database Access and Performance

- Added:

- Ability to update only changed fields in generated statements
- New STATIC WHERE clause to SELECT directive for enhanced External Database Access to filter the results before sending back to PxPlus

Enhanced Query

- Added:

- Two Query+ Views: Menu (no toolbar) and Hybrid (menu and toolbar, similar to the Classic Query)
- Ability to control which Query+ View to display at different levels: System Wide or in Query Definition
- Ability to include Horizontal Bar Charts in Query+
- Image Scaling support in Query+
- New Grid Lines option for displaying grid lines in Query+
- Themes support to Drop Query

Enhanced Web Services/Dashboard

- Enhanced Dashboard styling
- Added:

- Run-time error reporting to Web Services
- New Test button to Web Services Maintenance to check if a Web Service has been defined correctly
- Ability to customize Maintenance Web Services using a new *web/services/maint_style.css style sheet

Simple Client Server

- Added:

- Ability to Shut Down specific host processes
- New TCP options that can be specified for the Host (Server) and Client (Workstation) Command lines when using Simple Client interface

Utilities

- Added:

- Ability to create self-signed SSL Certificates
- New Data Mirroring Configuration Utility that provides an interface for the set up and operation of Data Mirroring processes
- Ability to specify the pathname to the server's SSL Certificate when creating an EZWeb Server Windows service or specify the pathname to a Forced Program when creating a Simple Client-Server Windows service
- New NOMADS Logging Tool to record key events and other processing in a log file
- New Clear button to Historical File Splitting Maintenance Utility for clearing the fields of a selected record

iNomads Enhancements

- Improved the Admin and IDE template styles and added new Cats template
- Enhanced TEXT mnemonic to support both vertical and horizontal graphical text alignment
- Enhanced SortOnHdrClick property for List View controls
- Added:

- New Template Configuration option to include a Help Button on the title line
- New Template Configuration option to Open a Menu on Hover rather than by clicking
- New Template Configuration option to select a Query View
- New Test Button to iNomads Setup window to display a template on a Web browser in Test mode
- Support for CELL DOUBLE CLICK to iNomads Grids
- Image Scaling support to List View controls

## Corrections and Minor Changes

- Improved usability and addressed a number of GET_FILE_BOX issues when using WindX
- Resolved issue with BEGIN * directive not closing certain global files
- Enhanced Program Compare logic to not display differences when comparing the same numbered and non-numbered program
- Modified 'CellFormat logic when formatting a large value in a Grid
- Resolved tab order issue when using embedded panels
- Improved the loading of data in Query+ when using a prefix on an alternate key
- Addressed issue with a popup menu appearing in a Grid without defining a popup
- Resolved the vertical centering of centered panels
- Enhanced the display of the PDF viewer in the Edge browser
- Improved the display of Shapes in the NOMADS Panel Designer when using a specified radius value
- Corrected problem with record length being adjusted due to field insertion in EFF file handling
- Resolved issue with losing function keys when using NOMADS+
- Corrected LST(IOL()) issue that caused the system to stop working
- Improved the display of Query buttons when Multi-line height is less than 1
- Corrected buffer allocation for Text property in a Grid
- Improved CVS URL formatting to correctly encode certain special characters
- Resolved issue with drawing a control at position 0,0 in NOMADS+
- Corrected problem with 'FOR WINDOW' objects not being dropped
- Improved *PDF* file handling when using FORM and ORIENTATION options
- Resolved Alt-Key issues in Data Dictionary Maintenance
- Fixed file pathing issue in Historical File Splitting utility
- Corrected issue with *IT creating a new line when pasting to a program using line numbers
- Improved WindX Command mode window cursor positioning when using backspace or arrow key
- Added Tip processor logic so that if TC=-2 is not set, it will only use INFOTIPS if the tip text starts with <!Doctype, <h1> or <html>
- New Transparent Background attribute added for Multi-lines in Bulk Edit Utilities
- New 'IL' system parameter added for controlling the LOCAL option

iNomads

- Adjusted Grid cell tips logic to improve display and support line feeds in iNomads
- Improved the handling of the color table
- Fixed issue with iNomads class when used as an expression
- Corrected problem with button click not being properly discarded in sidebar Folders
- Addressed issue with On Timer when defined on a panel
- Added support for # option in SortColFmt$ to Grids

## Additional Help Changes

- Enhanced Visual Class Assignment documentation for the Library Level and Panel Level
- Enhanced Themes documentation
- Improved IT Program Compare documentation
- Added EFF vs. VLR File Formats documentation
- Updated *web/email documentation for the -secure option
- Added *GETLOCALE Locale Settings documentation (Language Reference)
- Added HTML Editor documentation
- Updated Debugging documentation for the OPTION mnemonic
- Added Button Options documentation (NOMADS Graphical Application)

## Other Changes for Reference

NOMADS Properties Added

- %NOMADS'Drop_Qry_Color$ sets the default background color for Drop Query
- %NOMADS'Enable_Customizer_Popup, if set, enables the Customize Panel option on the panel popup menu system wide
- %NOMADS'Full_Screen_Drag', when set, applies full screen dragging to all applicable panels
- %NOMADS'LogFile$ contains the path of the current NOMADS log file
- %NOMADS'Menu_LeftEdge_Clr$ sets the left edge color for menu items
- %NOMADS'Menu_TextBackground_Clr$ sets the text background color for menu items
- %NOMAD_Min_Windx_Ver sets the minimum version number that can be run on the workstation
- %NOMADS'Query_GridLines is used to display grid lines in the Query
- %NOMADS'Query_View is used to select the default Query+ view to use
- %NOMADS'SidebarFolderTabHeight is used to set the system-wide default tab height for sidebar Folders
- %NOMADS'Theme$ sets the global (pre-defined) Theme to be used
- %NOMADS'ThemeOverride$, when set, overrides all other Theme settings
- %NOMADS'TitleBar$ is used to specify a panel and library to be used as the system-wide default custom title bar

Environment Variables Added

- PVX_CERTIFICATES defines the default setting for WindX SSL Certificate validation
- PVX_CERTSTORE defines the default WindX SSL Certificate store
- PVX_JOURNAL is used to start a SYSTEM_JRNL_OPEN and enable journalization with the option to apply a lock
- PXP_LOGFILE is the path of the log file used by the NOMADS Run-Time Events Logging tool
- PXP_CS_OPT is set on the WindX host to define any number of semi-colon separated options that will be added to the option specified on the host Command line
- PXP_CS_OPT_CLIENT is set on the WindX client (workstation) to define any number of semi-colon separated options that will be added to the option specified on the client Command line
- PXPSPAWN_CMD is used to force either NOHUP or SETSID when spawning a UNIX/Linux PxPlus session
- WDXTRUST is set on the client to define any number of trusted servers for enhanced WindX Security