Product blank

4D View Pro: What’s new in 4D 21 R2

4D 21 R2 introduces an updated version of 4D View Pro based on SpreadJS v18.2, along with a Ribbon fully compatible with this release. Since 4D View Pro is built on top of SpreadJS, upgrading the underlying engine immediately brings performance improvements and new capabilities. Some of these enhancements are directly available in 4D, others can be accessed through the View Pro designer, and a few require custom JavaScript code. In this article, we highlight the most important changes introduced by SpreadJS v18.2, including features that are not yet directly exposed as 4D functions.

Product blank

Give Your Components a Visual Identity with Custom Icons

When working on a project with multiple components, quickly identifying the one you need can save valuable time. The simplest and most effective way to make your components stand out in the Project Dependencies is to give each one a custom icon. 4D 21 R2 lets you visually distinguish your components at a glance, simply by placing a logo.png or logo.svg file in its Resources folder.

Product blank

4D AI: Sorting Query Results by Vector Similarity

In the Semantic search: querying by vector similarity post, we introduced how to query entities using vector similarity, a powerful way to find the most relevant records based on meaning rather than exact values.

4D 21 R2 comes with a new way to sort query results using 4D.Vector fields. You can not only filter entities by similarity but also sort your query results using the .query() function so that the most relevant and semantically closest entities appear first. Whether you’re building an intelligent search experience, a recommendation engine, or an AI-driven assistant, this new feature ensures that your results are ordered by relevance, providing more accurate and user-friendly outcomes.

Product blank

Session handling in 4D Qodly Pro

Ever wanted full control over what happens when a user’s session expires, without wrestling with fixed behaviors or bolting on your own timeout logic? Not by maintaining custom timers, juggling tokens, or hoping the UI guesses what the backend is doing?

Session handling in 4D Qodly Pro gives you a pair of application events you can wire into your own UX. One warns the user before the cutoff, the other fires when the session is officially gone. You decide what they trigger.

Page 1 of 72