Novedades de 4D v18 R5

CLASES ORDA del MODELo de daTOS 

CAMPO DE APLICACIÓN Y Contexto de ejecución de las funciones

En modo cliente/servidor, por defecto, las funciones se ejecutan en el servidor, pero ahora se puede elegir ejecutar algunas de ellas en el cliente gracias a una nueva palabra clave: local. Además, tiene la opción de elegir qué funciones publicar o no como API para los clientes REST con la nueva palabra clave exposed

 
 

Selecciones de entidades compartibles

A veces se quiere compartir una selección de entidades con otro proceso o incluso ponerla a disposición de todos los procesos. Por ejemplo, imagínese que está haciendo una búsqueda compleja para encontrar todas las facturas vencidas, luego permite al usuario final seleccionar algunas de ellas (o todas) y finalmente necesita enviar un recordatorio de pago por correo electrónico. El envío de los correos electrónicos se hace mejor en otro proceso, para evitar bloquear al usuario. En lugar de construir una lista de llaves primarias para pasar al nuevo proceso, es más sencillo pasar directamente una selección de entidades compartida al otro proceso. Las selecciones de entidades compartidas pueden incluso ser agregadas al objeto global Storage:

  • Una selección de entidades compartible puede almacenarse en un objeto/colección compartido y puede compartirse entre varios procesos o workers. Además, no permite la adición de nuevas entidades. Si se intenta añadir una entidad a una selección de entidades compartibles se producirá un error.
  • Una selección de entidades no compartible no puede ser compartida entre procesos, ni almacenada en un objeto o colección compartido. Intentar almacenar una selección de entidades no compartible en un objeto o colección compartido desencadenará un error. Sin embargo, una selección de entidades no compartible sí acepta la adición de nuevas entidades.
 

editor de Formularios

Vista previa del CSS en el editor de formularios 

Ahora puede previsualizar el renderizado CSS final en el editor de formularios. Un nuevo icono está disponible en la barra de herramientas, permitiéndole ver su formulario con o sin el CSS, incluso mostrando cómo se vería en Mac o Windows. En cuanto a la anulación de una propiedad, en modo CSS, un nuevo tipo de escudo (similar a los marcadores del método objeto o del orden de entrada) se muestra en el editor de formularios, por lo que es fácil ver qué objetos se ven afectados por un CSS.

Macros

Las macros están ahora disponibles en el editor de formularios. Con un formulario macro, puede:

  • Modificar, eliminar o añadir una propiedad a uno o más objetos
  • Añadir o eliminar uno o más objetos de formulario con su método asociado
  • Seleccionar o deseleccionar objetos de formulario en el editor
  • Mostrar un diálogo modal para introducir un parámetro sobre la marcha
  • Calcular la posición ideal de los objetos formulario y moverlos
  • Crear una clase CSS a partir de un objeto formulario para utilizarlo como una plantilla
  • Verificar que las rutas de la imagen en el formulario sean válidas
  • Abrir los archivos CSS en su editor CSS para buscar los archivos en el disco
  • Comprobar que las referencias XLIFF tengan su correspondencia en los archivos XLIFF
  • y mucho más…

Las macros de formulario son visibles desde el menú contextual. Las macros de base de datos local se muestran primero, seguidas de las macros de los componentes. Para ejecutar una macro, simplemente haga clic en el elemento de menú. Y para crearlas, las macros se declaran en un archivo formMacros.json en el primer nivel de la carpeta Sources de su proyecto.

 

Nuevo comando para abrir el editor de formularios

Está disponible un nuevo comando 4D para abrir un formulario en el editor de formularios. Esto puede ser especialmente útil para herramientas de análisis o introspección. El nuevo comando se llama FORM EDIT.

4D for iOS

Deep linking 

“Deep linking” permite compartir una URL, un clic en la URL abrirá directamente un registro específico en una aplicación 4D for iOS. En combinación con la notificación “push”, se informa a un vendedor sobre una nueva cotización, a un agente de seguros sobre un nuevo caso, un solo clic abre directamente la aplicación y muestra este registro en la aplicación.

 

Sincronización OPTIMIZADA de datos 

Se ha optimizado el proceso de sincronización de datos 4D for iOS, lo que permite una sincronización de datos hasta 25 veces más rápida.

Funcionalidades DE programación

Parámetros de denominación de las funciones y los métodos

No hay necesidad de pasar por una variable intermedia. Ahora puede dar nombre a sus parámetros y el resultado al declarar:

  • un método proyecto,
  • un trigger,
  • un método de base de datos,
  • un método formulario,
  • un constructor de clase,
  • una función de clase.

 

Depurador remoto

Esta funcionalidad le permite decidir dónde quiere depurar el código de su servidor (del lado del cliente o del lado del servidor).

Se añaden dos nuevos elementos de menú (en ambos lados) para gestionar la asociación del depurador:

  • Adjuntar / Separar el depurador: adjuntar o separar instantáneamente el depurador a su cliente o servidor.
  • Adjuntar el depurador al inicio: adjuntar el depurador al lanzar su cliente o servidor. 

Tenga en cuenta que el depurador sólo se puede adjuntar a un solo 4D al mismo tiempo. Por ejemplo, si intenta adjuntar el depurador a su servidor sin desconectarlo del cliente, aparece un mensaje de error con cierta información sobre el propietario del depurador.

Además, para ayudarle a diferenciar si el depurador o las ventanas de error son del servidor o del cliente, cambiamos el aspecto de estas ventanas.

 

Funcionalidades de despliegue

Personalizar la carpeta de caché 4D para el servidor 4D fusionado 

Si su máquina alberga una aplicación servidor fusionada creada con diferentes versiones de 4D, puede que tenga problemas debido a la carpeta de estructura 4D compartida. Para evitar compartir esta carpeta sistema entre aplicaciones servidor fusionadas creadas con diferentes versiones de 4D, ahora puede corregir el nombre de la carpeta durante el proceso de generación de la aplicación con la nueva llave buildApp para definir su propia carpeta de estructura.

 

Personalizar la carpeta de caché 4D para el cliente 4D fusionado

La conexión de su aplicación remota a varios servidores a veces da lugar a la obtención de una enorme carpeta de recursos locales en el sistema que puede consumir tiempo, volumen y red. Ahora tiene la posibilidad de compartir la misma carpeta de recursos locales entre todos los servidores idénticos con la nueva llave buildApp para compartir la carpeta de recursos locales.

Integrar el HISTORIAL sin interrupción en el primer error 

Cuando se ejecuta 4D Server en producción, todo debería ser totalmente automático, sin requerir la intervención de un administrador. Esto es especialmente importante con la actualización automática y ejecutándose en modo headless. Después de una pérdida de energía o un fallo, errores menores en el historial podrían detener un servidor 4D reiniciado automáticamente. Una nueva opción permite ahora suprimir los mensajes de error no críticos (sólo reportándolos en un historial), reduciendo el tiempo de inactividad del sistema.

Emails (IMAP)

Buscar y descargar correos electrónicos

La búsqueda permite recuperar una lista de correos electrónicos basada en criterios, como todos los correos electrónicos no leídos o todos los correos electrónicos de una persona de menos de 4 semanas. El comando devuelve una colección de identificaciones de correo, que pueden ser utilizadas directamente por el nuevo método getMails para descargarlas.

 

CopIAR, moveR Y ELIMINAR emails

Se añaden tres nuevas funcionalidades al transportador IMAP: copy()move()delete().

Listbox

TECLEO PREDICTIVO MEJORADO

Anteriormente, un list box sólo recibía eventos de pulsación de teclas cuando estaba en modo edición. Esto impedía que se utilizara para filtrar automáticamente la lista o seleccionar una entrada cuando un usuario estaba utilizando el teclado y un list box no accesible.

Ahora, el evento On before Keystroke se genera tan pronto como el list box tiene el foco y se digita una tecla, incluso si no se están introduciendo datos en una celda. Esto permite a 4D saber qué teclas han sido pulsadas y hace posible (por programación) tomar decisiones como iniciar una nueva búsqueda o cambiar la selección actual.

Se ha añadido el nuevo comando Is editing text para ayudar a determinar si hay una entrada en curso cuando se genera el evento On before keystroke. Permite, por ejemplo, que un list box sea editable, y sigue siendo compatible con las funciones de escritura anticipada. Por último, On before keystroke y On after keystroke ahora soportan diálogos de ayuda del sistema para seleccionar diacríticos como é, ä, o caracteres asiáticos. El evento se retrasa hasta que el usuario final selecciona los últimos caracteres. No hay necesidad de manejar esto usted mismo.

4D Write Pro

Selección del caracter para las tabulaciones decimales

Si tiene documentos de varias fuentes, tal vez los números no estén formateados de la manera correcta. Ahora, 4D Write Pro le permite especificar este parámetro para cada documento. Puede elegir alinear los números en:

  1. el punto,
  2. la coma,
  3. el primer caracter que encuentre,
  4. o finalmente, al separador definido en el sistema operativo.

A fin de maximizar la compatibilidad (con MS Word en particular), se elige por defecto la opción 3 al crear nuevos documentos. Al migrar documentos de 4D Write a 4D Write Pro, se elige de forma predeterminada el separador definido en el sistema.

 

Gestión de guiones de unión condicional

La inserción de los guiones de unión condicional se simplifica ofreciendo nuevas acciones estándar, así como nuevos botones en los widgets de la interfaz de Write Pro 4D.

Dos nuevos estándares de acción están a su disposición:

  • insertSoftHyphen
  • removeSoftHyphens

Además, se ha añadido la funcionalidad a los widgets de la interfaz de Write Pro 4D tanto en el widget de la barra de herramientas como en el de la barra lateral.  

 

 

Selección de las páginas a mostrar

4D muestra sólo las páginas mencionadas en la colección, en el orden de la colección. Esto permite reducir el conjunto de funcionalidades, para hacerlo más simple para el usuario final. Si sólo se necesitan opciones de estilo, es mejor ni siquiera mostrar todas las demás funcionalidades. Ahora, el widget 4D Write Pro ofrece la posibilidad de seleccionar las páginas a mostrar con el nuevo método componente WP ShowTabPages. Basta con pasar el nombre del widget y una colección de páginas a mostrar cuando se llama al método. De esta manera 4D muestra sólo las páginas mencionadas en la colección, en el orden de la colección.

 

4D View Pro

Fórmulas 4D en hojas de cálculo

VP SET CUSTOM FUNCTIONS crea para usted funciones personalizadas que ejecutan una fórmula 4D en 4D View Pro. Ya no es necesario crear un método para utilizar una variable simple en 4D View Pro, sólo tiene que pasarla como parámetro a su Formula. Además, el comando permite facilitar la escritura al usuario final (ofreciendo un texto de ayuda y nombres de parámetros). Y finalmente, en estructuras muy grandes, este comando es mucho más rápido que el uso del comando genérico SET FIELD TITLES.

 

¿Quiere saber más? Leer todas las entradas del blog sobre 4D v18 R5