Los perfiles

Módulo de ejemplo: hellotypes, propiedad editabledata.

hasprofile:true en una propiedad es el mecanismo más rentable del framework: un solo booleano, y la propiedad gana el guardado/carga de configuración con nombre en base de datos, sin escribir una sola línea de código.

"editabledata": {
  "permission": 2,
  "hasprofile": true,
  "e": { "..." }
}

Lo que este flag dispara, totalmente automático

  • Guardado/carga: un cliente envía PS/PL con un nombre de perfil; el servidor construye una instantánea limitada a las propiedades hasprofile:true y la escribe en base de datos (o la vuelve a leer). Ya gestionado de forma genérica por el framework — nada que escribir en el módulo.
  • En la interfaz: el cuadro “Ajustes” de un módulo solo lista las propiedades hasprofile:true; la barra de carga/guardado de perfil solo aparece si existe al menos una.
  • Dos listas de valores, también automáticas: cada módulo tiene su propia lista de perfiles guardados (vacía al principio, alimentada en cada guardado), y el controlador mantiene además una lista agregada por tipo de módulo, usada por el selector de perfil de la interfaz.
Casi todos los módulos reales lo usan

Es el mecanismo estándar para toda configuración que el usuario deba poder nombrar, encontrar y recargar — ajustes de cámara, parámetros de secuencia, perfil de autoenfoque… Un módulo que expone ajustes personalizados casi siempre debería tener al menos una propiedad hasprofile:true.