PaaSOS

Laboratorio III – Como crear nuevos módulos para PaaSOS

Continuamos con la serie de artículos “Como crear nuevos módulos para PaaSOS”. Artículos anteriores:

Laboratorio I – Como crear nuevos módulos para PaaSOS
Laboratorio II – Como crear nuevos módulos para PaaSOS

Hoy nos centraremos en como añadir una nueva acción a la paleta de acciones conectables. Recuerda que antes de empezar tienes que completar el Laboratorios I y II. Para ello tendrás que descargar el código fuente de PaaSOS y las plantillas (recuerda que tienes que estar registrado).

Descargar código fuente de PaaSOS – zip

Tiempo estimado: 1 hora  y 20 minutos

Dificultad: Alta

Continua leyendo…

De los anteriores laboratorios hemos concluido que las facilidades otorgadas por PaaSOS y sus plantillas hacen de PaaSOS un complemento altamente productivo para Velneo v7.

Con un poco de soltura en menos de 10 minutos tendrás nuestra plantilla empresarial aplicada a un nuevo módulo con todas sus características.

image

Ahora toca empezar a analizar como funcionan los distintos sub-sistemas que existen en PaaSOS, para ello entraremos en un detalle técnico mucho mayor.

Hoy nos centraremos en el módulo de conexiones. Para ello crearemos un nuevo tipo de conexión en nuestras paleta de acciones (paleta de iconos situada a la derecha).

Este nuevo icono permitirá conectar cualquier módulo conectable con un video existente o con un nuevo video.

Por defecto cuando arrancamos PaaSOS por primera vez el sistema crea automáticamente 16 conexiones posibles. Nosotros podemos crear nuevas conexiones o reutilizar las existentes.

 

El módulo de conexiones

El módulo de conexiones surgió ante la necesidad de permitir que toda la información existente en PaaSOS fuese interrelacionable. En la versión 0.1 (a finales del 2009) nos dimos cuenta de que era imposible continuar con el desarrollo de PaaSOS si no conseguíamos una forma de hacer crecer en el número de módulos y que no fuera necesario crear estructuras históricas por cada interrelación de información. ¿Os acordáis de aquella serie de artículos llamada La sencillez en el modelado de datos?, pues durante esta reflexión surgió la idea (ninguna de las soluciones propuestas para el ejemplo nos convencía (la de Manuel Cabrera era la más aproximada). Teníamos que conseguir que toda la información de cualquier módulo de PaaSOS fuera conectable con el resto. A este tipo de relación entre elementos de información la llamamos internamente “relación débil”. Al modelo tradicional (crear tabla por cada relación) la llamamos “relación fuerte”. Estos dos modos no son excluyentes, habrá casos donde nos interese tener relaciones fuertes y casos donde no, pero aún siendo de esta forma seguimos el patrón de que toda la información tiene que ser conectable sin requerir de mucho coste.

Esta característica permite que podamos añadir nuevos módulos al sistema e integrarlo con todos los existentes sin dedicar demasiado esfuerzo.

En le proyecto tdbCommon disponemos de la estructura de tablas, procesos y funciones necesarias para almacenar y operar con el sistema de conexiones entre los distintos elementos de información

Tablas:

image

  • MODULES: Lista con todos los módulos de PaaSOS
  • ACTIONS: Lista con todas las acciones conectables (una acción es la encargada de conectar un elemento de información con otros elementos)
  • MODULE_ACTIONS: Lista parametrizable de acciones conectables entre módulos
  • CONNECTIONS: Conexiones entre elementos de información

Procesos y funciones:

Asociado a este esquema de tablas disponemos de un conjunto de funciones que permiten el manejo de las conexiones.

image

La función FRN_SYS_SET_CONNECTION es la encargada de establecer una nueva conexión o actualizar una existente. Es una de las funciones fundamentales de este módulo.

image

También disponemos de otras muchas funciones o procesos para el tratamiento de las conexiones (Leer o eliminar)

image

A estas funciones se les da uso en cada uno de los módulos cuando es necesario. Pero como apuntábamos anteriormente la más importante es la función FRN_SYS_SET_CONNECTION. Esta función es intensivamente utilizada en el módulo de conexiones, fundamentalmente es llamada desde el proceso PRC_ACTION_ADD_CONNECTION del proyecto tuiConnections.

A su vez este proceso es llamado cuando realizamos el Drop sobre el slot de ACTIONS ubicado en la parte derecha del formulario principal.

El proceso PRC_ACTION_ADD_CONNECTION es el encargado de asistir al usuario en el proceso de conexión facilitando distintos wizards según conexión realizada.

En la siguiente captura puede ver como según la acción a conectar lanzamos un wizard distinto. Al retorno o dentro del propio formulario de conexión creamos la conexión mediante FNC_SYS_SET_CONNECTION.

image

Si queremos añadir una nueva conexión tendremos que:

  • Crear una nueva acción conectable,
  • Crear o utilizar un wizard existente
  • Y modificar el proceso PRC_ACTION_ADD_CONNECTION para contemplar la nueva acción.

… Continuará…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *