There are common user stories where there is a need to have a background image fill the entire printable area, such as paper-folding lines or a watermark. It’s also sometimes required by a company’s graphic charter.
Thanks to a newly added style for background images, it is now possible to create background pictures filling the full page in 4D Write Pro! You can control this attribute, by either the 4D language or standard actions, or even by using the 4D Write Pro widget.
Help tips or hints are very useful, as they simplify the user interface and help users understand objects that sometimes aren’t self-evident. 4D supports help tips in most areas and inputs when hovering the pointer over them, but that was not the case with a list box object.
With 4D v16 R5 we have added the possibility to display a help tip on a list box cell thanks to the enrichment of two commands.
The digest functions are mathematical functions that compute a digest key for a document. Identical documents have the same digest key; if you change part of the document, the digest key is different. These functions are very useful for checking data integrity when you exchange or compare data. In 4D v16 R5, 4D has enhanced the Generate digest command to support SHA-2 algorithms following security recommendations.
A preemptive process is powerful as it allows your application to take full advantage of multi-core computers; consequently, its results in a faster global execution time and more connected users. A 4D process may be preemptive or not according to compilation options and the use of the language, as explained in this post.
In order to benefit from this mode as much as possible we are pleased to announce that more than twenty existing commands have been enhanced and can now be used inside preemptive processes.
Security is becoming an increasingly important topic as business applications become more frequently accessible through the web and are, as a result, more vulnerable to threats. As 4D is closely paying attention to security matters, in 4D v16 R5 we are providing you with a couple of security improvements, and one of them relates to the web users’ password protection through password hashing.
By the way, if you want to know more about how 4D is helping you to protect your data and with the security in general, I recommend you to take a look at this blog post.
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.
Starting with 4D v16, you can set a different row height for each row in your list box. So with a few lines of code, you have a list box with rows that conform to the content. With this 4D v16 feature, we gave full control to the developer to precisely define the height for every single row of the list box.
With 4D v16 R5, we’ve decided to go further, and provide you with a fully automatic mode. It’s now possible to display lists in a gorgeous interface without any programming. You only need to set a few properties in the list box, and 4D does the rest for you. It’s magical, fluid, and again … not a single line of code!
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.
Over the years, security has become a core topic for business applications. Transport Layer Security (TLS) and its predecessor, Secure Sockets Layer (SSL), both frequently referred to as “SSL”, are cryptographic protocols that provide communications security over a computer network. The TLS version that your application is using for web or client/server connections, for instance, contributes to its security level.
4D supports all TLS versions: 1.0, 1.1 and 1.2. The protocol version used is negotiated between the server and the client when establishing the connection. To increase the security level, beginning with 4D v16 R5, the default minimum supported version is TLS 1.2, older versions are rejected, as they could be unsecure.
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!