Date: 04-06-2020 Subject: RELEASE 10.2A Runtime Files These release notes pertain to the following programs or files: EMBEDINI 10.2A 06 Apr 2020 10.2.1.500 EMBEDINI64 10.2A 06 Apr 2020 10.2.1.500 HEXDUMP 10.2A 06 Apr 2020 10.2.1.500 HEXDUMP64 10.2A 06 Apr 2020 10.2.1.500 MAKECLI 10.2A 06 Apr 2020 10.2.1.500 MAKECON 10.2A 06 Apr 2020 10.2.1.500 MAKECONET 10.2A 06 Apr 2020 10.2.1.500 MAKEDEF 10.2A 06 Apr 2020 10.2.1.500 MAKEMFD 10.2A 06 Apr 2020 10.2.1.500 MANAGECE 10.2A 06 Apr 2020 10.2.1.500 OBJMATCH 10.2A 06 Apr 2020 10.2.1.500 OBJMATCH64 10.2A 06 Apr 2020 10.2.1.500 ODBCINST64 10.2A 06 Apr 2020 10.2.1.500 PLBCGI 10.2A 06 Apr 2020 10.2.1.500 PLBCLICON 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBCLIENT 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBCLINET 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBCON 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBCONET 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBNET 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBSERVE 10.2A 06 Apr 2020 10.2.1.500 (Processed Server) PLBSERVET 10.2A 06 Apr 2020 10.2.1.500 (Threaded Server) PLBWEBSRV 10.2A 06 Apr 2020 10.2.1.500 (Processed Server) PLBWEBSRVT 10.2A 06 Apr 2020 10.2.1.500 (Threaded Server) PLBWIN 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 6) PLBCLICON5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBCLIENT5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBCLINET5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBCON5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBCONET5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBNET5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) PLBWIN5 10.2A 06 Apr 2020 10.2.1.500 (ComCtl 5) SUNAAMDX 10.2A 06 Apr 2020 10.2.1.500 SUNAAMDX64 10.2A 06 Apr 2020 10.2.1.500 SETGUID 10.2A 06 Apr 2020 10.2.1.500 SUNINDEX 10.2A 06 Apr 2020 10.2.1.500 SUNINDEX64 10.2A 06 Apr 2020 10.2.1.500 SUNLS 10.2A 06 Apr 2020 10.2.1.500 SUNMOD 10.2A 06 Apr 2020 10.2.1.500 SUNMOD64 10.2A 06 Apr 2020 10.2.1.500 SUNSORT 10.2A 06 Apr 2020 10.2.1.500 SUNSORT64 10.2A 06 Apr 2020 10.2.1.500 WININST 10.2A 06 Apr 2020 10.2.1.500 PLBNETSUP.DLL 10.2A 06 Apr 2020 10.2.1.500 Required for PLBNET PLBWSEC.DLL 10.2A 06 Apr 2020 10.2.1.500 Req'd PLBWIN/PLBNET ODSBAC32.DLL 10.2A 06 Apr 2020 ODSBAC64.DLL 10.2A 06 Apr 2020 SA_DLL32.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWADO.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWADO25.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWADO28.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWMSQL.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWODBC.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWSRV.DLL 10.2A 06 Apr 2020 10.2.1.500 SUNWSRV64.DLL 10.2A 06 Apr 2020 10.2.1.500 Required for Sundm64 PLBCLI.ZIP 10.2A 06 Apr 2020 10.2.0.600 (ComCtl 6) PLBRUN.ZIP 10.2A 06 Apr 2020 10.2.0.600 (ComCtl 6) DBGIFACE 10.2A 06 Apr 2020 PLBCMP 10.2A 06 Apr 2020 PLBDBUG 10.2A 06 Apr 2020 ADMEQU.INC 10.2A 06 Apr 2020 PLBEQU.INC 10.2A 06 Apr 2020 PLBMETH.INC 10.2A 06 Apr 2020 *============================================================================== Notes for some NEW Items: - Apple systems only support 64-bit applications starting with the MacOS Catalina version. Starting with release 10.2A, the Sunbelt Mac Intel runtime and utilities are only being built as 64-bit binaries. The PL/B Apple 64-bit runtime can be used on any Apple Mac Intel system that supports 64-bit applications. - Added 'BootStrap 4' framework support for PL/B Web Server. - Modified PWS Server to support PHP requests. - Modified PWS Server to support REST FastCGI. - Modified SCAN to perform case insensitive scans. - Copyright of all Sunbelt products has been updated. *============================================================================== Notes for DOCUMENTATION: - In the PL/B Language Reference manual under the section named 'Connect Method (FTP)', change the following: Change the 'host' parameter description to read as follows: host Required. A Character String Variable or string literal that specifies the host name or IP address with an optional port number used to make a socket connection to the FTP server running at the host. If the port number is not specified, the default port is 21. Change the Note 3 description to read as follows: 3. The {host} string can be formatted as follows: {hostname}[:portnum] or {ip address}[:portnum] Example: 'ftp.myserver.com' or '12.345.678.90' In this case, the default port number of '21' is used. 'ftp.myserver.com:21' or '12.345.678.90:21' In this case, the port number of '21' is specified. - In the PL/B Language Reference manual under the 'WINDOW Methods' section, the 'MonitorInfo' link is connected to the 'MouseWheelMode' method description. - In the PL/B Web Server manual under the 'PLBWEB_IDLE_MAX_TIMEOUT Keyword' section, change the second paragraph to read as follows: "By default, the PL/B Web Server terminates any child task that remains idle for an elapsed time longer than 1440 minutes (i.e. 1 day) when this keyword is not used. Otherwise, this keyword can be used to set the appropriate number of minutes that a child task can remain idle before being terminated. The minimum allowed value for the {minutes} is 5 minutes." - In the PL/B Web Server manual under the 'PLBWEB_IDLE_TIMEOUT' section, change the descriptions as follows: Change the following: "This optional keyword defines the number of minutes that can elapse before a child task is placed in an idle state." to "This optional keyword defines the number of minutes that can elapse before a child task is placed in an idle mode that allows its license to be reused when a PL/B program remains in the same ALERT, ERROR dialog, KEYIN, MENU, EVENTWAIT instruction, or a Modal dialog for an extended period of time." Change the following: "By default, the PL/B Web Server places a PWS child task in the 'idle' state after 15 minutes when this keyword is not used. Otherwise, this keyword can be used to set the appropriate number of minutes before a child task is placed in an idle state." to "By default, the PL/B Web Server places a PWS child task in the 'idle' reuse license mode after 15 minutes when this keyword is not used. Otherwise, this keyword can be used to set the appropriate number of minutes before a child task is placed in an idle reuse license mode." Change the following notes to read as follows: Note: 1. If the elapsed time for the idle timeout expires while a child task remains in the same ALERT, ERROR dialog, KEYIN, MENU, or EVENTWAIT instruction, the child task is placed in an 'idle' reuse license mode. Likewise, a child task is placed in an 'idle' reuse license mode if the program execution remains in the PWS runtime MODAL internal event process when the idle timeout expires. 2. A child task in the 'idle' reuse license mode may or may not have control of a PWS pending licensed user count. - In the PL/B Language Reference manual under the 'JqmOptions Method (RUNTIME) section, change the description of the Note (3.) to read as follows: 3. This method only takes affect when the PWS runtime is executing in the JQuery Mobile mode. The JQuery Mobile mode is activated when the '.plm' or 'plcm' mime type starts the PL/B program in the client browser URL string. - In the PL/B Web Server under the 'JQuery Mobile Support' section, change the Note (2.) as follows: Change '.plm' to include both '.plm' and '.plcm' mine types. - In the PL/B Web Server manual, add a 'PHP Support' section that reads as follows: PHP Support The PL/B Web Server PHP support is implemented to invoke a PHP runtime engine using either the CGI interface or FastCGI interface. 1. The PWS PHP support is enabled when the PLBWEB_PHP_LOCATION keyword is specified in the 'plbwebsrv.ini' configuration to identify the directory where the PHP software is installed on the on the system running the PWS server. Example PHP FastCGI configuration for PWS server: PLBWEB_PHP_LOCATION=c:\sunbelt\php\ PLBWEB_PHP_MAX_COUNT=2 PLBWEB_PHP_PORTNUM=9000 PLBWEB_PHP_SSL=BOTH PLBWEB_PHP_USE_FCGI=ON 2. PHP support using FastCGI is only available when the Windows OS PL/B Web Server is being used. 3. The PHP software can be obtained from the www.php.net link. - In the PL/B Web Server manual, add the following PHP keyword descriptions: --------------- PLBWEB_PHP_LOCATION={path} This keyword is required and is placed in the [Environment] section of the PWS configuration INI file. This keyword specifies the path to the PHP software installation Where: {path} - Directory where the PHP runtime engine is loaded and invoked from. Notes: 1. If this keyword is configured, the PWS will add support for the .php mime type. 2. The PWS software uses the php-cgi executable and the PWS CGI/FastCGI interfaces to provide PHP support. 3. The PHP software can be obtained from www.php.net. Example: PLBWEB_PHP_LOCATION=c:\sunbelt\php\ In this case, the 'php' software has been installed and is located in the 'c:\sunbelt\php\' directory. --------------- PLBWEB_PHP_MAX_COUNT={value} This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the maximum number of active PHP tasks . Where: {value} - The value provides a limit to the number of concurrent PHP tasks. Notes: 1. The value can be from 1 to 100 for PHP tasks running under the FastCGI interface. In this case, a value of 0 defaults to a maximum count of 5. Also, if this keyword is not used, the maximum count of 5 is used. 2. The value can be from 0 to 2000 for PHP tasks running under the CGI interface. A value of 0 indicates that no maximum count should be used. Likewise, if this keyword is not used, there is no maximum count used. 3. If more requests are made than available PHP tasks, the requests will be place in a queue. If any request is not processed within the time specified by the PLBWEB_CGI_TIMEOUT value, an error will be returned. Example: PLBWEB_PHP_MAX_COUNT=10 When PHP FastCGI is turned on, this keyword allows ten PHP runtime instances to exist at the same time for processing PHP requests. --------------- PLBWEB_PHP_PORTNUM={portnum} This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It specifies a starting port number for the PHP FastCGI interface. Where: {portnum} - The {portnum} value can be any unused TCP/IP port number. Notes: 1. If this keyword is not used, the default value is 9000. 2. The port number range will be from the number given to the number plus the PLBWEB_PHP_MAX_COUNT value. 3. If the PLBWEB_PHP_SSL is set to BOTH, an additional PLBWEB_PHP_MAX_COUNT value will be added to the range. Example: PLBWEB_PHP_PORTNUM=2050 --------------- PLBWEB_PHP_SSL={parameter} This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the type of protocol available when accessing the PWS PHP service. Where: {parameter} - The parameter can be specified as 'ON', 'OFF', or 'BOTH' invoking the following PWS behaviors: ON - PL/B PHP service is available using the HTTPS protocol. In this case, the PLBWEB_SSL_ADDRESS keyword must be configured to enable a PWS SSL listening socket. OFF - PL/B PHP service is not available using the HTTPS protocol. BOTH - PL/B PHP service is available using both the HTTP and HTTPS protocols. In this case, both the PLBWEB_ADDRESS and PLBWEB_SSL_ADDRESS keywords must be configured to provide socket listening sockets. --------------- PLBWEB_PHP_USE_FCGI={parameter} This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the PHP task interface to be used by the PWS server. Where: {parameter} - The parameter can be specified as 'ON', or 'OFF' invoking the following PWS behaviors: ON - Invokes the PHP runtime engine with a command line option to use PHP FastCGI. OFF - Do not use PHP FastCGI runtime command line option. Notes: 1. When this keyword is set to OFF, the PL/B PHP service uses the CGI interface. This is the default behavior if this keyword is not used. 2. The CGI interface creates a new process for each request. 3. When this keyword is set to ON, the PL/B PHP service uses the FastCGI interface. 4. The FastCGI uses persistent processes to handle a series of requests. 5. Each PHP FastCGI process is started when the PWS starts. 6. If a FastCGI process fails, it is locked out. This reduces the PLBWEB_PHP_MAX_COUNT by one. Optionally, an error is logged and an email message is sent when the administrative email services are enabled. Example: PLBWEB_PHP_USE_FCGI=ON - In the PL/B Language Reference manual under the 'SCAN' instruction section, change the descriptions as follows: Add a format (2) as follows: (2) [LABEL] SCAN {source},{dest}[{sep}{wildcard}][: NOCASE][: WILDCARD={wildcard}][: GETFP={destfp}] Change 'Where:' descriptions as follows: source Required. A previously defined Character String Variable, National Character String Variable, or Literal that is to be found in the {dest} variable. dest Required. A previously defined Character String Variable or National Character String Variable in which {source} is searched. wildcard Optional. A previously defined Character String Variable, National Character String Variable, or single character literal indicating the character treated as wildcard value. Notice, the {wildcard} is the same data is the same when using Format (1) or Format (2). destfp A previously defined Numeric Variable that receives the FP of dest operand character where the SCAN has found the string specified in the source operand. Add Note (7.) description as follows: 7. Mixing NCHAR/NLITERAL and DIM/LITERAL data types is not allowed for the {source}, {dest}, and {wildcard} operands. Otherwise, an appropriate compiler error is generated. - In the PL/B Runtime Reference under the 'PLBCMP Command Line Syntax' section change the 'Y' option to read as follows: Y[=nn] - Abort compiler after detecting 1 to '99' errors. Y - Abort compile upon detection of first error. Y=20 - Abort compile after detecting '20' errors. See Note ( 10. ) for information on option syntax. - In the PL/B Runtime Reference under the 'PLBWIN Command Line' section remove the 'a' option from the Note (2.) options. - In the PL/B Runtime Reference under the 'PLBWIN Command Line' section change the 'f' option in the Note (2.) options to read as follows: f - causes the runtime to adjust the font size for the main window ( MAINWINDOW ) depending on the horizontal resolution of the screen being used. If the horizontal screen width is larger than 800 pixels, the Windows PL/B runtime sets the main window font size to be 15.0 point. In this case, the PL/B main window becomes larger by default. If this option is not used, the main window font size defaults to a 9.0 point font size which causes the main window to be smaller. - In the PL/B Web Server manual, add the following REST keyword descriptions to the 'Server Configuration Keywords' as follows: --------------- PLBWEB_REST_MAX_COUNT= This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the maximum number of active REST tasks . Where: 'nn' The 'nn' that is appended to the PWS keyword name can be a string value from '01' to '99'. The value provides a limit to the number of concurrent REST tasks. 1. The value can be from 1 to 100 for REST tasks running under the FastCGI interface. In this case, a value of 0 defaults to a maximum count of 5. Also, if this keyword is not used, the maximum count of 5 is used. 2. The value can be from 0 to 2000 for REST tasks running under the CGI interface. A value of 0 indicates that no maximum count should be used. Likewise, if this keyword is not used, there is no maximum count used. 3. If more requests are made than available REST tasks, the requests will be place in a queue. If any request is not processed within the time specified by the PLBWEB_CGI_TIMEOUT value, an error will be returned. Example: PLBWEB_REST_MAX_COUNT01=10 --------------- PLBWEB_REST_PORTNUM=   This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It specifies a starting port number for the REST FastCGI interface. Where: 'nn' The 'nn' that is appended to the PWS keyword name can be a string value from '01' to '99'. The value can be any unused TCP/IP port number. 1. The default value is 9000. 2. The port number range will be from the number given to the number plus the PLBWEB_REST_MAX_COUNT value. 3. If the PLBWEB_REST_SSL is set to BOTH, an additional PLBWEB_REST_MAX_COUNT value will be added to the range. Example: PLBWEB_REST_PORTNUM01=2000 --------------- PLBWEB_REST_SSL=   This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the type of protocol available when accessing the PWS REST service. Where: 'nn' The 'nn' that is appended to the PWS keyword name can be a string value from '01' to '99'. The parameter can be specified as 'ON', 'OFF', or 'BOTH' invoking the following PWS behaviors: ON - PL/B REST service is available using the HTTPS protocol. In this case, the PLBWEB_SSL_ADDRESS keyword must be configured to enable a PWS SSL listening socket. OFF - PL/B REST service is not available using the HTTPS protocol. BOTH - PL/B REST service is available using both the HTTP and HTTPS protocols. In this case, both the PLBWEB_ADDRESS and PLBWEB_SSL_ADDRESS keywords must be configured to provide socket listening sockets. Example: PLBWEB_REST_SSL01=BOTH --------------- PLBWEB_REST_USE_ENV=   This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls how the environment parameters are passed to the PL/B runtime REST process task(s). Where: 'nn' The 'nn' that is appended to the PWS keyword name can be a string value from '01' to '99'. The parameter can be specified as 'ON', or 'OFF' invoking the following PWS behaviors: ON - PL/B REST service will have the parameters passed in memory. OFF - PL/B REST service will have the parameters passed by a disk file.  Example: PLBWEB_REST_USE_ENV01=ON --------------- PLBWEB_REST_USE_FCGI=   This keyword is optional and can be placed in the [Environment] section of the PWS configuration INI file. It controls the REST task interface. Where: 'nn' The 'nn' that is appended to the PWS keyword name can be a string value from '01' to '99'. The parameter can be specified as 'ON', or 'OFF' invoking the following PWS behaviors: 1. When the parameter is OFF, the PL/B REST service uses the CGI interface. This is the default. 2. The CGI interface creates a new process for each request. The RUNTIME method HttpResponse can be used to return a result. 3. When the parameter is ON, the PL/B REST service uses the FastCGI interface. 4. The FastCGI uses persistent processes to handle a series of requests. The RUNTIME methods HttpRequest, HttpStdinSize, HttpStdinData, and HttpResponse are used to process each request. 5. Each FastCGI process is started when the PWS starts. 6. If a FastCGI process fails, it is locked out, reducing the PLBWEB_REST_MAX_COUNT by one. Optionally, an error will be logged and an email message will be sent when the administrative email services are enabled. Example: PLBWEB_REST_USE_FCGI01=ON - In the PL/B Web Server manual, add the following keyword description to the 'Server Configuration Keywords' as follows: --------------- ADMIN_MAIL_FCGIERRORS Format: ADMIN_MAIL_FCGIERRORS={on|off} Send an email when the Web Server encounters a FCGI error that causes either a PHP or REST task to be locked using a specified port number. Notes: 1. If this keyword is set to 'on', this administrative event is enabled to allow an email to be sent when a FCGI error occurs. 2. If this keyword is set to 'off' or it does not exist, the default behavior is to disable this administrative event which prevents an email when a FCGI error occurs. - In the PL/B Web Server manual, change the 'PLBWEB_REST_CMDLINE Keyword' section as follows in support of CGI/FastCGI changes: A. Modify/add the Examples to read as follows: CGI Examples: PLBWEB_REST_CMDLINE01=plbwin -h %s %s PLBWEB_REST_CMDLINE02=c:\mydir\plbnet -i %s %s PLBWEB_REST_CMDLINE99=plb -h %s %s FASTCGI Examples: PLBWEB_REST_CMDLINE01=plbwin -h %s phonefcgi PLBWEB_REST_CMDLINE02=c:\mydir\plbnet -i %s phonefcgi PLBWEB_REST_CMDLINE99=plb -h %s phonefcgi B. Change the Notes 1. and 2. to read as follows: 1. For CGI based REST services, two '%s' strings are used, but FastCGI REST services use only one. 2. When a PL/B CGI REST web service is detected in a URL the first '%s' is replaced by the PWS server with '-cgi ' string. The is automatically created by the PWS server. 3. For a CGI based REST service the second '%s' in the command line is replaced by the PWS server with the first segment following the base URL segment. All other segments after the second segment must be decoded in the PL/B program after retrieving the REQUEST_URL keyword data using the RUNTIME 'CgiString' method. Note, that a URL segment is the data between adjacent '/' characters in the URL. 4. For a FastCGI REST service the command line is used to start the REST task when the PWS server is initialized. The '%s' is replaced by the PWS server with '-cgi ' string. - In the PL/B Web Server manual, change the 'PLBWEB_CGI_TIMEOUT Keyword' section description to read as follows as follows for PHP support: This keyword controls the elapse time from three (3) to 600 seconds as the REST or PHP PWS child thread waits for a response from a PL/B runtime executing a program performing a REST API or PHP operation. If this keyword is not specified, the default time of ten (10) seconds used. If the REST or PHP PWS child thread times out without receiving a response, a HTTP error code 500 is returned to the client browser performing the REST or PHP request. - In the PL/B Language Reference manual, modified the 'HttpResponse Method (RUNTIME)' description for the RUNTIME object as follows: Modify the 'HttpResponse' overview description for FastCGI to read: "The HttpResponse method formats program data into a valid Http message that is output to the runtime StdOut channel and terminates any active FastCGI session. The method uses the following format:" Modify the 'HttpResponse' output parameter description to replace 'stringptional' with 'string'. Where: outfile Optional. A Character String Variable or string literal that contains the name of a data file where the response data is to be stored. This parameter debugs the REST program output. - In the PL/B Language Reference manual, add the following new methods descriptions to the RUNTIME object methods used for the PWS server FastCGI implementation. --------------------------------------------------------------------- HttpRequest The HttpRequest method check to see if a FastCGI session should be started. The method uses the following format: [label] {object}.HttpRequest [GIVING {return}]: USING [[*TimeOut=]{timeout}][: [*Options=]{options}]   Where: label Optional. A Program Execution Label. object Required. A RUNTIME object that has been previously declared. return Optional. A Numeric Variable that returns the pass\failure values for the execution of the method. timeout Optional. A Numeric Variable or decimal number that specifies the number of seconds to wait for a FastCGI session request. The default is one second. options Optional. A Numeric Variable or decimal number that specifies a bit mask value that controls the behaviors of this method. Flags Affected: OVER, ZERO Note the following: 1. The ZERO flag is set to TRUE if the {return} value is zero. 2. The {return} value indicates whether the method passes or fails for this method as follows: Value Description 0 A FastCGI session has been initiated. 1 The PWS Server has requested the program to SHUTDOWN. 2 No FastCGI session was requested before the timeout period. 3 A previous FastCGI session is still in progress. 4 FastCGI mode is not active. 5+ An operational error has occurred during FastCGI mode.   3. The OVER flag is set to TRUE if the {return} variable is too small to receive the numeric result. 4. Once a FastCGI session is active, the HttpStdinSize and HttpSdtinData can be used to obtain STDIN data. 5. The HttpResponse method is used to complete a FastCGI session. --------------------------------------------------------------------- HttpStdinSize The HttpStdinSize method returns the size of STDIN data available to the program during a FastCGI REST operation. The method uses the following format: [label] {object}.HttpStdInSize [GIVING {return}] Where: label Optional. A Program Execution Label. object Required. A RUNTIME object that has been previously declared. return Optional. A Numeric Variable that returns the size of STDIN data. Flags Affected: OVER, ZERO Note the following: 1. The ZERO flag is set to TRUE if the {return} value is zero. 2. The {return} value indicates the maximum amount of data that can be obtained using HttpStdinData method.  3. The OVER flag is set to TRUE if the {return} variable is too small to receive the numeric result. --------------------------------------------------------------------- HttpStdinData The HttpStdinData method retrieves STDIN data for a FastCGI session. The method uses the following format: [label] {object}.HttpStdinData [GIVING {return}]: USING [[*Offset=]{dirtype}][: [*Options=]{options}] Where: label Optional. A Program Execution Label. object Required. A RUNTIME object. return Optional. A Character String Variable that receives the STDIN data. Offset Optional. A Numeric Variable or decimal number that specifies the starting offset into the STDIN data. The default is an offset of zero. options Optional. A Numeric Variable or decimal number that specifies a bit mask value that controls the behaviors of this method. Flags Affected: EOS, OVER, ZERO Note the following: 1. The EOS flag is set TRUE if the {return} Character String variable is too small to receive the STDIN data without being truncated. 2. The ZERO and OVER flags are always cleared. 3. The HttpStdinSize method can be used to predetermine the size of the STDIN data. - In the PL/B Web Server manual under the section 'Directories, Files, and Shortcuts', add the following description for 'plbwebboot.html'. plbwebboot.html This HTML script is the entry script logic executed at the PWS client when the URL specifies the '.plcb' to use 'BootStrap 4' framework. - In the PL/B Web Server manual under the section 'Get Started' section, make the following changes: Under the 'PL/B Web Client Program Startup' notes, add a Note (4.) as follows: Note: 4. The PWS Server supports multiple mime types which can be used in the client browser URL that is used to start a PL/B program at the PL/B Web Server and invoke specialized HTML/CSS/JS frameworks. The PWS Server supports the following mime types: plc - Used in URL to invoke normal PL/B operations and behaviors. When this mime type is detected by the PWS Server, the 'plbwebstart.html' script is executed at that client browser. plcb - This mime is used in the URL to invoke the PL/B program while using the 'BootStrap 4' framework. In this case, the 'plbwebboot.html' script is executed at the client browser and the 'BootStrap 4' HTML/CSS/JS files are loaded. plcm - This mime is used in the URL to invoke the PL/B program while using the 'JQuery Mobile Framework'. In this case, the 'plbmobstart.html' script is executed at the client browser and the 'JQuery Mobile' HTML/CSS/JS files are loaded. - In the PL/B Language Reference manual, add a new Note (10.) to the 'INNERHTML Property' as follows: Note: 10. When an HTML page is being rendered into an HTMLCONTROL object, the HTML data can include specialized HTML comments that contain HTML data that is ONLY used by a specific type of runtime ( PLBWIN or Plbwebsrv ). The format of the HTML comments MUST start with '

Button Group

The .btn-group class creates a button group:

- In the PL/B Language Reference manual, add a new 'SetOption Method' for the RICHEDITTEXT object. The 'SetOption' method is described below. *============================================================================== The following files have been changed as noted: ------------------------------------------------------------------------------- PLBSERVE - Modified the CLIPSET instruction executed by the PL/B Application Server to behave/process the same as PLBWIN when a NULL DIM variable is specified in the CLIPSET variable list. This corrects a problem using the APS where a NULL DIM variable in the CLIPSET variable list could prematurely terminate the clipboard data added prior to the NULL DIM variable. ------------------------------------------------------------------------------- PLBWEBSRV (HTML\JS\CSS) - Modified to support 10.1B changes. plbwebbasic.css 10.1B 190424 plbwebbasic.js 10.1B 190429 plbwebboot.html 10.2A 191210 plbwebctls.js 10.1A 190103 plbwebmob.js 10.0A 180402 Support jQuery Mobile plbwebtvcssinfo.html 9.9 161028 plbmobstart.html 10.0A 180402 Support jQuery Mobile plbwebstart.html 10.0A 180402 plbwebstart99a.html 9.9A 170428 ------------------------------------------------------------------------------- PLBWEBSRV (Windows) - Modified to log PWS load/error information for the SSL libraries (ssleay32.dll and libeay32.dll) being loaded. - Modified the PWS server to output a log entry when the PWS server is loaded as a Windows Service. ------------------------------------------------------------------------------- PLBWEBSRV - Modified the PWS Server to allow the authorized users to logon as expected without interruption due to unexpected program terminations. - Modified the log entry for 'Maximum connections' to be a value of 2000 when an UNLIMITED authorization license is being used. - Added 'BootStrap 4' framework support to the PL/B Web Server. The 'BootStrap 4' CSS/JS is automatically loaded when the client URL Mime type of '.plcb' is used. The 'http_root' has been modified to include the 'BootStrap 4' HTML/CSS/JS required files for this framework. When the PL/B Web server detects the '.plcb' mime type, the 'plbwebboot.html' HTML script is used as the entry script logic that is executed at the PWS client. - The PWS Server has been modified to accept the mime type of '.plcm' from the client URL used to invoke JQuery Mobile Framework. Both the mime types '.plm' and '.plcm' can be used to invoke the JQuery Mobile Framework. - The PWS Server has been modified to support PHP requests. This support can be configured using these PWS keywords: Keywords: PLBWEB_PHP_LOCATION= PLBWEB_PHP_MAX_COUNT= PLBWEB_PHP_PORTNUM= PLBWEB_PHP_SSL= PLBWEB_PHP_USE_FCGI= See the documentation section for more information. - The PWS Server has been modified to support REST FastCGI while interfacing with multiple REST PLBWIN/PLB runtime processes. Keywords: PLBWEB_REST_USE_FCGI= PLBWEB_REST_MAX_COUNT= Methods: HttpRequest HttpStdinSize HttpStdinData HttpResponse See documentation section for more information. FastCgi example is described and available after installing the 10.2A PWS server: See the example PDF description which can be found as follows: 'c:\sunbelt\plbwebsrv.102A\demo\RestApi_FastCgi_Quick_Start.pdf' - Modified the PWS Server to allow the REST environment parameters to be pass to the PL/B REST process tasks either in memory only or using a disk file. See the keyword PLBWEB_REST_USE_ENV keyword for more information. - Correct a problem that might cause 'Maximum connections exceeded!' errors. - Corrected a problem where a LISTVIEW 'SetItemText' method was not rendering the listview bg/fg colors to the client browser when the the data in the columns from the 'InsertColumnBGClr/InsertColumFGClr' methods was being changed. ------------------------------------------------------------------------------- PLBCLIENT, PLBCLICON, PLBCLINET - Corrected a CLIPGET problem where the retrieved clipboard data would stop at the first clipboard text line that was an empty line. Note: 1. When a 10.2A client with this correction is accessing a 10.2A Application Server ( plbserve ) runtime, the CLIPGET behavior is the same as a PLBWIN runtime when an empty clipboard text line is encountered. 2. When a 10.2A client with this correction is accessing an Application Server with a version older/prior to 10.2A, the CLIPGET data contains a line with a single WS (White Space) character when an empty clipboard line of text is encountered. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLB(UNIX) - Modified the PL/B runtimes to support the PWS operation(s) where the REST environment parameters are passed using either in memory only or via a disk file. See the PWS keyword PLBWEB_REST_USE_ENV for more information. ------------------------------------------------------------------------------- PLBWIN, PLBNET, PLBSERVE, PLB(UNIX), PLBWEBSRV - Modified the SCAN instruction to support KEYWORDs that can be used to invoke instruction behaviors as follows: Format(2):