What’s new in 4D v19 R7


Share local resources between users ON Windows Remote Desktop Services

If you were one of the developers who asked for a feature that allows downloading Local Resources to a shared folder with the Windows Remote Desktop Services instead of the user account folder, then 4D v19 R7 is bringing good news.

We got some optimization through rethinking the current architecture by developing a new option for projects in the BuildApp process to allow Local Resources mutualization.

It’s activated by this new BuildApp XML key: /Preferences4D/BuildApp/CS/ShareLocalResourcesOnWindowsClient 

This optimization results in the following:

  • A time gain because Local Resources are no longer downloaded from the server by each user,
  • And disk space gain since, again, Local Resources are not duplicated for each user in a Remote Desktop Service environment.

4D Write Pro

Bottom Carry-Over Rows (subtotals)

Imagine having a big sales table potentially spanning several pages. At the end of one page, you’d like to calculate the subtotal, carry it over to the next page, and include it on the calculations on that page. This is often necessary, sometimes even legally required, when editing long invoices, for example.

4D v19 R7 allows inserting a “subtotal” line at the bottom of each part of the respective tables that can be filled automatically (a v19 R6 feature).

This can be done either:

  • Via both interfaces (toolbar and sidebar). The table menu contains a new item, “Bottom carry over row.”
  • Or by programming, thanks to the new attribute wk bottom carry over row.

And to define the content of the cells in this carry-over row, the new attribute previousItems can be used with all available functions (min/max/sum/etc.) for collections or entity selections.


Document change Detection

When a 4D Write Pro document is in edit mode, it’s often helpful to know if it has actually been modified by the end user. This information allows actions or interfaces to be adjusted for a more user-friendly experience.

The new document.modified property will quickly detect changes inside a document and perform actions accordingly. Either transparently (making automatic saves when a document remains open, for example) or modifying the interface intelligently according to conditions.


User-friendly Display of Formulas

Everyone loves formulas; they are integral to 4D Write Pro documents. They allow the integration of a lot of information coming from the database, making document creation more intuitive and automatic.

However, some formulas can sometimes be long from a layout point of view and hard to read for end-users.

That’s why 4D v19 R7 allows you to display formulas as a symbol ⓕ, indicating their presence to make documents more precise and transparent.

This can be done:

  • Via the property list, thanks to the new “Display formula source as a symbol” property.
  • A new element in the interface.
  • Or via programming thanks to the new wk display formula as symbol attribute.

4D View Pro

New commands to manage rows & columns

4D v19 R7 brings several new commands allowing you to manage your table columns and rows more efficiently — by adding or removing columns/rows depending on end-users needs.

Combining this new feature with data contexts enables you to design more advanced templates to automatically populate business content with the correct information for every situation — be it reports, invoices, contracts, or any other document type.

4D for Mobile

Session management

From now on, your app users can be identified using the same session for web or mobile, a very convenient way to keep users’ data and offer an optimized user experience. This feature is the first step toward bridging between mobile web and native mobile development.

Display web pages in your mobile app

You can already compose views based on templates; dozens are at your disposal to beautify your mobile apps. 4D v19 R7 is spicing up things even more by enabling you to display a web page served by 4D using a new preset action: Open URL

In addition to having the convenience of using the powerful 4D backend with native mobile abilities, you also have the advantage of leveraging the fast and consistent UI development offered by 4D tags or whichever framework you choose.

This front-end flexibility includes more than the app design; this feature opens the doors to real-time data updates on your mobile. Think about stock symbols and their values, temperature changes, employees and their geolocation, or even their online/offline status — just to name a few scenarios when data that arrives is updated frequently.

New in 4d for Android

With every release, the list of 4D for Android features is growing bigger. And this feature release is no exception:

  • Sort the content of a list form for Android (already available in 4D for iOS)
  • Update to Material Design 3 (for Android only)

 Learn more and find examples in the blog post >

4D language

Visualize your Classes Component in the Method Explorer

4D already allows applications still running in binary mode to take advantage of class features by using a component (in project mode) to create your own classes and use them from your (binary mode-based) application. This feature came with tips and code completion support to smooth your code writing.

To make your coding experience even easier, 4D v19 R7 is bringing a new feature. From now on, you can visualize a list of all the available component classes in the method explorer, so you decide in a glimpse of an eye which function you need to use in your code.


Files and Folders

File handles

When it comes to writing and reading, the setText and getText functions are at your disposal to read or write the entire content. 4D v19 R7 brings file handles in case you want to read or add one or more lines to an existing document.

File handles are objects created based on “File” objects and have functions to access any part of documents and, from there, to read or write their content sequentially.


HTTP Client

New Improvements

With 4D v19 R6, we brought you a new way to perform HTTP requests: HTTP classes. At that time, some of the HTTP classes functionalities were not final, as we wanted to adapt them to the new syntax.

That’s why in 4D v19 R7, compressed responses, chunked responses, and redirections functionalities are now complete.


Say Goodbye to Alt Key

Regarding list boxes and the Drag and Drop action, starting with 4D v19 R7, there is no need to hold the Alt key to move several items simultaneously.


4D Extensions

4D-Analyzer for Visual Studio Code

4D brought external source code editors support (e.g., Visual Studio Code), allowing them to handle 4D code and provide them with standard functionalities such as syntax highlighting. 

4Dv19 R7 brings two new capabilities: Go To Definition and Signature Help. And more features to come in future releases.

User Interface

Rounded Corners

For you to embellish your applications and follow the latest trends, we have added the possibility to round the corners of static texts and input texts thanks to the new “Corner radius” attribute. Specifying its value can be done via the UI (the property list), CSS, or code.


Structure Editor Toolbar Optimization

The toolbar has been modified to modernize and standardize all 4D windows.

When hovering over tables, fields, or relationships, helpful information is displayed in the status bar. New in 4D v19 R7 is the display of relationship names directly in the status bar. You no longer need to open the properties window. 

Want to know more? Read all the blog posts about 4D v19 R7