We are pleased to announce the launch of beta testing for 4D v19 R6! This release is loaded with enhancements and new features that you won’t want to miss!
Let’s take a look and discover what’s new in the 4D v19 R6 Beta:
- Horizontal and vertical padding for list boxes — so your interface can have an even more professional look.
- Developing concurrently on 4D Server in Project Mode — so you can adopt Project Mode without impacting your organization if you still work with binary mode.
- Define a “datasource” for the tables of 4D Write Pro — so the end-users of your application can design or modify templates that will be filled automatically with data.
- Native support for Microsoft 365 — so you can support Single Sign-On, and retrieve information for the authenticated user, to name a few possibilities.
- 4D for Mobile aliases — so you can retrieve values at several degrees of depth and display even more relevant information in your mobile app.
- Much more awaits you!
Horizontal and vertical paddings
4D v19 R6 brings a great addition to list boxes, enabling you to have nicer and cleaner documents. Say hello to horizontal and vertical padding.
Setting the padding can be done either:
- via design mode from the list of properties under “Coordinates and sizing.”
- or by programming using the LISTBOX SET PROPERTY command thanks to two new constants, lk cell horizontal padding and lk cell vertical padding.
Get users’ information from Azure.
You asked for native support for Microsoft 365. And once again, we listened!
Besides providing access to Office applications, Microsoft provides an Azure-based Active Directory, allowing users to log in to access services such as Microsoft Sharepoint or OneDrive using a Web Browser. All Microsoft services use the same Single Sign-On, based on the email address.
From 4D v19 R6, 4D NetKit allows you to be part of this concept, enabling users to log in to your application using their usual company credentials.
For those working with Office 365, 4D v19 R6 brings an API to send emails via the Microsoft Graph API. The OAuth 2.0 functionality was a prerequisite to connecting to the Microsoft server, and allowed us to introduce commands for retrieving information on users. Today we’re moving one step further with email management, starting with the send email command.
4D Write Pro
Dynamically fill tables with entity selections & collections.
It is now possible to define a “datasource” for the tables of 4D Write Pro. Whether it is an entity selection or a collection, this “datasource” will automatically feed the rows of these tables. The tables will automatically be enlarged based on the selection, even adding additional pages when needed. This allows the end-user of your application to design or modify templates that will be filled automatically with data.
Disable Visibility of Empty Images
4D Write Pro documents can contain images from different sources and in various formats. These images may, in some cases, not be displayed for totally reasonable reasons — such as invalid URLs, formulas returning empty images, formats not supported by the platform, etc.
However, they are always represented by a small empty rectangle showing their theoretical location. 4D v19 R6 is shipped with a new view option enabling you to make empty images completely invisible. This can be done in 3 different ways: via the property list, user interface, or programming.
Visible empty images
Hidden empty images
4D View Pro
Display Collections as Tables
You know it already; 4D View Pro allows you to easily load and display data in spreadsheets.
4D v19 R6 brings exciting news. A new table feature allows you to do much more and benefit from additional properties like headers, table resize, summary row, column sorting, filters, and more. Say hello to the new VP CREATE TABLE command.
Support of larger integers than integer32
So you need larger numbers than 2 Billion (32 bits) with high accuracy for counters or similar? We enhanced reals and the way they’re handled to allow that. While reals are known to be unprecise, they are 100% accurate even for very large numbers, as long as they do not use a decimal point (=integers). This lets you use numbers up to 53 bit, or more exactly, [-(2^53)+1, (2^53)-1]. So a range from −9,007,199,254,740,992 to 9,007,199,254,740,992, will be exactly represented.
Converting to or from the text was limited to using 12-digit scientific notation, resulting in a loss of precision. With 4D v19 R6, we have improved the accuracy and conversion of any Real number (presenting an integer) into a Text. The improvement of the conversion to string concerns the String() command and the JSON and XML commands returning numbers in string form.
Support of Formulas in Collections & Callback Commands
In order to give a simpler way to use collections with a member method that needs a callback method, 4D allows you to use a formula to define a callback in:
- the collection member functions: every(), .filter(), .find(), .findIndex(), .map(), .orderByMethod(), .reduce(), .some(), .sort()
- and the commands the EXECUTE METHOD IN SUBFORM, CALL FORM, and CALL WORKER.
Developing concurrently on 4D Server in project mode
If you are one of the developers who asked for the possibility to work simultaneously with teammates on a single development server, then 4D v19 R6 will grant you your wish, thanks to a new mode for connecting a 4D Client to a 4D Server: development mode.
In development mode, developers can modify the database structure, methods, forms, and settings. We changed the locking system to provide the same functionality as in binary mode.
In the new “Custom” tab from the Connection to 4D Server dialog,
when selecting “Activate development mode,” you’ll be able to choose the project file.
For those who still work with binary mode, you can now adopt project mode without impacting your organization and benefit from exclusive features such as Classes, Computed attributes, Silicon compilation, CSS forms, and source control systems ?
New HTTP classes
To continue improving the syntax and functionality of 4D, we have decided to modernize the HTTP client commands in 4D. As a result, the first set of HTTP classes comes with 4D v19 R6. This is only the start. More functionalities will be coming with future releases.
4D for Mobile
The days of defining business-related formulas in your 4D user interface are over; these concepts offer you a new way to separate your business logic from the UI, enabling you to improve performance by optimizing the parts separately.
And now, with 4D v19 R6, aliases are fully available and ready to use for scalars in your iOS and Android mobile projects as soon your aliases are defined on the 4D side. With v19 R6, you can display the same mobile screen values anywhere in your database.
4D for Android new features
With every feature release, we ship new features to 4D for Android. Features that are already available in 4D for iOS. And 4D v19 R6 is no exception with two new additions:
- The management of offline actions,
- and the possibility of not regenerating the data at each generation of the mobile application to save time.
Data Explorer Enhancements
The data explorer allows you to view, sort, and query your database data using a modern, simple, and elegant web interface. With 4D v19 R6, the data explorer is evolving. You can now visualize the relations in your data.
Need more technical details? Take a look at the 4D v19 R6 Beta documentation on the 4D Doc Center.
Your feedback is greatly appreciated and will help us improve our product quality and better serve your needs. We’d love to hear your thoughts about any of the features above. Contribute to our beta forum (accessible for all 4D Partners). And don’t hesitate to tell us about your needs; we take votes very seriously!
Not a partner yet? Become a 4D Partner and join the conversation!