# PxPlus Releases

PxPlus 2022 (version 19.00) | May 2022

PxPlus 2022 consists of various new features and enhancements, including Webster+, File Maintenance Generator and Report Writer enhancements, updated PxPlus security with OpenSSL 3.0.2 and much more.

## Major New Features

- Added OpenSSL 3.0.2 support
- Enhanced Webster+
- Enhanced File Maintenance Generator to support new Webster+ enhancements
- Updated the Chromium Browser Object to use the latest Chromium Embedded Framework (CEF) library
- Ability to define File Access Web services to simplify the creation of REST-based URL-style read and write requests for accessing files
- New PxPlus System Analysis utility to analyze and troubleshoot a PxPlus installation and setup
- New PxPlus Wiki to maintain application documentation

## PxPlus 2022 Enhancements

Language Changes

- Usability enhancements for adding Watch Variables and Break Points when using PxPlus Debugging Environment
- Ability to identify in the launch message and the system tray when EZWeb Server is running in Secure mode
- Enhanced Chromium Browser Object to display a warning page which users can choose to ignore if loading a Web page with a certificate error
- Ability to specify the maximum file size that the PxPlus Log File can attain when defining the Log File
- Added the ability to use HTML Named Colors
- Improved the CLIP system command to clip from the current program level instead of program level one

> OPTION Mnemonics

- Ability to specify the maximum file size that the PxPlus Log File can attain when defining the LogFile
  Note: The above option can be read using the FIN function.

Enhanced IDE, Nomads, iNomads and Toolkit

- New Secure fields added to the IDE EZWeb Server launcher

- SSL Certificate field to specify the PEM or PFX file containing server certificate information
- Certificate Key field to specify the PEM file containing the certificate private key
- PFX Password field to enter the PFX certificate password

- Enhanced capability for setting Folder tabs State colors by using %Nomads properties, Themes and Visual Classes
- Ability to Choose an Initial Sort Column when using a Smart List Box or Smart Grid
- Added Calendar Definition to the Utilities menu in both Library Object Selection and Nomads Session Manager
- Ability to assign a bitmap when the Text property for a Button, Check Box and Radio Button is defined as fixed, expression or message library reference

> File Maintenance Generator

- Ability to create Non-File Maintenance Forms for generating dashboard-like NOMADS panels and HTML pages
- Ability to define Additional Buttons (standard, hyperlink, drop list) to be placed before and/or after Browse and Action buttons
- Ability to enter Panel Notes
- Ability to add:

- Input Fields to NOMADS panels and HTML pages
- HTML Calculations to Data Dictionary elements on HTML pages
- Data Dictionary elements or additional variables as Hidden Fields for use in calculations on HTML pages
- Grids to HTML pages
- Drop List Type Button objects
- Text Fields to NOMADS panels and HTML pages

- Ability to add HTML Events to:

- Data Dictionary elements
- Smart List Boxes
- Smart Charts
- Images
- Input Fields
- Text Fields

- Ability to change the HTML Section Size using the right click menu in the Layout Grid
- Ability to add Half Horizontal Lines to NOMADS panels and HTML pages

> Webster+

- Webster+ Inspector changes

- Added New Text button for creating different types of text files
- Ability to View Text Files, Data Files, PDFs
- Ability to view File Information (data dictionary, data classes, etc.) for a selected data file via the PxPlus Wiki

- Added support to allow the use of certain PxPlus functions in Webster+ Calculations
- Added a PxPlus Wiki for maintaining your application documentation
- New Webster+ Setup options added to the Misc. tab

- Wiki Subsystem Enabled option to allow the system to check for Wiki documentation on the pages in the system
- Wiki Link Text option to enter the HTML text to display when Wiki documentation is available or can be added to the system
- Dynamic Wiki Creation option to allow the system to dynamically create basic Wiki documentation on-the-fly for the pages displayed
- Google Maps APIKey option to enter an API Key obtained from Google
- Enable MSGBOX directive option to allow the application to issue MSGBOX directives for display on the server console

- New Webster+ Methods

- AddRow method used to add a row to a Grid
- ChgRow method used to update an existing row in a Grid
- DelRow method used to delete an existing row in a Grid
- OptionBox method used to update a named infobox with message text followed by up to five options from which the user can select
- PopInput method used to provide an enhanced MsgBox that will prompt for input

- Ability to create Drag/Drop Lists
- New Webster+ Short Codes and Short Code Options

- Dragitem/Dropitem short codes that can be used interchangeably to define the items in a drag/drop list
- Draglist/Droplist short codes that can be used interchangeably to insert a box containing items that can be dragged/dropped to another drag/drop list or rearranged within the box itself
- Map short code for inserting a Google map directly into the HTML page
- Dataclass option that is used on the [input] short code to look up input characteristics based on the specified data class
- Dropmenu option that adds a drop arrow on the right edge of a button to launch the specified menu
- Dropon option that is specified on a drag/drop list and defines a comma-separated list of drag/drop lists into which its items can be dropped
- Itemclass option that defines the HTML class (CSS) to be applied to each of the items in a drag/drop list
- Key option that allows specification of the Google Map API key alignment
- Static option that is used on the [map] short code to indicate that the map is to display as a fixed image
- Symbol option that is used to declare the symbol to appear in front of the text for a drag/drop item
- Zoom option that defines the zoom factor for a [map] short code

- New Webster+ Classes for drag/drop lists

- Candelete class used to indicate that all items in the list are to have a small "x" on the right edge for deleting the item when clicked
- Fullline class used to indicate that all items in the list are to occupy the full line in the list, not just the width of the contents
- Square class used to indicate that all items in the list are to be drawn with square corners

- New Webster+ no_newline class that can be used on a [button] short code to suppress the new line that generally follows the button
- New Webster+ Events

- Addto event that can be applied to an [input] short code to indicate that the input value changed by the user will be added as a new item to the drag/drop list
- Map event that can be added to a button to display a popup window with a Google Map for the address provided

- New Webster+ Queries

- Calculator query to display a calculator keypad
- Google Map query to display a Google map for a specified address
- Open File query to display an open file selection dialog

- Added support for setting up Webster+ using an IIS Server

> iNomads

- Enhanced iNomads calendar logic to support multiple date formats
- Added a new default Image size when using an iNomads popup
- Added the ability to use HTML Named Colors

> Themes and Visual Classes

- Added text Alignment and Word Wrap capability for Buttons, Check Boxes and Radio Buttons
- Added Colors (States) properties for Folders
- Added Disable Background Color and Disable Text Color properties for Drop Boxes, List Boxes, Multi-Lines, Variable Drop Boxes and Variable List Boxes

> Data Dictionary

- Enhanced the entry of Notes associated with a selected data element
- Updated the GetIndexDescription$( ) method in database/PVXDb objects to show columns in descending order by appending "/d"

> Data Class Definition

- Added the ability to enter Notes associated with a Data Class definition

Views

- Added support for one to many relationships in the *VIEW* interface

Query Changes

- Ability to Choose an Initial Sort Column when the query is initially loaded
- Added support for Arrays in the Query definition

Report Writer

- New Post Report Logic option to specify a program or logic to invoke when a report is completed
- New Suppress Post Report Logic option to suppress execution of defined Post Report Logic while previewing or printing the report within the Report Designer
- Ability to define Dynamic Run-Time Filters by specifying the data elements that users can choose from to filter a report at run time
- Ability to specify the Destination Pathname for the output file of a report
- Ability to generate multiple individual reports based on data Groups within a report
- Ability to Force a New Page within a Detail line group
- New Ignore Class Validations option in Report Parameters to allow a value to be entered at run time that would not pass validation (e.g. Start/End value ranges)

PxIO Library and PxServer

- Upgraded to OpenSSL 3.0.2

Utilities and Commands

- *MAP utility that uses the Google Maps interface to display a popup window on the screen with the address specified
- *TOOLS/REGEXSUB utility to perform regular expression substitution similar to Apache RedirectMatch
- *TOOLS/HOSTTEST utility to test your system to confirm that WindX can spawn a subordinate task using the *plus/cs/spawn (*plus/spawn) utility
- *TOOLS/CHARTIMAGE utility enhanced to retrieve Chart Definition
- *TOOLS/SMS utility enhanced to allow SMS service name to be case insensitive

## Other Changes for Reference

Nomads Properties

- %NOMADS'Disable_Folder_Colors$ sets the default color(s) of a disabled folder tab
- %NOMADS'Disable_Folder_TextClr$ sets the color of the text displayed in the tab of a disabled folder
- %NOMADS'Hover_Folder_Colors$ sets the default hover color(s) of a folder tab
- %NOMADS'Hover_Folder_TextClr$ sets the hover color of the text displayed in a folder tab
- %NOMADS'Tab_Folder_Colors$ sets the default color(s) of a normal folder tab
- %NOMADS'Tab_Folder_TextClr$ sets the color of the text displayed in a normal folder tab

Properties

- CertErrExceptions$ property added to Chromium Browser Object to Get/Set a list of servers where certificate errors are ignored

INI Contents Options

- Ability to specify the maximum file size that the PxPlus Log File can attain when defining the LogFile

Environment Variables

- Ability to specify the maximum file size that the PxPlus Log File can attain when defining PXP_LOGFILE
- Added PXP_WEB_BSZ for setting a larger TCP block size (BSZ) value that will allow PxPlus Web Server to handle larger responses