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.

Product

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.

Product

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!

Events

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!

Events

Difference between cooperative and preemptive explained by Laurent Esnault at 4D Summit 2016

Automatically translated from English

Laurent Esnault, VP of Engineering, explains the difference between cooperative and preemptive processes during his Break Out Session about 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, either for desktop or for web applications.

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

Product New Get license information command

Retrieve the license information by programming

Automatically translated from English

When you perform analysis, reporting or debugging of your server application you may want to know the number of available clients, the number of consumed connections, the expiration date and many other information.

Now with 4D v16 R4, you can retrieve detailed information about the active license of your running 4D product (4D Server for instance). For example:

  • version,
  • platform,
  • number of available and consumed connections for 4D Write Pro,
  • number of available and consumed connections for 4D Client,
  • expiration date,