Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread New EWB 3 Beta Build 16 Uploaded
Thu, Jul 23 2020 4:44 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sorry for the long delay in getting this out.  The logging and migration functionality took a little longer than expected to get all straight and debugged.

This beta will most likely be the last beta release before the final release, but I'll have to see how things go with any feedback.

Here are some of the things that have changed in this beta:

- All of the high-DPI issues should now be resolved, and all icons should look appropriate at 125%, 150%, and 175% scale.

- There are quite a few new functions in the WebCore unit for server applications:

  function GenerateRandom(Length: Integer): String;
  function ComputeHash(HashType: THashType;
                       const Value: String): String;
  function CurrentDirectory: String;
  function TempDirectory: String;
  function DirectoryExists(const Directory: String): Boolean;
  procedure CreateDirectory(const Directory: String);
  procedure RemoveDirectory(const Directory: String);
  function TempFileName(const Directory: String=''): String;
  function FileExists(const FileName: String): Boolean;
  function FileCreation(const FileName: String): DateTime;
  function FileModification(const FileName: String): DateTime;
  function FileSize(const FileName: String): Integer;
  function FileAttr(const FileName: String): Integer;
  procedure FileRename(const FileName: String;
                       const NewFileName: String);
  procedure FileDelete(const FileName: String);

- The server TStream class (WebSrvr unit) now includes the following new methods:

        function ComputeHash(AHashType: THashType;
                             const Count: Integer=0): String; virtual;

        procedure Encrypt(const APassword: String;
                          ADestStream: TStream;
                          AEncryptionType: TEncryptionType=etAES128;
                          const Count: Integer=0);
        procedure Decrypt(const APassword: String;
                          ADestStream: TStream;
                          AEncryptionType: TEncryptionType=etAES128;
                          const Count: Integer=0);

Note: the THashType and TEncryptionType types are defined in the WebSrvr unit

- All of the THTTPServerRequest Send* methods now include the ability to specify the content encoding, and there is a new method that allows you to send a file by name as a content response:

        procedure SendContentFile(const ContentFileName: String;
                                  const ContentType: String='';
                                  const ContentEncoding: String='';
                                  const ContentDisposition: String='');

- There is now the ability to download any files/folders via the Server Manager (including complete pseudo- resources like the Applications or Content folders in the Server Manager).  The files are automatically zipped up and downloaded as one .zip file in order to minimize the total time required to download.

- The HTTP request logging and audit logging are now both implemented, and the logs can be downloaded via the Files/Logs resource in the Server Manager.  There are two sub-folders for the logs, one called Request and one called System.  The Request logs are named by Year-Month-Day and are simply a .csv file of all of the requests to the EWB 3 Web Server that occurred on that day.  The System logs are also named by Year-Month-Day, but are in a special JSON format with a JSON object on each line separated by CRLFs.  This was done this way to ensure that the log format could accommodate arbitrary, nested objects/values without requiring a super-object wrapper around the entire set of JSON objects.  Unfortunately, I didn't have time to implement any type of log analysis tools, so those are going to have to wait.

- If you right-click a server name in the Server Manager, you will now see a Migrate Server option.  This option allows you to quickly and easily migrate the defined objects and content on one server to another server, and will be especially useful for deploying server objects defined during development with the Internal server to a production server.

Both Sam and I are in the middle of furiously working on the documentation, but none of the new documentation is available yet in this build.  Along with the documentation, there will be quite a few new examples and that long-awaited video.  I've been trying to wait until the IDE is completely finished and static before doing the video so that I don't have to re-do it for the final release.

All outstanding bugs are fixed in this build, except for the recent bug reports from Rob Frye regarding the IDE tabs and breakpoints.  Also, I still haven't been able to look at the bug report from Richard Harding regarding the dataset toolbars, but will do so soon.

I hope that everyone is having a great summer and staying safe, and here's to hoping that we can get the release wrapped up soon.

Thanks !

Tim Young
Elevate Software
www.elevatesoft.com
Thu, Jul 23 2020 5:17 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

I forgot a couple of other RTL functions:

- There are new Base64Encode/Base64Decode built-in functions (client and server) that are also available for base-64 encoding/decoding text content.

Thanks !

Tim Young
Elevate Software
www.elevatesoft.com
Image