As we said before, we are completely, utterly, and mind-numbingly blown away by the Dominique Hermsdorff's absolutely stunning demonstration of 4D version 6. While we were waiting for Chris Date to set up for his keynote address, we attempted to distill the full-force fire hose of new features. Note that we will no doubt be updating and revising the list as we download all the contents from our now-aching head:
Items previously rumored and confirmed today:
- All windows are dynamically animated as you drag or resize them, in both the MacOS and Wintel platforms.
- The 4Dv6 design environment is completely modeless. It has several floating palettes that replace the former version's modal dialogs: An Explorer palette that allows MacOS Finder-esque hierarchical-list-view-style browsing of all parts of the structure, including procedures (now called methods), layouts (now called forms) and menus; a layout editor (now called the Forms editor) tool palette; and a layout object tool palette, which changes for each type of object.
- The structure editor now supports color, and moving tables and relations is now animated like the windows. For each table and relation, a separate color may be defined. This will aidgreatly in managing large strcutures. As well, when a structure element is highlighted in the Explorer palette, the structure window scrolls to the part of the structure where that element resides. In effect, this implements a "find field in structure" feature.
- The representation of tables in the structure editor is much better, with data types displayed as icons. Fields may be re-ordered in a table. We don't know yet if fields are deletable, or of tables themselves are deletable.
- The procedure editor (now called the methods editor) is much, much, much faster. Domi performed an experiment of pasting some text at the beginning of a very long procedure (method) on both v3 and v6. Then v6 edition took about 2 seconds where the v3 edition took about 20 seconds. (Wild applause broke out on this demonstration.)
- The Layout Editor (Forms Editor) is vastly improved, with many, many new object types including: Combo Boxes, MS Windows-style tabs, Hierarchical lists.
- Pictures on layouts may now be transparent.
- Extensions now have a configuration dialog available through the Object Attributes Dialog's Advanced button. Domi showed an example using the new AreaList Pro v6: it had a dialog to supply array names and parameters graphically instead of programatically.
- The debugger is a programmer's dream, and is in our opinion better than anything we have seen in any other developement environment for either the MacOS or Windows. It is very similar to the Metrowerks CodeWarrior source-level debugger, but with more features. It allows: program counter repositioning, both forward and backward, full display and modification for fields, arrays, and variables in each process. The current selection of each file is available, as well as the numbers of each file and field in a sort of structure browser. Earlier rumored features such as permanent breakpoints and "command breakpoints" were not demonstrated due to the lack of time. As well, the debugger is fully drag-and-drop enabled, making it a very fluid environment. The most impressive feature was the program counter repositioning, particularly when Domi changed the value of a variable and gave the program another try at a loop by moving the PC arrow.
- 4Dv6 will support server-side triggers for adding, deleting, and updating records.
- 4Dv6 will support server-side execution of procedures. The User Mode "Execute Procedure" dialog now includes an "execute this procedure on the server" checkbox.
Completely new surprises that showed up just today:
- Windows versions of 4Dv6 will support OCX "parts" as extensions. Domi showed a sample OCX drawing program that ships with Visual C++ functioning just fine in an input layout, including showing its own floating tool palette.
- The 4D Label Editor has been completely re-vamped. Domi thanked Jean-Pierre Ribreau, the author of this new editor, as he demonstrated a label editor that looked more like ClarisDraw. Features include: full control over every aspect of font, style, and size; drag-and-drop fields onto a label; executing a procedure for each label; and specifying the number of labels to print for each record.
- The import function has been dramatically improved, from 5 to 20 times faster. We saw a demo where Domi stopped an import after ten seconds for both 4Dv3 and 4Dv6 as a comparison. Over ten seconds only 200 records were imported in 4Dv3, but over 40,000 were imported in 4Dv6. He said that the developers had been asking for this, and he hoped that it would serve as an examples of what he called the "new spirit at ACI.
- 4Dv6 supports shutdown procedures.
- There has been a huge amount of work done in the web server area. 4D now supports an ON WEB CONNECTION procedure. Domi showed many demonstrations of Netscape and Internet Explorer on both MacOS and Windows connecting to regular 4D (not 4D Server) acting as a web server on both the Macos and Windows. There is very tight binding between HTML form objects and 4D variables, and picture variables may be handled as image maps very efficiently. The record locking issues and session management isues are handled by 4D's new web server process. The menu structure of a sample 4D application showed up as links in a web page in much the same way as DataWave operates now. Also, Domi demonstrated 4D acting as a web server and serving records from a SQL Server connection.
- There is a customizable forms wizard in 4Dv6. Layouts may be defined by a very flexible way, and new layout templates may be saved in the wizard for future use. There are layout types for each OS platform, including a new HTML type.
- The layout editor now supports drag-and-drop text and graphics from anywhere to anywhere, including lists. Items in lists may be re-ordered by dragging.
- Domi surprised us with a demonstration of 4D Server acting as an ODBC server. This demonstration was very brief, but it did show an ODBC client connecting to 4D Server.
- There is a new data type: the BLOB. As well, support for other picture data types, including JPEG and GIF, have been added. Commands similar to those in RKP Software's FilePack have been added to 4D to assist in handling documents as BLOBs.
- The 4D Chart productivity module has been rolled into the main 4D product.
- We had heard that there are now triggers and server processes such that a procedure may be directed to run on the server, but we didn't realize that this was full user interface support as well: dialogs and windows may be opened on the server. We suspect this will allow server management tools to become much easier to write.
Back to the DEVCON Update Page...