Adding and Removing Github and Local Components Made Easy
We’re excited to introduce a major enhancement in the 4D Project Dependencies interface, available in 4D 20 R7, making managing both local and GitHub components easier than ever.
Define a different icon for each window
We are excited to announce a new feature that will enhance the user experience in multi-window applications in 4D 20 R7. With the introduction of the SET WINDOW DOCUMENT ICON command, you now have the ability to define an icon for each type of window, making it easier for users to identify and navigate through different windows.
Qodly Studio for 4D: Dynamic User Interfaces with Page States
With 4D 20 R6, Qodly Studio for 4D introduced an exciting new feature: Page States. Perhaps you’ve already come across our previous post, but let’s explore what makes this feature so valuable for dynamic UIs.
Imagine UIs that adapt instantly to different user steps or contexts.
Here are some common use cases where Page States shine:
- Enable or disable components based on user actions (e.g., activate the “Save” button only when all mandatory fields are filled).
- Switch between light and dark modes with a simple toggle.
- Restrict access to actions (read, update, etc.) based on user privileges.
REST and Qodly Support of Singletons
With 4D 20 R5, we released singletons. And with 4D 20 R6, we now allow you to directly call the exposed functions of your shared singletons through REST calls. Similarly, you can use the exposed functions of your shared singletons in events when designing your Qodly Pages. Let me delve deeper into these new capabilities.
Integrate 4D Components Directly from GitHub
Many 4D developers leverage the power of third-party components found on GitHub, particularly those listed in the 4d-component topic. 4D 20 R6 introduces a fantastic new feature: directly integrating these components within the Component Manager.
This blog post dives into the details, making your development process easier and more efficient.
Customize Global Warnings Generation
Warnings are a valuable aid for alerting 4D developers to potential code mistakes. With the release of 4D 20 R6, it is now possible to globally define which warnings are generated, enhancing the overall development experience.
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.
UX: Enhanced Scrolling Behavior in Subforms
User forms are all about making things easy for users. But what happens when scrolling becomes a battle between subforms and their contents? You’ve probably experienced this before: you try to scroll through a list box in a subform, but the entire subform moves instead. Or, worse, you try to scroll the subform itself, but the list box stubbornly stays put!
This has been improved with 4D 20 R6, making the action more natural.
Custom Parameters for Initializing Embedded Web Area
Since the embedded web area utilizes CEF as its web browser engine, there have been requests for a method to incorporate additional CEF switches, like the autoplay-policy switch, during the area initialization.
Starting with 4D 20 R6, you can manage your custom parameters using a parameter file.
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!
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