Desarrollo de módulos MADS en VS Code

La extensión MADS V5 para Visual Studio Code es el entorno recomendado para trabajar con MADS. No sustituye a la herramienta mads: la ejecuta por ti, así que todo lo que haces en el editor se puede repetir en la terminal o en un servidor de integración continua.

La vista Mads

Al abrir una carpeta que contiene módulos MADS, aparece la vista Mads en el Explorador. Para cada módulo muestra:

Sección Qué contiene Acciones habituales
Customization Los ficheros XML de metadatos Editar dominios, modelo de datos, textos y parámetros
Runtimes Las configuraciones de ejecución Añadir un runtime, elegir el de por defecto, ejecutar y depurar
Dependencies Los módulos de los que depende Editar las dependencias del módulo
Deployment El descriptor de despliegue Publicar el módulo o la app en WAPP

Desde la barra de la vista puedes añadir un módulo nuevo (Add a new mads module) o refrescarla.

Editores e inspectores

  • Editores de metadatos: Edit domains, Edit data model, Edit strings, Edit parameters, Edit default runtime, Edit module dependencies y Edit POM descriptor.
  • Mads: Domains inspector y Mads: Metadata model inspector: consulta los dominios y el modelo de base de datos del módulo.
  • Mads: Metadata model generator: genera el esquema de base de datos a partir de una base de datos existente.
  • Mads: Database syncronizer: compara y sincroniza el modelo con una base de datos.
  • Mads: Resources translator: traduce los textos del módulo.
  • Mads: Security utility: gestiona la seguridad del módulo.

Metodología recomendada

  1. Empieza por el modelo. Define dominios y tablas antes que pantallas. Un buen dominio (por ejemplo, un importe o un código de estado) se reutiliza en muchas columnas y mantiene la coherencia.
  2. Genera después de cada cambio de metadatos. Mads: Generate module actualiza entidades, Peers, Filters y textos. Para un solo tipo de recurso tienes Generate java model, Generate flutter/dart model y Generate text resources.
  3. Deja que el compilador te guíe. Tras regenerar, los errores de compilación señalan exactamente el código afectado por el cambio. Corrígelos antes de seguir.
  4. Nunca escribas nombres de columnas como texto. Usa siempre el enumerado generado (FacturaField.estado), también en renderers y editores de tabla.
  5. Prueba en local. Mads: Run & Debug app lanza el módulo con su runtime por defecto; Mads: Run module tests ejecuta sus tests.
  6. Construye y versiona. Mads: Build module compila, empaqueta e instala en tu repositorio Maven local. Antes de entregar, Mads: Update module version fija la nueva versión.
  7. Despliega y publica. Mads: Deploy module publica el artefacto en el repositorio Maven; Mads: Publish module y Mads: Publish app lo publican en WAPP.

Trabajo en equipo

  • Versiona los metadatos (src/main/res) igual que el código: son la fuente de verdad del módulo.
  • Revisa los cambios de metadatos junto con el código regenerado en la misma revisión (pull request).
  • Mantén los textos traducidos al día con Mads: Resources translator antes de cada versión.

Siguiente paso: automatizar el ciclo con Maven.