A powerful new syntax is available for 4D tags inside texts and Blobs to be processed.
This new syntax is supported in two cases:
- files with “.shtml” extensions served by 4D Web Server
- Text and Blobs sent as parameters to the PROCESS 4D TAGS command
The new syntax is available for three tags, 4DEVAL, 4DTEXT and 4DHTML, which can now be written prefixed with a $ (dollar sign) rather than as HTML comments.
With 4D v15 R4, a new parameter is introduced for the DISTINCT VALUE command. This parameter must be an array, and it receives the count of each distinct value in a selection of records.
This feature is particularly useful for obtaining statistics on records, or to order records by their most common type.
A new system variable is available to get the offending 4D code that generates an error. With 4D v15 R4 whenever an error is raised you have a means to get the offending code in addition to getting the error code, as well as the method and line where the error occurred.
The METHOD GET CODE command has been enhanced to export the method code and get the very same result whatever the name of the commands, tables, fields, and regardless of the programming language of the 4D product used…
To do so the tokens of the code elements (4D commands, 4D constants, tables, fields, etc.) are exported with them. These tokens are unique and can be interpreted as the elements they represent by 4D even if their names have been upgraded or if they are written in another language than that of the 4D that executes it.
When integrating the log file, 4D stops at the first error and doesn’t return any error message. Reasons for integration errors could be a damaged log, by example because of a bad hard disk or software error during writing. If that error happens at the end, no problem; but it could also be at the start or in the middle of the log. In this case, the data after the error might be useful.
Now, when the integration fails in standard mode, you can try integration in auto-repair mode. In this case, 4D tries to resolve the error encountered, doesn’t stop the integration, and returns the error list.
In 4D applications, the data file is important, so all the activity of the database is stored in the log file. As you all know, the log file is a vital element for the restoration of your database following an unfortunate contingency. However all the information on the database activity may also be useful for analysis. For example, to check the activity on a table, to see the changes made by a user, and to follow a record’s history.
The WEB Session commands have been adapted to 4D Mobile session. Now, you can save the results of a query or an inter-process variable related to a given 4D Mobile session. For example, with new handling of 4D Mobile sessions, you can manage the cart of your users.
This feature is useful when you need to perform, from within a transaction, certain operations that do not need to be executed under the control of this transaction.
Today, merged applications save many information in the application package and also in the compiled file (.4DC). Besides preventing to create read-only applications, saving information in the application package has another annoying consequence: the information gets lost when you update the application.
With 4D v15 R4, it is now possible to design your own 4D Write Pro interface with dedicated commands. There are a lot of new commands for manipulating attributes for selections, paragraphs, images inside a document, or the document itself.