Blog

¿Qué es la herencia inversa?

Juan Muñoz-Cobos, arquitecto de Velneo V7, explica en el siguiente vídeo el concepto de herencia inversa.

22 thoughts on “¿Qué es la herencia inversa?

  1. Hola Overall,

     

    Juan comenta en el vídeo que los puntos de inserción se aplican en objetos visuales en los proyectos de aplicación. Pone como ejemplo el separador de pestañas. Indica además de que en función del proyecto desde el que muestras el formulario saldrán más o menos pestañas insertadas en el punto.

     

    A nivel de datos debes tener en cuenta que la propuesta que haces es que dinámicamente cambie la estructura de la tabla en función del proyecto al que accedes lo que supondría tener que regenerar tablas cada vez que utilices una u otra instancia, lo que supondría el mismo efecto que hoy vemos en Velneo 6.X si arrancas 2 mapas en la misma carpeta con diferente estructura para la misma tabla. Es decir, supondría multitud de problemas e incluso la pérdida de datos.

     

    En definitiva, lo que se comenta es viable a nivel de objetos de aplicación y en puntos concretos, no debes extrapolarlo a los datos cuya estructura debe mantenerse estable una vez creada la instancia, independientemente del proyecto de aplicación con el que arranques.

     

    Saludos.

  2. Hola amigos,
     
    Por este tipo de cosas es que V7 tiene el futuro que tiene, que altisimo nivel de abstracción por parte del equipo de desarrollo.
     
    Tal vez por post como este es que V7 ha tenido los pequeños tropiezos que a tenido con la comunidad, no sería de extrañar que dentro de poco alguien necesitara de esto porque tiene que realizar un desarrollo x o que a V7 se le considere «incompleta» porque este componente no está.
     
    A la fecha, en estos videos ya se han mensionado 3 novedades (Esquemas de ejecución, multipanel y la herencia inversa) lo que desde ya genera expectativas en más de uno, y creo que todos sabemos que a hoy generar más expectación no sería lo más sano, al fin de cuentas en buena parte es por ello que se tuvieron que realizar estas Faqs (expectativas insatisfechas).
     
    Me parece más adecuada la forma en que sacaron el VWebClient, fue una novedad que nadie vio venir, de la que nadie sabia y a la que todos dejo con la boca abierta (a que les gusto la cantidad de elogios a este componente por parte de la comunidad), a mi manera de ver esa debería de ser la forma para sorprender, generar más confianza y evitarse los inconvenientes de la expectación.
     
    Es solo un punto de vista, pero considero que debe revisarse la politica de comunicación.
     
    Vsaludos,

  3. Hola Cristian,

     

    Gracias por tu comentario.

     

    Respecto a las novedades multipanel y esquemas en ejecución serán novedades que nunca se han visto en Velneo 6.X por lo que cuando aparezcan, entiendo que serán una sorpresa agradable. Ninguno de ellos es prioritario, sin embargo, ya se han realizados avanzadas en desarrollo que permiten comentarlos sin fijar en ningún momento la fecha de salida. Estamos de acuerdo que no hay que generar falsas expectativas, sin embargo, informar de futuros objetos o funcionalidades que ya están en diferentes fases de desarrollo puede que muchos lo agradezcan. Aún así, estoy de acuerdo contigo en que la sorpresa siempre es mayor si no se sabe nada de ellos.

     

    Mi opinión respecto a la herencia inversa es que creo que es una información importante a transmitir aunque todavía no esté en la versión 7.1.1 ya que afecta en la forma de organizar los proyectos y la distribución de los objetos en los mismos. Si no conoces lo que permitirá la herencia inversa puedes llegar a conclusiones como, tener que poner todos los objetos en un único proyecto de aplicación o tratar de hacer herencia recursiva en tus proyectos como ya ha ocurrido a algún programador. Considero que esta información es básica para todos los programadores de Velneo V7 y su resolución por parte del arquitecto ha sido brillante.

     

    Saludos.

  4. La forma de resolver esta necesidad (de compartir ciertos objetos entre aplicaciones), ha sido brillante, pues no hay nada mejor que hacer las cosas sencillas y a la vez potentes.
    y, cristian, si considero que esto es muy importante que lo informen, como han hecho, en cuanto tenga enfocada la solución, pues los que estamos desarrollando con v7, necesitamos saber como vamos a resolver cosas tan comunes como el ejemplo que pone Juan.
    Aunque efectivamente, como dices, otras cosas pueden abrir frentes innecesariamente (aunque a mi particularmente cuanta mas información de lo que vendrá mejor) . En ese aspecto, creo que el mayor problema es que están abiertos a demasiada gente, demasiadas opiniones, no siempre de peso. 

  5. Buenos días.
    La herencia inversa es una gran novedad pero, para gente que ya estamos programando , nos presenta una gran duda.
    Como dice Arboleya nosotros hemos tenido que unir en una caja varias cosas que queríamos tener en cajas separadas ante la imposibilidad de acceder por separado a ellas ( Caja de Artículos, Proveedores, Compras).
    Esto me lleva a replantearme si esperar a la herencia inversa para plantear la aplicación como debiera o seguir programando y reestructurarla a posteriori, o dejarla tal como está. Es una cuestión importante a tener en cuenta. 
    Un saludo.
     
     
    Jorge Velasco
    SISTEMA BINARIO

  6. Manuel: Tienes razón, y la esencia de la democracia y de internet es esa. Lo que quiero decir es que algunos temas, sobre todo en los inicios de la herramienta, pienso se deberían debatir con usuarios avanzados (aunque los lean todo el mundo), que tengan amplia experiencia en v6.
    Jorge: Esa cuestión ya te la habrás planteado con otros aspectos, y es el gran debate interno, hasta donde debemos avanzar en un ERP con v7, puesto que inevitablemente muchas cosas en la siguiente versión se podrán hacer mucho más lógicamente. Y tu, como yo, que conocemos bien la v6, lo sabemos.
     

  7. Hola,
     
    Exactamente a este tipo de dilemas me refería, hasta ayer Jorge se planteaba hacer las cosas de cierta forma con lo que tiene a la mano y es REAL, hoy de una forma indirecta se dan a conocer informalmente aspectos que la atañen directamente (No hay cambios en el RoadMap) y por supuesto comienzan los dilemas de si hacerlo o no de cierta forma; ahora, Nacho tiene toda la razón al decir que para algunos que es bueno conocer estas cosas para plantear la estratégia de desarrollo y no trabajar doble, pero el problema una vez más es que se comienzan a generar expectativas: cuando sale ?, que realmente salga cuando se dijo que salía, que salga como algunos llaman «Completa» y con muy pero muy pocos Bugs.
     
    Como digo el problema es de comunicación, Nacho tiene toda la razón al decir que la intención es debatir ciertos temás con los miembros más avanzados de la comunidad (No me incluyo), pero entonces esta no es la forma, pues de algunos componentes solo se sabe que saldrán eventualmente y no se conocen examente las características planteadas para realmente retroalimentar el desarrollo.(Alguien sabe que va tener el VModApache exactamente como para opinar ?, no, solo se sabe que existirá).
     
    Para finalizar, amigos cuanto trabajo no hemos visto como desperdiciado, malgastado o ineficiente porque meses o años despues de terminarlo nos dimos cuenta de alguna noticia lo invalida, o salio x software que lo hace más fácil, o ya hay un servicio web para eso, o Velneo saco un VPlugin que lo facilita,etc. Son cosas de la vida, alguna experiencia se tiene adquirir desgastandose o botando dinero que mas se va a hacer.
     
    Hey muchachos, me considero fanático de la empresa, de la herramienta y su comunidad, pero si va a haber información de lo que va a salir que sea completa para que los que saben realmente opinen con fundamento, de paso se evita que las mejores ideas vayan a dar a la «Caja de Ideas» pero cuando ya se entregó el componente X.
     
    Vsaludos

  8. Hola a todos,

    Reitero que poniéndome en la piel de un programador de Velneo V7, la información sobre la herencia inversa me parece muy interesante disponer de ella.

    ¿Qué surgen dudas? Es lógico.

    Precisamente estos post en el blog son para eso, para debatir sobre estos temas y aclarar estas dudas. Por ese motivo Cristian, en este caso en concreto estoy de acuerdo con Nacho y Jorge, aunque comprendo tu comentario y el tono positivo en el que lo haces.

    Estoy preparando una presentación sobre «programar es sencillo» donde explico los conceptos a tener en cuenta para alguien que está comenzando a desarrollar con Velneo V7, basado en las conversaciones con Juan que tanta luz nos aporta.

    Para que la duda no quede en el aire, os adelanto mi opinión sobre lo que haría: Creo que lo mejor en estos momentos donde todavía no dispones de los puntos de inserción para resolver la herencia inversa es hacerlo lo más sencillo posible, es decir, un proyecto de datos y un proyecto de aplicación (o 2 proyectos de aplicación si tienes muchas imágenes). A partir de este punto de partida podrás crecer en el futuro a estructuras más complejas y, cuando dispongas de la herencia inversa, dividir tus proyectos y aplicar los puntos de inserción. Ahora ya es posible mover objetos entre proyectos aunque todavía esa funcionalidad podrá ser mejorada para mover un conjunto y no tener que hacerlo de uno en uno.

    Si alguno ya está desarrollando y lo tiene dividido en varios proyectos, no pasa nada, simplemente no podrá poner todas las pestañas de históricos en los formularios de maestro, dejando esa tarea para cuando aparezca la herencia inversa.

    Reitero, que este es un tema interesante e importante y este canal es bueno para debatirlos. Como os dije estoy preparando una presentación sobre cómo plantear los primeros desarrollos con Velneo V7 y, creo si estáis de acuerdo podemos esperar a su publicación para debatir más a fondo, dejando nuestros comentarios en este artículo para la herencia inversa específicamente.

    Saludos.

  9. Ok Jesus. Sugerencia para la presentación, creo que sería bueno dos niveles o dos presentaciones:
    1.- Para los que llevamos muchas aplicaciones en v6, donde debatamos lo que antes haciamos de una forma ahora se hará de esta otra… en la versión 7.x ( +/-.1 , es decir aproximademente).
    2.- Como desarrollar desde 0 con v7.
    Saludos.

  10. Hablando de herencia inversa, tampoco podemos montar en una tabla de una solución heredada un enlace ‘singular de plural’ o un campo ‘fórmula de histórico’ de una tabla de la solución heredera. hasta que se implemente la herencia inversa ¿No es así o sólo valdrá para los puntos de inserción y las rejillas de histórico?

  11. Hola, Juan:

    Lo que indicas quizás pueda ser posible en próximas versiones. No obstante, aclarar que dicha funcionalidad no es directamente relacionado con a la herencia inversa.

    Un saludo.

  12. Herencia inversa terminada, saldrá en la v7.2.

    Se pueden insertar formularios en los separadores, toolbox, pilas de subformularios.

    Se pueden insertar acciones en menus y toolbars.

    saludos

Dejar un comentario