Elevate Software

Login Login


Home  Elevate Software Blog

Icon Elevate Software Blog

Tags Showing all blog entries tagged with "Web Builder"

Elevate Web Builder 2 to 3 IDE Changes Video
Posted by Tim Young on Wed, Oct 28 2020

A new video has been uploaded to our YouTube channel that provides an in-depth discussion of the Elevate Web Builder 3 IDE along with any differences between the Elevate Web Builder 2 and 3 IDEs.

Tags: Elevate Web BuilderPermanent Link 0 Comments

Elevate Web Builder 3 Beta Released
Posted by Tim Young on Mon, Mar 2 2020

The Elevate Web Builder 3 Beta is now available. If you volunteered as a beta tester, then you will find the beta on your downloads page along with your other purchased products. Our sincerest thanks to everyone that volunteered to be a beta tester.

As mentioned previously, please use the beta forum here to report any bugs or discuss any new features or issues:

Elevate Web Builder Public Beta Tests

Also, please be sure to read the release notes for the beta completely before beginning to use the product. There is still quite a bit to be done, including the documentation, so please refrain from asking normal product technical support questions on the beta forum or asking about missing features. If a feature is not listed as being completed yet in the release notes, then it is most likely not going to be in the final Elevate Web Builder 3 product.

I will be doing a couple of videos on getting started with the beta tomorrow morning, one for client applications and one for server applications, so look for links to them by tomorrow afternoon in a blog post on the web site.

Tags: Elevate Web Builder, Beta, Video TourPermanent Link 2 Comments

Elevate Web Builder 3 Beta Tour
Posted by Tim Young on Tue, Feb 18 2020

I have uploaded a short tour of the upcoming Elevate Web Builder 3 beta release candidate that you can watch here:

Elevate Web Builder 3 Beta Tour

As mentioned in the video, we now have a release date for the beta of February 24, 2020. We will also start accepting pre-orders for Elevate Web Builder 3 shortly thereafter for people that aren't customers already but want early access to the product.

If you have any questions or comments, feel free to add them in the comments below or to the comments section on the video itself (YouTube).

Tags: Elevate Web Builder, Beta, Video TourPermanent Link 7 Comments

Elevate Web Builder 3 Upgrade Pricing
Posted by Tim Young on Thu, Dec 26 2019

Elevate Web Builder 3 is getting close to being ready for beta testing and we are getting inquiries about the upgrade pricing.

The final upgrade prices for Elevate Web Builder 3 will be:

Subscription StatusUpgrade Price

If you have any questions about what price you qualify for, please direct them to sales@elevatesoft.com

I will be doing a follow-up blog post shortly with the finalized feature set so that everyone can make an informed decision about upgrading.

Tags: Elevate Web Builder, Upgrade PricingPermanent Link 1 Comments

Elevate Web Builder 3 Progress Update for April 2019
Posted by Tim Young on Fri, Apr 26 2019

Just a quick update on Elevate Web Builder 3. I almost done with the new compiler/interpreter, and just need to implement the new external interfaces to native Delphi code (modules) over the weekend, and then I'll be starting on re-integrating the compiler/interpreter back into the new EWB 3 IDE. After that, I need to finish up some aspects of the server-side application run-time support code and then I'm done with the initial beta candidate. I'm trying like crazy to get this all completed by the middle of May.

So, just to revisit all that I've been working on:
  • EWB 3 has a new IDE, which you can see here:

    Elevate Web Builder 3 IDE Screen Shot

    You can manage any number of EWB 3 web servers directly from within the IDE, including managing all deployed content and content folders. There is no longer any distinction between the "internal server" web server built into the IDE and an "external server" web server, as far as the IDE/deployment is concerned. The only difference is that the EWB 3 internal web server is in-process as part of the IDE. But, even the internal server stores its database and content in a special AppData location. And, you will be able to migrate the settings of any web server instance to any other web server instance with a simple IDE context menu option.

    There is also a new component navigator in the IDE, and the component library has been moved to the left-hand side of the IDE. Also, all of the ancillary IDE panels can be moved into the gutters by simply double-clicking on the title bar of each panel or the special move icon on each panel's title bar.

  • EWB 3 has a new web server:

    The new web server has a lot of new features, including user/role/privilege management (including anonymous access), built-in, transparent TLS support (just need to specify the cert name you want to use), automatic authentication and session handling, remote content management, support for existing EWB web server modules (native code), and support for new, interpreted server applications.

    The new server applications rely on the new EWB 3 interpreter (see below) and can be created/compiled/deployed/debugged directly in the IDE. You run them similarly to a DLL in Delphi, in that you can specify a client application to run that will make requests to the server application and trigger any breakpoints, etc. The server applications also have support for features like encrypted payloads so that vendors can require a license key in order to permit execution, but these features will most likely be released at a later time.

    The database support has also been improved quite a bit, and uses a new REST-ful API that is easier to access for non-EWB client applications. In addition, the database support now includes the ability to echo back generated/identity columns to the client application for inserts/updates, which has been sorely missing for a while.

  • EWB 3 has a new compiler:

    The new compiler has a brand-new front-end (parsing/identifier resolution) that is much, much better at symbol/identifier resolution and doesn't have issues with odd constructs like the existing compiler. The existing compiler was created primarily as a JavaScript transpiler, and it did an okay job, but it was inadequate for emitting instructions for an interpreter (see next).

    After the conversations on the support forums about the code editor improvements, I went ahead and took a week and a half of time in April to move the parsing/tokenizing for the code editor into the source manager for the IDE. What this does is streamline the parsing/tokenizing process and remove the necessity of having both the code editor and the compiler parsing the same source (improves performance). Instead, the parsing/tokenizing is now handled once in the source manager and can be incrementally updated as the source code is changed, which makes it possible to implement the code editor improvements very soon after the initial EWB 3 release. In addition, this change allows me to expose these services in the IDE for plugins and IDE add-ons in the near future so that plugin code can response to changes in the source code, etc. This also opens up the possibility for different source parsers for JSON, HTML, etc. in the IDE with syntax highlighting. Finally, this change moves the undo/redo into the source manager, where it can track such changes for history tracking/source control (again, future feature).

  • EWB 3 has a new interpreter:

    The existing EWB interpreter uses an AST-walker implementation where it simply walks the abstract syntax tree nodes generated from the compiler. This is sufficient for IDE usage, but is/was woefully inadequate for server-side production usage.

    The new interpreter includes some neat new features like much better constant folding and memory safety. It is impossible for EWB code to generate an AV in the new interpreter: all array/string indexes are checked for validity, all object references are checked for validity to ensure that they are not invalid, and the interpreter can do post-mortems that will show any memory leaks in an application (memory management is still manual and deterministic).

    The new interpreter also uses a special design and instruction set that allows it to be fairly fast. For example, the following code (1 million object array initialization and iteration) executes in ~407 msecs on an i7:

    program AssignTests;
       TSubObjectType = (sotNone,sotString,sotInteger);
       TMySubObject = class(TObject)
             FSubObjectType: TSubObjectType=sotInteger;
             property SubObjectType: TSubObjectType read FSubObjectType
                                                    write FSubObjectType;
       TMySubObjectArray = array of TMySubObject;
       TMyObject = class(TObject)
             FName: String;
             FCount: Integer;
             FSubObjects: TMySubObjectArray;
             procedure SetName(const Value: String);
             function GetSubObject(Index: Integer): TMySubObject;
             constructor Create(ACount: Integer); virtual;
             property Name: String read FName write SetName;
             property Count: Integer read FCount;
             property SubObjects[Index: Integer]: TMySubObject read GetSubObject; default;
    constructor TMyObject.Create(ACount: Integer);
       I: Integer;
       inherited Create;
       for I:=0 to FCount-1 do
    procedure TMyObject.SetName(const Value: String);
       if (Value <> FName) then
    function TMyObject.GetSubObject(Index: Integer): TMySubObject;
       TempObject: TMyObject;
       TempValue1: Integer;
       TempValue2: Integer;
       I: Integer;
       TempResults: TMySubObjectArray;
       TempCount: Integer;
          TempObject.Name:='Assignment Tests';
          for I:=0 to 999999 do
             if (TempObject[I].SubObjectType <> sotInteger) then

    A basic array population (1 million elements) like this takes ~172 msecs:

    program ForArray;
    function UserIntToStr(Value: Integer): String;
       I: Integer;
       TempStrings: array of String;
       for I:=0 to 999999 do
So, things are looking good now, and I'm working very hard to get a beta out ASAP. I will keep everyone posted as things progress and the beta gets wrapped up.

Tags: Elevate Web BuilderPermanent Link 13 Comments

Elevate Web Builder 2.06 Build 20 Released
Posted by Tim Young on Thu, Dec 27 2018

Elevate Web Builder 2.06 Build 20 is now available for download. If you're an existing customer, then you should be receiving an email shortly with download instructions.

The breaking changes and new features are below:

2.06 Build 20 Breaking Changes
The following are breaking changes in 2.06 Build 20:
  • Date and time columns are no longer localized at all, and are always treated as UTC values. This is due to the fact that Chrome and other browsers are starting to implement historical daylight savings time offsets, thus making it impossible to localize standalone date or time values that don't contain the relevant portion of the date/time that affects how the values are localized. Combined Date/time (timestamp) columns can still be localized according to the TDataSet LocalizeDateTimeColumns property along with the Localize date/time columns option in the dataset definition in the Database Manager.

  • The Elevate Web Builder Web Server no longer shows a user interface when installed and run as a Windows service. In conjunction with this change, the No User Interface ewbsrvr.ini setting is no longer used.
2.06 Build 20 Improvements
The following are new features and enhancements in 2.06 Build 20:
  • The TServerRequest component now includes a new CrossOriginCredentials property for specifying whether HTTP cookies and/or authentication headers are sent to non-source origins.

Tags: Elevate Web Builder, New BuildsPermanent Link 0 Comments

Previous Entries: 1-6 7-12 13-18 19-24 25-30 31-36 37-42 43-48 49-54 55-60 61-66 67-70