# PxPlus Releases

PxPlus 2023 (version 20.00) | May 2023

PxPlus 2023 consists of various new features and enhancements, including importing tables from External Databases, Two-Factor Authentication security, new Webster+ and File Maintenance Generator features, IDE Projects enhancements, updated PxPlus security with support for OpenSSL 3.1.0, and much more.

## Major New Features

- Improved overall application security by adding Two-Factor Authentication that can be used with either SMS or email in both Nomads and iNomads. This now matches the capabilities already available in Webster+.
- New capabilities in Webster+ include support for Tree Views, List Box pagination, and Chart drill down. The ability to share common security files with Nomads and iNomads has also been added, allowing users access to both Webster+ and iNomads applications from a single logon.
- Simplified database access for ODBC, MySql, Oracle, ADO and DB2 with the ability to directly create and maintain file prefixes and link files.
- Integrate PxPlus with non-PxPlus databases using various new tools and utilities designed to import and maintain links to external databases. Many of these new tools will also work on native PxPlus data files, making Data Dictionary maintenance easier than ever before.
- The IDE has been enhanced to better handle projects and associated control files. In addition, it is now easier to use the IDE over the Web, via any Internet browser or iNomads. Non-Windows development shops can now also use the IDE.
- Wiki pages can now be created dynamically for both your Nomads and Webster+ pages from information stored in the PxPlus Data Dictionary. This new feature makes it easy to generate and provide consistent online documentation for applications with a minimum amount of effort.
- The Remote Process server has had a major overhaul so that it can now be used to provide background access to workstation devices and resources. This is key in the development of Web-based applications where local access is needed.

## PxPlus 2023 Enhancements

Language Changes

- Added PrintToPDF method to the Chromium Browser Object *BROWSER to save the current contents of the browser as a PDF file
- Enhanced the shutdown tool tip message in the system tray for EZWeb, Simple Client Server and NTHost
- Ability to troubleshoot connection problems with PxPlus SQL Server by displaying an Info Page from a Web browser
- Added Apache-style Access Log capability to EZWeb

> Directives

- DUMP DISABLE directive for specifying variables that are not to be displayed during a dump operation

> OPTION Mnemonics

- ClrPlusZ_SB_Back option for setting the background color for any 'SB' data
- ClrPlusZ_SF_Back option for setting the background color for any 'SF' data
- ClrPlusZ_Text option for setting the text color
- DateFmt option for changing/setting the Date format to be used on the specified channel open to an ODB, MySql, OCI, DB2 or ADO database connection
  Note: The above options can be read using the FIN function.

Objects

- Added support for a self-hosted oAuth2 Agent to the *OBJ/OAUTH2 object
- Two-Factor Authentication properties and methods added to the *SECURE object
- SetNumFormat method added to the Excel Object to set the number format for a range of cells in a worksheet
- SetNumFormat method added to the Google Sheets Object to set the number format for a range of cells in a sheet
- NoChartDots property added to *OBJ/CHART to suppress the small dots that mark the data points on Area and Line charts

Enhanced IDE, Nomads, iNomads and Toolkit

- New option for saving Library Object Selection list box sort settings added to Library Defaults
- Added letter case support to Object Names when defining new objects in Nomads
- Copy Screen Objects utility can be used to change the letter case for existing objects
- Panel information can be displayed using the PxPlus Wiki by selecting the Wiki Info menu option in all screen designers
- Ability to identify that an Online Update is available for download via the *Update* item on the IDE menu bar
- Ability to specify Ed+ as the default Program Editor that Nomads and IDE History/Projects will use when editing PxPlus programs
- File Maintenance panels can be opened from the IDE History and Project lists
- Control Type added to Tab Order Definition to help identify controls
- Notes for individual controls and embedded panels are now available in all screen designers
- Wiki Help option added to the panel header to generate Help documentation directly from the panel and display it in the PxPlus Wiki
- HTML Named Colors support added to the Color Selections window for enhanced color selection

> Projects Enhancements

- Project Settings are now saved outside of PxPlus and will survive updates to future PxPlus releases (previously created projects are not carried forward)
- IDE, Nomads and Editors Settings are now saved by project
- Header color can be added to projects for easier identification
- Project settings can be Copied to Another Project
- Project Maintenance, which is used to add project tasks, can be accessed from the IDE Projects menu
- Project Name is now displayed in all screen designers

> File Maintenance Generator

- Button Bar objects can be defined for adding multiple buttons (standard, hyperlink, drop list) horizontally to Nomads panels and HTML pages
- Maintain Additional Buttons enhancements:

- Copy button for creating new additional buttons by copying existing ones
- Remove All Buttons button for deleting all additional buttons on the panel

- New Height default for Button objects that are added to Nomads panels and HTML pages
- Data dictionary fields added as Hidden Variables are displayed in gray text in the Fields list box as a visual cue only
- Hidden Variable Options can be defined for a hidden variable to enter an initial value or an HTML calculation
- Added visual cues (cell ticks) to the panel Layout Grid to easily identify fields that have an HTML Event, an HTML Calculation or both
- Screen Designer button added for opening regenerated file maintenance panels in the Nomads Panel Designer

> Webster+

- New graphical front-end Webster+ Install is accessible from the IDE
- New Statistics page available for system administrators that displays error dumps and various statistics (failed logons, password changes, new users, etc.) about running the Webster+ server
- Added Embed option for Menus and Sidebar Links that presents the Web page inside a Webster+ template
- Added support to the [Image/Picture] short code to return both the click location and image size into the _changed$ variable
- New Webster+ Setup option added to the Security tab:

- Use Nomads Security File option allows Webster+ to share the user registration files with Nomads

- New Webster+ Setup options added to the Misc. tab:

- File Maint to Use Message Box option controls whether messages will use message boxes or option boxes
- iNomads URL/Port option to specify the URL or port number for Using iNomads with Webster+
- Save Error Dumps option allows error dumps to be saved in the data/dump directory
- Error Dump Email Notification option to enter an email address to send a notification to when an error dump occurs
- New User Email Notification option to enter an email address to send a notification to when a new user creates an account

- New Webster+ Methods:

- Update(listboxname$) method updates the contents of a List Box
- Update(channelNumber) method updates the contents of a Tree View or Grid

- New Webster+ Short Codes and Short Code Options:

- Tree short code for adding Tree Views
- Maxwidth/Minwidth options to specify the maximum and minimum size of a section
- Pagerows option to add paginated output for a List Box to reduce the amount of data being loaded at one time

- New Webster+ Classes for Tree View lists:

- Cbx class adds check boxes in front of all tree view elements to allow items to be selected
- Lines class draws lines to connect items in the various levels
- Button class replaces level markers with buttons that can be toggled to open/close the level

- New Webster+ Special Event:

- *drill event can be applied to a [chart] short code for the purposes of providing a drill down on the set/point selected/clicked by the user

> iNomads Configuration

- Added the "iquery" iNomads Class that is automatically set by the system to indicate a query lookup panel

> *IT - Integrated Toolkit

- Expanded the Run menu to include options for launching HTML Editor and Report Designer
- Ability to Open Non-Program Files such as a PxPlus data file, a report definition file (*.pvr) or an HTML file
- Save Settings option is set to On by default to always save Options settings to the project-related files

> Ed+ Program Editor

- Updated to Version 1.5.0 of Ace Editor
- Enhanced existing File, Edit, Tools and Help menus with options that are also common to *IT
- Added Run, Version Control and Project menus to match *IT
- Ability to Open Non-Program Files such as a PxPlus data file, a report definition file (*.pvr) or an HTML file
- New .ini file used to save settings
- Added panel persistence to remember the size and location of a window
- Added keyboard shortcuts to commonly used functions on the Edit and Tools menus
- Added Autocomplete option to the Edit menu for on-demand usage
- Additions to Web Editor Preferences window:

- Live Autocomplete option for setting Autocomplete as a default without the need to invoke it on demand
- Font Size option for setting a font size when working with the editor
- Insert Tabs as Spaces option for inserting tabs as spaces instead of tabs
- Default Tab Stops setting changed from 5 to 6 to match *IT

> HTML Editor

- Added Open, Save and New Page buttons to the Tool Bar
- Added panel persistence to remember the size and location of a window
- New .ini file used to save settings

> Themes and Visual Classes

- Query Button Options added for multi-lines to define the attributes of query buttons

> Data Dictionary

- New Data Dictionary Maintenance utilities:

- Database Import utility for importing multiple table definitions to the data dictionary and creating database link or prefix files or PxPlus native files from an External Database (ODB, MySql, OCI, DB2 and ADO)
- Bulk Database Export utility for exporting multiple table definitions, loading table data from PxPlus native files into an external database, and creating database link or prefix files (ODB, MySql, OCI, DB2 and ADO)
- Bulk Edit Data Elements utility for applying bulk changes to data elements in multiple selected tables in the data dictionary
- Update Physical Files utility for updating/creating physical files for multi-selected PxPlus native files
- Database Export utility enhancements (formerly Database Conversion utility):
  ▪ Bulk Export button for launching the Bulk Database Export utility
  ▪ Update Link File button for updating/creating database Link Files
  ▪ Confirmations added to the Create Table and Load Table buttons to check for existing database tables

- Additional Data Dictionary Maintenance enhancements:

- File Type added to indicate whether the selected file is a PxPlus native file or a database link or prefix file
- DB Null if Empty option added to Element definition to allow a null value to be returned when interacting with a database link or prefix file
- Ability to view data in a database link or prefix file using the Data tool bar button in Data Dictionary Maintenance
- Data dictionary file information can be displayed using the PxPlus Wiki by selecting the Wiki Info menu option
- Ability to change the order of alternate keys in the Key Definition dialog
- Table descriptions added to the Lookup Tables Names dialog

- File Link Maintenance additions:

- File Links Express utility for quickly creating new cross-reference file links to other files in the data dictionary
- Generate a KEY=F1$:F2$ Expression check box added to the key builder utility for generating a multi-segment key expression when defining a data file link

> Data Class Definition

- Added Last Class Change date and time stamp that is automatically updated when a data class definition is changed
- Added support to allow numeric keys for Multi-Line data class extended validation

Views

- Generate a KEY=F1$:F2$ Expression check box added to the key builder utility for generating a multi-segment key expression when defining a data source relationship link

Query Changes

- Generate a KEY=F1$:F2$ Expression check box added to the key builder utility for generating a multi-segment key expression when defining a query file link
- Continue While option added to Query Selection Definition for stopping a query from processing based on entered criteria
- Find Text input field will be populated with the value passed to a query at run time to help with finding a matching record

Report Writer

- New Option to inherit cell attributes (font, color, alignment, etc.) from the column on the left when inserting a new column
- Dynamic Filters enhancements:

- Added Is Any of: ?|?|?|… filter condition that allows the entry of multiple values separated by the | (pipe) character or the selection of Multiple Values from a list
- Ability to select a value for a filter condition from a query list

Security

- Two-Factor Authentication security can be set up to require users to verify their identity through their email and/or SMS message accounts:

- Ability to set up an Email Server and/or SMS Text Message Server for sending authentication codes
- Ability to Define by User whether to turn authentication on/off or when signing on to new/expired devices
- Option to specify Authentication Duration interval in minutes, hours or days
- Users can be verified during logon via an Authentication Code sent to email, SMS text message or both
- New Password Toggle to hide/show the entered password

Remote Process Server

- Added support for workstations to run the Remote Process Server to have access to local files and devices

Utilities and Commands

- *TOOLS/UTCOFFSET utility added to get the UTC offset for the local time zone for a given date
- *TOOLS/SYSTEMANALYSIS utility enhanced with additional permission checks on all Library sub-directories
- Added Key definition information to the File View utility to identify keys more easily when searching records

PxPlus SQL ODBC Driver

- Updated to Version 7.10
- Supports accessing the PxPlus SQL Server from a Web browser to verify that it is running and get information about the server

## Other Changes for Reference

Nomads Properties

- %NOMADS'AutoLogon controls if the security system will automatically log on a Windows user based on his/her Windows User ID
- %NOMADS'WikiUrl$ sets the URL to be used with the Nomads Wiki
- %NOMADS'Program_Editor sets the default program editor that Nomads will launch when opening and editing PxPlus programs

Nomads Variables

- QRY_REC_COUNT query variable returns the number of records successfully selected at the point it is accessed

Parameters

- '*E' system parameter added to force a + sign after E when converting a string that contains a numeric in scientific notation

Properties

- Added "I" option to the FindOptions$ property to include a bitmap name when searching in a report view list box
- Password property is now a read/write property to allow a multi-line to be a Password field

Environment Variables

- PVX_UTF8 can be set to establish whether PxPlus will run in UTF-8 compatibility mode