---
title: "Mejoras FlowEngine (desde v4.2.0)"
canonical: "https://onesaitplatform-es.refined.site/space/DOC/3660677134/Mejoras%20FlowEngine%20(desde%20v4.2.0)"
format: markdown
---
> Macro (toc)

> ℹ️ Disponible desde versión 4.2.0 de Onesait Platform.

# Introducción

En la release de plataforma, se ha migrado el motor de ejecución del FlowEngine basado en Node-RED a la versión 3.0, concretamente a la versión 3.0.2. Esto permite usar todas las nuevas capacidades y mejoras del nuevo motor desde el FlowEngine.

![image](media://74249bd2-9161-4344-9c0b-bcdda831cc52)

Información completa sobre novedades de esta release aquí: [https://nodered.org/blog/2022/07/14/version-3-0-released](https://nodered.org/blog/2022/07/14/version-3-0-released).

Veamos las principales mejoras incorporadas. 

# Mejoras incorporadas

## Menú contextual

Por fin se ha añadido un menú contextual de clic derecho en el espacio de trabajo. Esto da a los usuarios acceso rápido a un montón de acciones incorporadas en el editor y debería ayudarles a descubrir más de las características disponibles.

![image](media://e027304d-150f-4508-a87f-69f3c92f9509)

## Posibilidad de generar conectores intermedios (Junctions) para mejor visibilidad

![image](media://d0ee2e62-aa8e-4eb4-80cb-6c78a957f8b7)

## Posibilidad de instalar módulos de node.js desde el propio nodo function (para ese nodo)

![image](media://a141fb87-dac9-43e5-abf5-34ff39a0d404)

## Nuevo editor Monaco

A partir de la versión 2.0 de NodeRED el editor de funciones usa este editor, ofreciendo más facilidades para el desarrollo como autocompletado, tooltips,…

![image](media://9868fe73-7f73-45bc-9d86-49c164299bf8)

## Otras

- Vista de los flujos como árboles.
- New Help sidebar: La ventana de ayuda ahora es un tab nuevo, teniendo más espacio para la lectura.
- Grouping nodes: Permite agrupar nodos como si de un componente se tratara.
- JSONata $moment support: Se añade soporte a la librería Moment date/time en los nodos FUNCTION, permitiendo funciones de modificación de fechas, conversión de Timezones, etc
- Inject node properties: Ahora permite configurar cualquier valor de MSG
- Function node lifecycle: Permite en los nodos FUNCTION crear código al la inicialización (deploy) y destrucción del nodo.

- Importing duplicate nodes: Al importar flujos o nodos, te pregunta si quieres sobrescribir los ya existentes por id. De esa manera, puedes actualizar o replicar flujos dentro de los dominios.
- Simplified Git Workflow: Es posible configurar los proyectos para que hagan auto commit al hacer DEPLOY del dominio.
- Handling ‘lost’ nodes: Solución de bugs para nodos que perdían su referencia a un tab de NodeRED
- Nodo FUNCTION: El nodo ahora puede mandar mensajes en la parte de setup

- Function node use of npm modules: Se pueden añadir directamente módulos nodejs (npm install) a los nodos FUNCTION.
- Features de Editor:
  - Export preview: Se añade una nueva pantalla de visualización en árbol cuando se exporta para facilitar la tarea.
  - Selecting nodes: Se añaden shotcuts para la selección y manejo de nodos.
  - Opening a subflow: CTRL + doble click sobre un subflujo ahora te lleva a la definición del mismo.
  - Navigating around the workspace: Nuevos shotcuts para navegación.

- Function external module changes: Mejora en la definición de nuevos módulos. Dichos módulos se instalan en background listos para usar en el nodo FUNCTION
- Inject node quick inject button: Ahora puedes inyectar datos directamente desde la definición sin tener que hacer un deploy cada vez, lo que facilita el desarrollo
- Removed tail node: Se elimina el nodo por defecto. Se puede volver a instalar desde la paleta.

- Flow Debugger: Se ha creado un nuevo plugin para poder hacer debug del NodeRED, añadiendo breakpoints entre nodos (entrada/salida), viendo cola de mensajes , etc
- Flow Linter - nrlint: Se ha creado un plugin para poder tener disponible un Flow linter.

- New Welcome Tour Guide: Se añade una pequeña visita guiada para la primera vez que se entra al dominio.
- Hiding tabs: Ahora se pueden cerrar las pestañas para que no ocupen espacio en la barra superior y abrirlas desde la vista de árbol.
- Dynamic MQTT nodes: Se añade la opción de suscripción dinámica.
- Auto-complete in msg TypedInputs: Se añade autocompletar a algunos nodos cuando seleccionamos campos del MSG.
- New Link Call node: Nuevo nodo que permite, junto con los LINK-IN/OUT, generar ejecuciones parecidas a subrutinas.
- Edit & Arrange menus: Personalización de elementos.
- Flow/Group level environment variables: Se permite establecer variables globales a nivel de grupo y flujo (pestaña).
- Debug sidebar options: Cambio de opciones en la visualización de los mensajes de debug.
- Deep copy option on Change node: El nodo SET ahora permite hacer una copia de los datos (no por referencia).
- Delay node updates: Ahora el nodo soporta una segunda salida para aquellos MSG que son descartados por la política de retención que se configuire en el mismo.
- File nodes renamed: Se renombran los nodos FILE para que sea más fácil saber cual es el de escritura y cual el de lectura.

- Search History: La ventana de búsqueda de nodos ahora tiene un histórico para fácil acceso a búsquedas habituales.
- Remembering zoom/position: Las selecciones de zoom y otras de visualización pueden ser configuradas para que se almacenen y apliquen siempre.
- Aligning nodes: Se añade la opción snap-to-grid.
- Detaching nodes: Se permite separar nodos sin que se pierda el enlace entre los nodos sucesor y predecesor.
- Selecting multiple wires: La selección múltiple ahora ilumina los enlaces entre nodos para facilitar la visualización.
- Slicing wires: Se permite "cortar" enlaces a la vez usando CTRL + arrastrar click derecho.
- Subflow Output labels: Se añaden labels a las salidas de los subflujos.
- Predefined Environment Variables: Se añaden una serie de variables de entorno para acceder a nombres comunes como el del flujo (pestaña), nodo, etc.
- El nodo JSONParser ahora intentará parsear objetos de tipo Buffer, si puede.