News

4D 20 R6 is Here

Introducing 4D 20 R6 – Available Now!

Here’s a quick look at what this feature release brings:

Download 4D 20 R6 (monthly Hot Fixes available)

  • Code Editor: Customize which warnings are generated to stay focused on critical issues.
  • Programming
    • Use new comparison operators to check if objects or collections share the same reference.
    • Access classes from other components via namespaces for greater flexibility.
    • Keep data consistent across sessions with Session Storage by ID.
    • Automate PDF/A3 file extraction for electronic invoicing.
    • Ensure security by default with Force Login for REST API,
    • and boost performance with HTTP Agents through connection reuse.
    • GitHub Components: Manage components directly in 4D, with automatic repository downloads and semantic versioning for smoother collaboration.
    • 4D Write Pro: Keep documents clean with the wk empty datasource attribute, controlling how tables appear when datasources are empty.
    • User Experience: Enjoy smoother subform navigation with enhanced scrolling behavior, improving user interaction.
    • ORDA: Use the new clean() function to eliminate empty spaces and keep your interfaces tidy with less effort.
    Product blank

    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.

       

      Product blank

      PDF/A3 Attachment Extraction

      In previous posts, we explored embedding documents within PDF/A-3 files using 4D Write Pro, including generating electronic invoices. As e-invoicing becomes mandatory in various European countries—such as France and Germany—the ability to extract embedded XML files from these PDFs is becoming crucial. But the utility of PDF/A-3 extends beyond invoices; these files can embed various document types that may require extraction.

      While tools like Adobe Acrobat Reader offer manual extraction, this post introduces an efficient, automated method using 4D 20 R6 to easily handle the process.

      Product blank

      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.

      Product blank

      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!