4D 20 R6 ya está aquí
Presentamos 4D 20 R6 – ¡Ya disponible!
He aquí un rápido vistazo a lo que trae esta nueva versión:
Descargar 4D 20 R6 (Hot Fixes mensuales disponibles)
- Editor de código: personalice las advertencias que se generan para concentrarse en los problemas críticos.
- Programación:
- Utilice nuevos operadores de comparación para verificar si los objetos o colecciones comparten la misma referencia.
- Acceda a clases de otros componentes a través de espacios de nombres para una mayor flexibilidad.
- Mantenga la coherencia de los datos entre sesiones con el almacenamiento de sesiones por ID.
- Automatice la extracción de archivos PDF/A3 para la facturación electrónica.
- Garantice la seguridad por defecto con Force Login for REST API,
- y aumente el rendimiento con agentes HTTP mediante la reutilización de conexiones.
-
- Componentes GitHub: gestione componentes directamente en 4D, con descargas automáticas de repositorios y versionado semántico para una colaboración más fluida.
- 4D Write Pro: mantenga los documentos limpios con el atributo wk empty datasource, controlando cómo aparecen las tablas cuando las fuentes de datos están vacías.
- Experiencia del usuario: disfrute de una navegación por subformularios más fluida con un comportamiento de desplazamiento mejorado, mejorando la interacción del usuario.
- ORDA: utilice la nueva función clean() para eliminar los espacios vacíos y mantener sus interfaces ordenadas con menos esfuerzo.
Qodly Studio for 4D: Interfaces de usuario dinámicas con estados de página
Con 4D 20 R6, Qodly Studio for 4D introdujo una nueva y emocionante funcionalidad: los estados de página. Tal vez ya vio nuestro post anterior, pero vamos a explorar lo que hace esta funcionalidad tan valiosa para las interfaces de usuario dinámicas.
Imagine UIs que se adaptan instantáneamente a los diferentes pasos del usuario o contextos.
Estos son algunos casos de uso comunes en los que los estados de página brillan:
- Activar o desactivar componentes en función de las acciones del usuario (por ejemplo, activar el botón «Guardar» sólo cuando se hayan llenado todos los campos obligatorios).
- Alternar entre los modos claro y oscuro con un simple toque.
- Restringir el acceso a las acciones (lectura, actualización, etc.) en función de los privilegios del usuario.
Extracción de archivos PDF/A3
En entradas anteriores, exploramos la incrustación de documentos en archivos PDF/A-3 con 4D Write Pro, incluida la generación de facturas electrónicas. A medida que la facturación electrónica se vuelve obligatoria en varios países europeos, como Francia y Alemania, la capacidad de extraer archivos XML incrustados de estos PDF se vuelve crucial. Pero la utilidad de PDF/A-3 va más allá de las facturas; estos archivos pueden incluir varios tipos de documentos que pueden requerir extracción.
Mientras que herramientas como Adobe Acrobat Reader ofrecen extracción manual, este post presenta un método eficiente y automatizado que utiliza 4D 20 R6 para manejar fácilmente el proceso.
Soporte REST y Qodly de Singletons
Con 4D 20 R5, liberamos los singletons. Y con 4D 20 R6, ahora le permitimos llamar directamente a las funciones expuestas de sus singletons compartidos a través de llamadas REST. Del mismo modo, puede utilizar las funciones expuestas de sus singletons compartidos en eventos al diseñar sus páginas Qodly. Permítanme profundizar en estas nuevas funcionalidades.
Integrar componentes 4D directamente desde GitHub
Muchos desarrolladores 4D aprovechan el poder de los componentes de terceros que se encuentran en GitHub, particularmente aquellos listados en el tópico 4d-component. 4D 20 R6 introduce una nueva característica fantástica: la integración directa de estos componentes en el Administrador de componentes.
Esta entrada de blog se sumerge en los detalles, haciendo su proceso de desarrollo más fácil y eficiente.
Personalizar la generación global de warnings
Las warnings son una valiosa ayuda para alertar a los desarrolladores 4D sobre errores de código potenciales. Con el lanzamiento de 4D 20 R6, ahora es posible definir globalmente qué advertencias se generan, mejorando la experiencia global de desarrollo.
Permisos: Inspeccionar los privilegios de sesión para facilitar la depuración
Hoy en día, puede beneficiarse de una poderosa funcionalidad para filtrar el acceso a los datos, que es esencial para evitar el acceso malicioso a su aplicación.
Esta funcionalidad utiliza privilegios que permiten determinadas acciones sobre sus datos. Estos privilegios son asignados a los usuarios a través de roles y almacenados en la sesión durante la autenticación.
En 4D 20R6, mejoramos esta funcionalidad permitiéndole inspeccionar los privilegios en la sesión, lo cual es muy útil para la depuración.
Siga leyendo para saber más.
UX: Mejora del comportamiento de desplazamiento en los subformularios
El objetivo de los formularios usuario es facilitar las cosas a los usuarios. Pero ¿qué ocurre cuando el desplazamiento se convierte en una batalla entre los subformularios y su contenido? Seguro que ya le ha pasado alguna vez: intenta desplazarse por un list box en un subformulario, pero todo el subformulario se mueve en su lugar. O lo que es peor, intenta desplazarse por el subformulario, pero el list box no se mueve.
Esto ha sido mejorado con 4D 20 R6, haciendo la acción más natural.
Parámetros personalizados para inicializar el área web integrada
Dado que el área web incrustada utiliza CEF como motor de navegación web, se ha solicitado un método para incorporar conmutadores CEF adicionales, como el conmutador de política de reproducción automática, durante la inicialización del área.
A partir de 4D 20 R6, puede gestionar sus parámetros personalizados utilizando un archivo de parámetros.
Comparación de referencia fácil de objetos y colecciones
Los objetos se han convertido en una parte esencial del lenguaje 4D y de Qodly.
Pero cuando se declara una variable de este tipo, se define una referencia. Entonces ¿cómo saber si dos objetos son, de hecho, uno solo y comparten la misma referencia?
A partir de 4D 20 R6, comparar referencias de objetos es sencillo: ¡introduzca los operadores = y #!
Esta entrada del blog explora estos operadores y cómo ayudan a determinar si los objetos comparten la misma referencia. Averigüemos más.
Contacto con nosotros
¿Tiene alguna pregunta, sugerencia o simplemente quiere ponerse en contacto con los bloggers de 4D? Escríbenos.
* Su privacidad es muy importante para nosotros. Haga clic aquí para ver nuestra Política