Pasar al contenido principal
Main Image
Imagen
A laptop on a desk with utilities like coffee mug, watch, mouse surrounding it
11. Junio 2025

La API del Modelador de Drupal está lista para ser probada

by Jürgen Haas

La Modeler API es un nuevo módulo creado por la comunidad de Drupal para dar respuesta a las necesidades de los módulos y ecosistemas existentes con configuraciones complejas, proporcionando interfaces de usuario modernas y fáciles de usar para usuarios no técnicos, de modo que puedan crear, modificar y mantener sus propios sitios de forma independiente. Ejemplos de estos ecosistemas son ECA (Eventos, Condiciones, Acciones - el moderno motor de reglas de Drupal), Agentes AI y Migraciones.

Estado actual

Hay 4 módulos implicados que están listos para ser probados en este momento:

Esta combinación de módulos requiere Drupal core 11.2 o posterior, por lo que deberías empezar con la última versión beta, o tal vez incluso con una versión candidata que puede estar ya disponible para cuando vayas a probar esto.

Estos módulos están próximos a la versión beta, pero aún faltan cosas menores, que pueden mejorar ligeramente algunas de las interfaces existentes. Sin embargo, tenemos previsto publicar versiones estables en las próximas semanas. Por eso te pedimos que los pruebes y nos informes de lo que encuentres.

Cómo probar la Modeler API

Instala un sitio Drupal 11.2 con los módulos mencionados en las versiones mencionadas (o posteriores).

No pruebes con modelos ECA o Agentes AI existentes en este momento. Sólo crea otros nuevos, aún tenemos que proporcionar el script de migración para convertir los modelos existentes a la estructura mejorada. No es nada importante, pero se han mejorado algunas cosas que facilitarán mucho el mantenimiento futuro.

Cuando encuentres problemas, notifícalos en las colas de problemas del módulo correspondiente. Si no estás seguro de cuál es el que causa el problema, simplemente ve a la API del Modelador, y nosotros nos encargaremos de triarlos después. Por supuesto, cuantos más detalles puedas proporcionar, mejor. Las trazas de pila, los modelos exportados (entidades de configuración) o incluso breves clips de vídeo son extremadamente útiles en esta fase.

Qué significa esto para la Modeler API

La API del Modelador es la orquestación entre los propietarios de modelos (ECA, Agentes, Migración) y los modeladores (BPMN.iO, etc.). Los propietarios de modelos y los modeladores ya no tienen conexión directa, todo pasa por la API. Y eso viene con su propia página de configuración en /admin/config/workflow/modeler_api

Allí encontrarás un conjunto de campos para cada combinación de propietarios de modelos y modeladores, que te permite definir cómo se comporta cada una de esas combinaciones. Actualmente, hay 3 ajustes para cada combinación:

  • Tema: ahora mismo sólo viene con un ajuste por defecto, pero prepara el sistema para personalizaciones en el aspecto de la interfaz de usuario de cada propietario de modelo.
  • API de formularios de Drupal: sí, BPMN.iO utiliza ahora la API de formularios de Drupal por defecto, lo que mejora notablemente la experiencia del usuario y nos permite crear muchas más funciones sofisticadas en el futuro.
  • Almacenamiento: los modelos están controlados por los módulos del propietario del modelo, pero también están los datos en bruto del modelador que acompañan a cada uno de los modelos. El almacenamiento de esos datos brutos se rige por la API del Modelador, el propietario del modelo no tiene que preocuparse de eso. Y aquí puedes elegir si los datos brutos no deben almacenarse en absoluto, o como ajustes de terceros en el modelo, o como una entidad de configuración independiente.

Para el ejercicio de prueba que nos interesa actualmente, es importante sobre todo la configuración de almacenamiento. Por favor, pruébalos todos. Aquí tienes algunas notas al respecto:

  • Si no se almacenan los datos en bruto, sólo se perderá el diseño del diagrama, pero eso técnicamente no es necesario. Sin embargo, puede ser importante para el usuario.
  • Si los datos brutos se almacenan en una entidad de configuración independiente, la configuración de terceros del modelo contendrá un hash MD5 de esos datos brutos, de modo que la API del Modelador pueda verificar que los datos del modelo y los datos brutos del modelador siguen coincidiendo cuando se vuelva a abrir el modelo para editarlo. Si no es así, los datos brutos se descartarán y el modelo se reconstruirá desde cero.
  • Si los datos brutos se almacenan con el modelo, lo encontrarás en los ajustes de terceros. Esto aumentará el tamaño de almacenamiento, pero no se espera ningún otro efecto secundario.

Qué significa esto para ECA

En realidad, ECA no se ve muy afectado por este cambio. Sólo ha cambiado el submódulo de la interfaz de usuario de ECA, y todo lo demás está intacto. Por tanto, el procesamiento de los modelos no ha cambiado en absoluto. Sólo se trata de la interacción entre ECA y el modelador BPMN.iO. Sin embargo, no olvides activar el submódulo ECA UI, ya que es necesario para interactuar con la API del Modelador como interfaz de usuario de ECA.

Dicho esto, hemos eliminado una tonelada de código que no estaba relacionado con el procesamiento de ECA. Y eso es una noticia fantástica para avanzar con ECA. Pero, por supuesto, todas estas afirmaciones deben verificarse, y por eso es tan importante probarlas ahora.

Hay una nueva función, entre otras, que es importante en el contexto de los Agentes de IA: Hay un nuevo evento "Herramientas". Esto te permite definir un modelo que comienza con dicho evento y se expone como herramienta a los Agentes IA. De este modo, puedes proporcionar capacidades adicionales a los agentes sin tener que escribir código PHP en absoluto. El uso de dichas herramientas requiere que también configures los datos de entrada que los agentes deben proporcionar cuando utilicen dichas herramientas. Eso se hace actualmente en un área de texto escribiendo manualmente el formato YAML. Sin embargo, estamos planeando proporcionar pronto un widget más fácil de usar para ello. La documentación para esa definición de datos de entrada se publicará por separado en los próximos días.

Qué significa esto para BPMN.iO

Mucho, es la respuesta corta. Este modelador ha cambiado casi por completo. No sólo hemos eliminado el panel de propiedades de terceros de la derecha y lo hemos sustituido por la API de formularios de Drupal, sino que también hemos reorganizado todas las demás cosas y hemos preparado esta interfaz de usuario para futuras mejoras a un ritmo mucho mayor que nunca.

Por ejemplo, elementos de acción: los botones se han reducido a lo que es esencialmente enviar cosas al sitio Drupal, por ejemplo, guardar el modelo o exportarlo como un archivo o una receta. Todos los demás elementos de acción se han trasladado al lienzo, donde son pequeños botones en la esquina inferior izquierda. Sí, aún no tienen un aspecto bonito, y aquí pedimos ayuda: necesitamos que alguien nos ayude a ponerlos bien, con iconos y un estilo adecuado.

Los nuevos elementos de acción son:

  • Copiar y Pegar: no sólo puedes copiar y pegar elementos seleccionados en el lienzo, sino que ahora también funciona entre pestañas del navegador, de modo que puedes copiar componentes en otros modelos. Esto funciona utilizando el almacenamiento local del navegador.
  • Información: abre un formulario de configuración para editar los metadatos del modelo actual, incluyendo el nombre, ID, versión, documentación, etiquetas y registros de cambios.
  • Diseño: este elemento presenta automáticamente el diagrama actual de forma atractiva.
  • Mini-mapa: abre un pequeño panel que te permite navegar por el lienzo, lo que resulta útil cuando has hecho zoom en el lienzo (puede hacerse con ctrl-mouse-wheel). ¡Probablemente también deberíamos añadir botones de acción para ello!

En la paleta de herramientas (esquina superior izquierda del lienzo) encuentras un nuevo elemento que se llama "Participante", también conocido como carriles de natación. Te permiten agrupar cosas. Eso es sólo a efectos visuales. Y actualmente existe una limitación al respecto: esas líneas de natación sólo se almacenan en los datos brutos, lo que significa que se perderán cuando no se guarden los datos brutos (ver más arriba los ajustes de la API del Modelador).

También encontrarás otras cosas nuevas, por ejemplo, la selección de colores para los elementos, o subprocesos para los Agentes IA. Pero probablemente dejaremos que descubras algunas cosas por ti mismo.

Qué significa esto para los Agentes IA

Este marco sustituye totalmente el complejo formulario de configuración de los agentes. El uso del círculo como elemento inicial para un agente proporciona el formulario de configuración para los metadatos del agente. Seguidos de los elementos rectangulares, llamados acciones en ECA, están las herramientas que se ponen a disposición de ese agente. Y cada herramienta se puede seleccionar y configurar por separado.

Pero también hay subagentes: son Agentes AI propiamente dichos, pero pueden ponerse a disposición, e incluso configurarse, como parte de cualquier otro agente al que se le permita utilizar a cualquier otro agente como subagente. En BPMN.iO existe el elemento subproceso que representa a un subagente. Así que tienes tu agente principal empezando por un círculo y seguido por las herramientas. Y luego puedes tener cualquier número de subagentes, cada uno de los cuales también tiene un círculo con los metadatos del agente, y cualquier número de herramientas adjuntas.

Al guardar el diagrama, la Modeler API guardará cada uno de los subagentes como entidades de configuración de agente independientes.

No olvides activar el submódulo "Agentes AI Modeler API" para acceder a esta funcionalidad. Cuando, a continuación, vayas a /admin/structure/ai-agent y hagas clic en editar para cualquiera de los agentes existentes, o crees un nuevo agente para el caso, te encontrarás en el lienzo BPMN.iO que conoces de ECA, pero ahora para editar tu propio agente.

Lo que falta en este punto es incrustar un agente existente como subagente. Pero puedes crear nuevos agentes como subagentes.

Próximos pasos

Seguramente se encontrarán fallos, y los arreglaremos todos rápidamente. Luego también queremos pasar a la versión beta, lo que será posible cuando estén finalizadas las siguientes funciones de cambio de la API:

  • Almacenar los carriles de natación y el color fuera de los datos brutos, para que no se pierdan cuando éstos no estén disponibles.
  • Añadir soporte para anotaciones, lo que ayudará a que los diagramas sean aún más autoexplicativos.
  • Añadir soporte para modos adicionales como editar (ya disponible), ver, vista de registro y repetición. Como primer paso, sólo estarán los modos, no toda su funcionalidad.

Suena a mucho, pero debería ser sólo cuestión de días. Así que, para finales de junio de 2025, aspiramos a tener al menos versiones RC, seguidas de versiones estables poco después. Esto es sólo para tu propia planificación. Y eso es para explicar por qué las pruebas ahora son importantes. Por favor, ayúdanos a conseguirlo.

Tools

Añadir nuevo comentario

Texto sin formato

  • No se permiten etiquetas HTML.
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.
CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.