Permissions: Inspect Session Privileges for Easy Debugging
Today, you can benefit from a powerful feature to filter access to data, which is essential for preventing malicious access to your application.
This feature uses privileges that allow certain actions on your data. These privileges are assigned to users through roles and stored in the Session during authentication.
In 4D 20 R6, we enhanced this functionality by allowing you to inspect the privileges in the Session, which is very helpful for debugging.
Keep reading to learn more.
Easy Reference Comparison of Objects & Collections
Objects have become an essential part of the 4D language and of Qodly.
But when you declare a variable of this type, you define a reference. So, how do you know if two objects are, in fact, just one and share the same reference?
Starting with 4D 20 R6, comparing object references is simple: enter the = and # operators!
This blog post explores these operators and how they help determine if objects share the same reference. Let’s find out more!
Enhanced Session Storage Access
You can store information in the storage of various session types, such as Client/Server, Web, or Mobile, allowing for easy reuse across different processes.
Now, in 4D 20 R6, you can access the storage of a specific session. This enhancement enables users to easily maintain the continuity and consistency of information across multiple sessions of the same user. Imagine being able to pull up the same customer record across different applications such as Client/Server or Web.
Managing HTTP Requests with HTTP Agents
In 4D 19 R6, we introduced HTTP classes to modernize syntax and enhance functionalities for our HTTP client commands. Building on this foundation, 4D 20 R6 brings a powerful new feature: HTTP agents. These agents empower developers to customize and optimize their connections to HTTP servers by managing connection persistence and reuse for HTTP requests.
Class property declarations and assignments on a single line
Customize App Appearance with New Windows Types
With 4D 20 R5, unlocking new possibilities in application customization, two additional window types now offer flexible modal or non-modal windows without title bars. This means complete freedom to tailor your application’s appearance to your exact specifications. Imagine redesigning the title bar to match your desired aesthetics, integrating features like a customized search box or other elements seamlessly.
But that’s not all! We’ve also introduced several new commands designed to streamline your development process:
- Reduce a window in the title bar on Windows or the dock on macOS,
- Know if the window is reduced in the title bar on Windows or the dock on macOS,
- Know if the window if the window is maximized.
New 4D remote session object with Client/Server connection and Stored procedure
In 4D applications, four types of sessions exist 4D Remote session, Stored Procedure session, Mobile session, and Web session.
The Session command already returns Web or Mobile sessions. This gives you access to a wealth of information about the session and an object shared by all processes in the session.
In 4D 20 R5, the Session command has been extended to the Client/Server connection and stored procedure.
Try-Catch Code Blocks Unveiled!
After implementing the throw() command and introducing the Try(Expression) keyword, we are excited to unveil the next evolution in 4D’s error handling system: the introduction of Try-Catch code blocks!
Shared Classes
Do you want a simplified way to use shared objects, following the classic object syntax and automatically calling use/end use when needed?
Fasten your seatbelts; here come the shared classes!
Singletons in 4D
4D 20 R5 delivers a powerful feature for developers: Singletons!
The singleton design pattern creates a single instance of a class accessible throughout your application.
This pattern offers many benefits, including:
- host for interprocess values,
- utility classes,
- a base for the factory design pattern,
- and many more.
Keep reading for more information about this new concept!
Contact us
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy