Laboratorio I – Como crear nuevos módulos para PaaSOS

Ahora PaaSOS es libre y eso hay que aprovecharlo.

Mediante una serie de artículos avanzados veremos como PaaSOS nos facilita enormemente la vida (además de lo que ya nos facilita Velneo v7).

Para aprender sobre las facilidades de PaaSOS en unión con Velneo v7 os enseñaremos nuestros secretos, os enseñaremos a desarrollar en base a nuestras plantillas libres.

Vamos a realizar un ejemplo paso a paso en base a nuestras plantillas. Lo haremos en varios artículos y será toda una experiencia para los que nos sigan. Si queréis avanzar deprisa no os los perdáis e intentar realizar las prácticas en vuestros correspondientes trabajos (o donde buenamente podías).

Os invitamos a que trabajéis con nosotros las próximas semanas y aprenderéis muchas cosas de v7 que os abrirán un mundo de posibilidades.

Antes de empezar tendremos 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: 30 minutos

Dificultad: Baja

¿Estas inquieto? continua leyendo…

Después de descargar las plantillas prepararemos el entorno de trabajo, para ello desde el vDevelop (7.3 o 7.4.1) creamos las siguientes soluciones:

  • PaaSOS  (la marcamos como Shared)
  • PaaSOSTemplates
  • PaaSOSMobile (es opcional pero ya puestos)

Volcamos las fuentes de las soluciones descargadas en las carpetas de proyecto (típicamente C:\Windows\System32\config\systemprofile\Velneo\…) y con esto ya tenemos el entorno de desarrollo preparado.

Reabrimos el vDevelop y cargamos el proyecto PaaSOS y PaaSOSTemplates

Ahora ponemos el vDevelop en modo crear herencia y visualizamos la herencia de nuestras soluciones: obtendréis esta visualización

image

Fijaros bien, es muy importante entender como esta montada la herencia para añadir un nuevo módulo.

Por un lado tenemos tdbTemplate (que contiene una sola tabla llamada DETAILS) que hereda de tdbBase.

Esta tabla tiene una estructura que es común a todos los módulos de PaaSOS. Cada módulo añade nuevos campos para incorporar nuevas funcionalidades, pero en común tienen todos los mismos.

image

Por otro lado tenemos tres plantillas (tuiDetails, tuiDetailsR y tuiDetaisLR) que heredan de tuiConnections y utilizan DETAILS como tabla de trabajo.

Estas tres plantillas son en esencia la misma:

  • tuiDetails: Se utiliza para tablas maestras y es bastante ligera. No dispone de sistema de conexiones ni laterales.
  • tuiDetailsR: Es la más utilizada. Dispone de sistema de conexiones y lateral derecho.
  • tuiDetailsLR: Solo se utiliza para módulos muy avanzados. Dispone de lo mismo que tuiDetailsR y además incorpora una barra lateral izquierda para complementar el módulo con accesos a otras tablas. Solo se utiliza en el módulo tuiEvents (eventos y tablas de configuración asociadas)

Ahora tenemos que decidir si nuestro nuevo módulo se incorporará a la caja de datos tdbBase o a otra caja distinta.

También tendremos que crear una nueva caja para el interface de usuario de nuestro nuevo módulo.

Supongamos que las tablas de nuestro nuevo módulo quedarán alojadas en tdbBase y que el interface lo almacenaremos en una nueva caja de interface.

tuiTube

El ejemplo que realizaremos permitirá la integración de videos de internet en PaaSOS y se llamará tuiTube (primo hermano de tuiTV).

Empezamos creando la caja de interface en la solución PaaSOS.

image

La nueva caja de interface heredará de tuiConnections.

image

y soportará Español e Ingles en este orden.

image

Ahora nos centramos en la caja de datos… vamos a mover la tabla DETAILS desde tdbTemplates a tdbBase. Con este movimiento de objetos arrastraremos a las tres plantillas de tal forma que las tres apuntarán a DETAILS en la caja tdbBase.

Seleccionamos la tabla DETAILS y la movemos a tdbBase (dentro de la carpeta papelera).

image

image

image

Apreciar que las tres plantillas apuntan a la tabla DETAILS que previamente hemos movido.

image

Ahora empezamos con lo interesante, copiamos el contenido de la plantilla deseada.

Para el ejemplo vamos a utilizar la plantilla más habitual tuiDetailsR

image

En la nueva caja de interface creamos una carpeta llamada Trash (icono papelera) y pegamos el contenido en esta carpeta.

Nota: Nosotros utilizamos esta carpeta destino ya que en la 7.3 existe un bug que provoca algún problema al pegar en la raíz. Recomendamos encarecidamente utilizar una carpeta destino antes de pegar o mover algo. En nuestro caso esta carpeta es Trash y siempre tenemos una mano.

Seguimos, mucho cuidado con los siguientes pasos:

Descartamos los cambios de las tres plantillas  (tuiDetails, tuiDetailsR y tuiDetaisLR) y de tdbTemplate. No guardamos los cambios en las plantillas para reutilizarlas la siguiente vez.

Guardamos tuiTube y tdbBase. Esto es lo único que necesitamos guardar.

Seguimos… Renombramos la tabla DETAILS en tdbBase.

Para nuestro ejemplo la llamamos TUBELINKS

image

Acuérdate de rellenar el Name (singular y plural) en ambos idiomas correctamente.

Guardamos tuiTube y tdbBase. Por seguridad…

 

Y hasta aquí, en la próxima entrega traduciremos nuestro nuevo módulo y lo ejecutaremos por primera vez.

Descargar en formato PDFDescargar en PDF
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 4,00 de 5)
Cargando…

Seguir Jorge Hontoria Jimenez:

Gerente de TipeSoft

Dirección de proyectos de integración de software y aplicaciones orientadas a servicios. Implantación de soluciones de integración basadas en SharePoint Portal.

Últimas publicaciones de

5 Respuestas

  1. fvarona

    Hola.

    Lo primero: muy interesante el artículo, y todo el montaje que tenéis preparado.

    Pequeña pega: al copiar el contenido de tuiDetailsR en la nueva caja (tuiTube), me pide que indique la resolución para el proceso PROC_LOAD_DETAILS_DETAIL@tuiDetails. ¿Es así o me estoy liando?

    Gracias!

    Fran Varona

  2. jorge.hontoria

    Es un bug que no teníamos reportado. Utilizamos la v7.3 como entorno de desarrollo por mantener un mayor grado de compatibilidad. Esta funcionalidad (copiar y pegar con resolución) no la usamos y por eso no habíamos detectado el bug.
    Lo corregiremos en breve y publicaremos la corrección.
    Resuelve manualmente, es un proceso sencillo (la misma tabla de origen y destino). Básicamente carga un registro desde la selección de una lista y retorna el registro seleccionado.

    Esperamos que te guste PaaSOS y nos ayudes a construir muchas más mejoras en base al núcleo y las plantillas. Gracias.

  3. Miguel

    Hola Jorge, !!! Excelente y supongo arduo trabajo ¡¡¡, sobre todo viendo el estado de V7, a ver si lo instalo y me lo estudio un poco con vuestro permiso, el día debería tener 40 horas, por lo menos, las veces que he probado vuestra nube, he encontrado que el sistema es demasiado pesado, mi ADSL es de 10/300, ¿crees que esto mejorará con las siguientes versiones?, o ¿ en esto se ha llegado al tope ?, luego, veo que el doble click en una linea de rejilla, no abre el registro para modificar sino que solo lo marca, ¿no crees que esto despista, y mucho, al usuario?, en fin intentaré probarlo mas y comentarte cosas, felicitaciones por el trabajo hecho, y por ponerlo a la comunidad. Gracias y saludos.

    Miguel.

  4. jorge.hontoria

    Estamos deseando que os incorporéis para opinar y mejorar el núcleo de PaaSOS. Como te puedes imaginar el trabajo realizado es arduo y costoso (dos años ya). Beneficiará a toda la comunidad de desarrolladores v7 (unos aprenderán, otros comercializan soluciones en base a PaaSOS y otros muchos lo usarán como herramienta de trabajo) por lo que creemos razonable que todos aportemos en las mejoras, correcciones y nuevos módulos de PaaSOS. Cada día requeriremos de más manos y ojos que nos ayuden en nuestro trabajo y en este proceso os necesitamos (somos una micropyme con recursos muy limitados). Esperamos que estos esfuerzos que hemos realizado nos ayuden en el posicionamiento al más alto nivel en el mercado de aplicaciones empresariales realizadas con Velneo v7. Este es nuestro primer objetivo.

    Cierto es que PaaSOS es un poco pesado, la seguridad, interface de usuario personalizable, control de la propiedad, paginadores, etc, añaden un peso que siempre hemos tenido en cuenta. Creemos que estamos muy cerca del equilibrio, pero nos faltan algunas pequeñas mejoras que incrementen la velocidad de cara al usuario. Las mejoras de velocidad fundamentalmente dependerán de la posibilidad de tener tablas en memoria de cliente. Las tablas en memoria de servidor obligan a realizar múltiples peticiones de red. Si v7 en próximas revisiones añade esta funcionalidad veremos cuanto mejora en rendimiento, sea como sea, se puede mejorar de otras muchas otras formas (incluso verás algunas de ellas aplicadas en ciertos módulos). Creemos que ahora lo importante es centrarse en establecer un conjunto de características comunes en todas las aplicaciones empresariales. Es importante que lo mires desde este punto de vista, todas las aplicaciones empresariales de calado tienen que tener unos mínimos (seguridad, auditoría, autoría…) y creemos que PaaSOS intenta definirlos y sentar unas bases realmente empresariales.

    Recuerda que PaaSOS es abierto (EUPL 1.1), modular y estructurado en base a funciones. Si por ejemplo, el sistema de seguridad te resulta demasiado pesado lo puedes deshabilitar sobrescribiendo las funciones de la capa de seguridad, o mejorar añadiendo/quitando funcionalidad. Es una cuestión de adaptarlo a tú necesidad.

    Respecto a lo del ítem doble clic creo que despista inicialmente, pero se consigue una funcionalidad fundamental, se consigue acercar un sistema de marcajes (común en todo PaaSOS) que manejas con el clic del ratón o con el dedo (PaaSOS también es para tablets y mobile no podemos perderlo de vista). Te voy a poner un ejemplo de nuestra visión (mía personal) de las bondades del sistema, piensa que PaaSOS está diseñado para que la información fluya muy deprisa, estás dando de alta una contacto, terminas y de repente otro usuario añade una nota, otro un par de ficheros, otro unos planos, otro comenta y cuando te quieres dar cuenta toda la información crece exponencialmente y además está conectada… Si hay mucha información, necesitamos marcarla para destacarla o diferenciarla del resto. Esta es mi visión, pero cambiarla no es ningún problema. Estamos abiertos a escuchar vuestras opiniones y mejorar PaaSOS para que se acerque a vuestras necesidades. Si deseas cambiarlo solo tienes que cambiar la captura del evento, ya que en la rejilla o slot ya tenemos un evento de edición.

    Por último, recuerda EUPL 1.1 -> “Mejora y comparte”

  5. Mgalvezh

    Gracias por tu respuesta, por supuesto que hay puntos de vista diferentes, se trata de que prevalezca el mas acertado de cara a la funcionalidad de nuestras aplicaciones, yo siempre en estos casos, escucho a mis usuarios, ellos son los que al final deciden, eso en lo que se refiere al tema del doble click, en el resto estoy totalmentew con vosotros, veremos como evolucionamos todos juntos. Espero poder aportar algo de mi parte.

    Saludos.
    Miguel.

Deja un comentario

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