Dates inside objects!

Automatically translated from English

Objects are great! Their flexibility, combined with speed and elegance, make them a first choice for most developers. Using dates inside objects is now easier and more intuitive. From now on, dates can be set as datesand not strings inside objects!

Product The 4D WEB Server information by programming

New command to get Web Server information

Automatically translated from English

This feature is another way of providing you the ability to create your own server administration dialog. Following the ability to retrieve information for all processes (added in 4D v16 R4), we are now offering you a new command which returns, as a whole, all runtime information about 4D Web server.

With 4D v16 R5, retrieving web server information has never been easier, thanks to a single command: WEB Get server info.

Product 4D v16 R5 supports the JSON pointers

Working with JSON Pointers

Automatically translated from English

In 4D v16 R4, we enriched object commands so you can validate JSON objects. 4D v16 R5 is going even further by introducing the support of JSON pointers. Great – but what is a JSON pointer and what can I do with it?

Just like you don’t store company details for each employee in a database record (using a link to the company record instead), it can be really useful to structure a JSON document with parts that can be reused in a number of places.

For instance, let’s take an example of a website order; the customer enters the shipping address and designates the billing address as the same. Instead of duplicating the address information, we can define the shipping address as a reference to the the billing address.

Product Manage Header and footer with 4D Write Pro

Programmatically manage headers and footers in 4D Write Pro

Automatically translated from English

We’ve received several customer requests to provide the ability to use the 4D Write Pro template with headers and footers to create other documents based on this template. Well, we heard you and this is available in 4D v16 R5.

A new set of commands have been added to 4D Write Pro to fulfill this need. Some of these commands can be used to get references of headers, body and footers inside documents. Others are handy to get a reference to the frame (header, footer, etc.) where the cursor is currently located, or to set the cursor into a specific frame.


Don’t be afraid of undefined values

Automatically translated from English

With 4D v16 R4, we introduced Object Notation which is a great enhancement to the 4D language: your code is fast, flexible, efficient and elegant! This feature created a lot of interest on the 4D forums and we received a lot of feedback from our customers highlighting situations when there were undefined values making the code challenging to write.

With 4D v16 R5, we have taken your feedback into account and have simplified the use of undefined properties and values with Object Notation.


Passing data back and forth between forms

Automatically translated from English

Wouldn’t it be great if you could just open a form and pass it some parameters to initialize your form objects? What about being able to also get the data back to process, after it’s been modified by the user? 4D v16 R5 makes your coding so much easier by greatly simplifying communications with forms.

Until now, when you wanted to display data (not coming from the database itself, but computed or external) to multiple users, you had two options: either write complex code to handle data display in multiple processes, or create as many forms as necessary with a bunch of global variables. But you know that global variables are not an optimized way of coding, from a memory point of view.

So get rid of your complex code and global variables! With 4D v16 R5 you can just bind an object to your form and use it internally with the new Form command. Painless…and powerful!


4D Summit 2016: Laurent Esnault presents workers and UI in preemptive mode

Automatically translated from English

Our own VP of Engineering, Laurent Esnault, explains exchanging information between multiple processes AND between processes and forms during his Break Out Session: Preemptive Multi-threading at 4D Summit 2016. Thanks to preemptive multi-threading, you can have more parallel processes, and thus add more and more users, for either desktop or web applications.

If you missed Laurent’s session at 4D Summit 2016, watch this 15-min video and enjoy some personal training by the master of preemptive multi-threading!