Mejoras FlowEngine (desde v4.2.0)

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.

Información completa sobre novedades de esta release aquí: 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.

Posibilidad de generar conectores intermedios (Junctions) para mejor visibilidad

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

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,…

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.