Consejos

Cómo implementar la integración continua con 4D: guía paso a paso

En el mundo del desarrollo de software ha aparecido en los últimos años un nuevo concepto llamado «Integración continua». La definición que vemos o escuchamos por todas partes es:

«CI es un proceso que automatiza la compilación, prueba y entrega de una aplicación de forma regular y frecuente».

Una vez comprendida esta definición, que expresa un proceso interesante y prometedor, ¿qué debo hacer para implementarlo en 4D? Si busca en Internet, encontrará que hay muchas herramientas y frameworks de CI disponibles.

Sin embargo, hay varios requisitos previos antes de utilizar estas herramientas de CI.

Producto blank

4D mantiene sus selecciones de registros consistentes en lo que respecta a la eliminación de registros

La eliminación de datos debe manejarse con precaución. Para evitar problemas, podemos utilizar transacciones o confiar en copias de seguridad y registros.

Se han hecho algunas mejoras en 4D 20 R4 para hacer que sus selecciones de registros sean estables y consistentes con respecto a la eliminación potencial de registros en esta selección.

Siga leyendo para saber cómo su código 4D será tan seguro desde el principio.

Producto blank

Crear, actualizar y eliminar con Data Explorer

El explorador de datos es una poderosa herramienta de visualización de datos. Sus funciones permiten a los administradores garantizar sin esfuerzo la coherencia de los datos. Al mismo tiempo, los desarrolladores pueden validar su código para crear, actualizar o eliminar datos, todo ello sin necesidad de crear nuevos formularios.

Ahora, con 4D 20 R4, los usuarios tienen la capacidad no sólo de visualizar sino también de corregir sus datos directamente dentro de la interfaz del explorador de datos. Así es, puede añadir, modificar o eliminar datos directamente en la interfaz del explorador de datos.

Consejos blank

Una clase para facilitar el manejo de sus subformularios

En el foro se han hecho varias peticiones, consejos o preguntas sobre cómo mostrar un mensaje, un reloj de arena o algunos elementos de la interfaz en primer plano de un formulario mientras se difumina el resto. Puede crear este tipo de interfaz con subformularios y formularios de llamada. El código puede complicarse si trabaja con un formulario de varias páginas.

Para facilitarle el trabajo, Vincent De Lachaux ha preparado una clase para simplificar la gestión de los subformularios mostrados en un formulario multipágina. Se encarga de cargar el subformulario sobre la marcha, controlarlo desde un trabajador y reposicionarlo si se cambia el tamaño del formulario principal. Puede centrarse en sus diálogos sin preocuparse de la mecánica.

Producto blank

Personalización de fechas y horas

La manipulación de fechas y horas a menudo requiere un formato específico para varias representaciones basadas en los recursos internos de 4D o en los parámetros del sistema operativo.

Aunque los formatos por defecto son normalmente todo lo que necesita, hay escenarios en los que el formato personalizado es esencial, particularmente para diferentes localizaciones geográficas o requerimientos únicos. En 4D v20 R4, se han hecho avances significativos para satisfacer esta necesidad precisa.

Producto blank

Impresión sin bloqueo

Con 4D v20 R4, hemos mejorado significativamente la gestión de los trabajos de impresión dentro de 4D. 4D ahora puede ejecutar múltiples trabajos de impresión en paralelo, aumentando significativamente la reactividad de sus aplicaciones y facilitando la gestión de trabajos de impresión concurrentes.

Permítame contarle más sobre esto.

Producto blank

4D View Pro: novedades de 4D v20 R4

Con cada nueva versión, la lista de funcionalidades de 4D View Pro continúa ampliándose. Y esta nueva versión no es la excepción: 4D v20.2 y 4D v20 R4 vienen con una nueva versión de SpreadJS, la v16.2, y una actualización de Ribbon que es compatible con ella.

Exploremos las funcionalidades mejoradas introducidas en esta última versión.

Producto blank

Una nueva forma de gestionar los errores

Recientemente introducimos un nuevo mecanismo de gestión de errores mediante el nuevo comando throw().
Esto marcó el primer paso hacia un nuevo sistema de gestión de errores, situado lo más cerca posible del código que los genera.
En la siguiente fase con 4D v20 R4, estamos ampliando este enfoque para interceptar errores durante la ejecución de expresiones.
Profundicemos en los detalles.