Hola,
Así es, si solo heredas a vBase, por ejemplo, en la pestaña de herencia de la solución de ejemplo vas a ver a la izquierda (proyectos heredados) solo a vBase, y a la derecha (proyectos heredables) todos los demás (datos de Entidades, Usuarios y localizaciones) y aplicación de Usuarios y vDiseño.
Aquí al decir “manualmente” me refiero a que pases en esa pestaña de heredables a heredados los proyectos de datos o aplicación sobre los que quieras controlar si serán compartidos o no.
Te comento mi caso, a mi me interesa que todos los usuarios de una aplicación compartan la parte de localizaciones (datos), entonces a mi proyecto principal aparte de heredarle vBase en el bloque izquierdo, tambien le heredo el proyecto de datos de “localizaciones”, de esta manera puedo crear “N” instancias de aplicación para cada cliente, sin embargo todos sin excepción comparten el proyecto de “localizaciones”.
¿Razón para hacer esto? ahorro de espacio, mi proyecto de datos de localizaciones “pesa” cerca de 150 MB, y de momento lo tengo montado en un vServer Express, si por cada cliente que tengo le generara su propio proyecto de datos de localizaciones pues al segundo ya me comí y pasé el tamaño máximo del vServer Express, así en cambio todos comparten ese módulo y ahorro espacio, amén que yo me encargo de administrar las localidades para todos (casi medio millón de registros para México).
¿Cual es la forma más eficiente de trabajar con la herencia?, no creo que haya una respuesta puntual, depende de tus necesidades y requerimientos, así de botepronto por lo que comentas yo crearía una solución que heredara uno por uno tus proyectos “personalizados” de aplicación y los que pudieran resultar comunes a todos los usuarios (datos en catálogos, etc), así al momento de instanciar mi solución principal le indicaría al asistente que voy a utilizar mis proyectos de aplicación ya existentes (vamos, algo así como tu “almacen” de proyectos) y de datos ya existentes tambien, y solo generaría instancias de los proyectos de datos “propios” de cada cliente.
De esta manera al momento de visualizar las instancias en el vAdmin no te genera tantas ramas del árbol y resulta un tanto cuanto más sencillo administrarlo.
Ahora, aquí hay que probar, no sé si al compartir una instancia de aplicación y que en un momento determinado un usuario pudiera ocasionar que “rompiera” la misma eso afectaría a todos los demás usuarios que la están utilizando, me imagino que si, en ese caso y bajo ese supuesto sería mejor generar instancias de aplicación “propias” para cada cliente, así, si uno ocasiona que “rompa” su aplicación a los otros no les afectaría.
Otro punto a considerar es que cada instancia generada consume recursos de memoria, etc. Pero no te asustes, jejejeje, haz tus pruebas y evalua, solo entonces podrás decidir de qué manera te conviene más instanciar cada solución, pero sobre todo, conocerás más a fondo como se comporta el vServer ante las variopintas situaciones que se pueden dar, como dicen por ahí, para gustos colores, y vaya que opciones hay montones, decidir cual me conviene es lo difícil.
Saludos.
Martin Ibarra.