NOVEDADES DE 4D 20 R6

Funcionalidades relacionadas con la programación

Soporte REST y Qodly de Singletons

4D 20 R6 extiende los singletons introducidos en la versión anterior. Ahora, puede llamar directamente a las funciones expuestas por los singletons compartidos a través de las API REST y los eventos de las páginas Qodly.


Gestione sus peticiones HTTP con agentes HTTP

4D 20 R6 introduce agentes HTTP para ayudar a personalizar las conexiones a servidores HTTP ya que estos agentes HTTP gestionan la persistencia y reutilización de conexiones para las peticiones HTTP.

Esta optimización evita la sobrecarga de renegociar conexiones, especialmente las seguras, para cada petición. Por defecto, todos los comandos HTTPRequest utilizan un agente de base que mantiene vivas las conexiones. No obstante, los usuarios pueden crear agentes personalizados para afinar las conexiones, controlar el mecanismo de mantenimiento de conexión, definir el número máximo de conexiones simultáneas, añadir tiempos de espera y configurar los parámetros TLS/SSL a nivel del agente.

HACER QUE ForCE login sea el valor por defecto para todas las autenticaciones REST

4D 20 R6 introduce el modo Force Login como comportamiento por defecto para controlar el acceso a la API REST. Esta funcionalidad, implementada a través de la función ds.authentify, refuerza la seguridad exigiendo credenciales de inicio de sesión para acceder a la API. Los nuevos proyectos incluyen automáticamente un archivo roles.json con el atributo forceLogin definido en True, que impide el acceso por defecto. Los proyectos existentes pueden pasar a este modo con la ayuda de un nuevo botón en el diálogo Structure Settings. Esta actualización simplifica la transición desde los métodos legacy de control de acceso y permite una gestión de acceso detallada utilizando el editor de roles y privilegios de Qodly Studio.

Interacción de componentes mediante Los Namespaces declarados

4D 20 R6 introduce un nuevo enfoque: los componentes con namespaces declarados comparten automáticamente sus clases con todos los demás componentes dentro del mismo proyecto. Esto elimina la necesidad de complejas configuraciones y le permite utilizar libremente clases de otros componentes directamente en su código.

 

Comparación FÁCIl de objetos y colecciones

4D 20 R6 hace que trabajar con objetos en su código sea mucho más fácil. Introduce nuevos operadores de comparación (= y #) que le permiten ver rápidamente si dos objetos son iguales en memoria. Esto es especialmente útil cuando se trabaja con referencias de objetos.

Acceso mejorado al almacenamiento de sesiones

Antes era difícil garantizar que los usuarios tuvieran la misma experiencia en las distintas partes de la aplicación, por ejemplo, una aplicación web y una aplicación cliente/servidor. Esto se debe a que la información almacenada en una sesión no era fácilmente accesible a las otras sesiones.

4D 20 R6 soluciona esto con un nuevo comando, Session storage by id. Este comando le permite acceder al almacenamiento de cualquier sesión de su aplicación, independientemente de si se trata de una sesión web, una sesión cliente/servidor o una sesión móvil.

Esto significa que ahora puede almacenar fácilmente la información que debe ser compartida entre diferentes partes de su aplicación. Por ejemplo, puede almacenar un registro de cliente en la sesión cuando un usuario inicie sesión y, a continuación, acceder a ese mismo registro tanto desde la aplicación web como desde la aplicación cliente/servidor.

Permisos: inspeccionar los privilegios de sesión para facilitar la depuración

4D 20 R6 refuerza la seguridad de sus aplicaciones ofreciéndole un mayor control sobre el acceso de los usuarios a los datos.

Una forma importante de proteger sus aplicaciones es controlar a qué datos pueden acceder los usuarios. 4D 20 R6 facilita esta tarea con una gestión de privilegios mejorada.

ORDA

Se acabaron los espacios vacíos en las selecciones de entidades

4D 20 R6 introduce una nueva función clean() para las selecciones de entidades, eliminando el desorden de los espacios vacíos después de borrar entidades. Esto mejora la experiencia del usuario manteniendo su interfaz limpia y organizada.

Editor de código

Personalizar la visualización global de ADVERTENCIAS

Con los nuevos controles de control global de advertencias, 4D 20 R6 hace más fácil centrarse en los problemas más críticos de su código. Las advertencias en su código 4D pueden ayudarle a detectar errores potenciales. Actúan como una red de seguridad, avisándole de elementos que podrían causar problemas más adelante. Sin embargo, con proyectos grandes o complejos, puede que reciba muchas advertencias.

Esto puede resultar abrumador y dificultar la concentración en las cuestiones más críticas.

4D 20 R6 le da más control sobre las advertencias que vea:

  • Definiciones globales de advertencias: ahora puede definir qué advertencias se muestran globalmente en el editor de código y en la caja de diálogo del compilador. Esto le permite ocultar advertencias que son irrelevantes para su proyecto o estilo de codificación.
  • Más flexibilidad: aunque un tipo de advertencia se muestre u oculte según los parámetros definidos, sigue siendo posible activar y desactivar la comprobación de un tipo de advertencia localmente en el código mediante los interruptores legacy //%W+ y //%W-.

4D Write Pro 

Gestión de fuentes de datos vacías

4D 20 R6 permite un mayor control sobre la apariencia de las tablas en sus documentos, especialmente cuando los datos a los que están vinculadas están vacíos. Esto es posible gracias al nuevo atributo wk empty datasource. Este atributo define cómo se comporta una tabla cuando su fuente de datos vinculada está vacía, ofreciendo opciones para:

  • Mostrar la línea de datos (por defecto)
  • Ocultar la línea de datos
  • Ocultar la tabla
  • Mostrar la línea de marcador de posición

Área Web

Parámetros personalizados para inicializar el área web ANIDAda

4D 20 R6 facilita la personalización del área web anidada en sus aplicaciones. Esta área utiliza Chromium para navegar, y los desarrolladores a veces necesitan ajustar el funcionamiento de Chromium.

Anteriormente, esto requería cambios de código complejos. Ahora, con 4D 20 R6, puede simplemente crear un archivo llamado “4DCEFParameters.json” y especificar las personalizaciones que desee en ese archivo. Esto facilita mucho la gestión y asegura que sus personalizaciones se apliquen correctamente.

Por ejemplo, esta función permite que los vídeos se reproduzcan automáticamente en su área web, lo que antes no era posible.

Componentes 4D

Integrar componentes 4D directamente desde GitHub

4D 20 R6 facilita aún más el uso de componentes en sus proyectos 4D, especialmente si esos componentes están almacenados en GitHub. Anteriormente, sólo podía utilizar el Gestor de Componentes con componentes almacenados en una unidad local. Ahora, con 4D 20 R6, puede integrar directamente componentes desde repositorios GitHub.

4D Netkit

Personalización de la interfaz de conexión de OAuth 2.0

4D 20 R6 le da más control sobre cómo los usuarios se registran con OAuth 2.0 en su aplicación.

Por defecto, las conexiones OAuth 2.0 abren una ventana de navegador web para mostrar la interfaz de conexión. Pero ¿y si quiere personalizar esa experiencia?

Con 4D 20 R6, puede utilizar el atributo browserAutoOpen para evitar que una ventana del navegador web se abra automáticamente. Esto le permite mostrar la interfaz de inicio de sesión donde quiera en su aplicación.

Experiencia usuario

mejora del Comportamiento del desplazamiento en los subformularios

4D 20 R6 hace que el trabajo con subformularios en sus aplicaciones sea mucho más fluido e intuitivo para los usuarios.

¿Alguna vez se ha sentido frustrado al intentar desplazarse por una lista de un subformulario y, en su lugar, se ha movido todo el subformulario? ¿O tal vez ha intentado desplazarse por el subformulario, pero el list box no se mueve?

4D 20 R6 corrige esto con un nuevo y mejorado comportamiento de desplazamiento de subformularios.

¿Quiere saber más? Lea todas las entradas del blog sobre 4D 20 R6