
Planteando el problema
Si en nuestro servidor de edición tenemos declaradas muchas cajas, ¿podré organizar las múltiples cajas que usaré en mis desarrollos?, ¿podré tener en mi servidor de edición varias versiones de la misma caja?, la respuesta es sí, ¿cómo?, usando las soluciones.
Por ejemplo, puedo organizar mis plantillas teniendo una solución para cada una de ellas, de esta forma tendré las siguientes soluciones (vBase, vGestion, vConta, vWeb, etc.), en realidad una solución no es más que una ubicación física en nuestro dispositivo de almacenamiento, o lo que es lo mismo una carpeta o directorio.
El servidor de edición permitirá declarar tantas cajas como sean necesarias, indicando siempre su ubicación física o “solución”, de tal forma que conocerá la ubicación de todas las cajas que tiene declaradas.
Etiquetas: caja aplicaciones, caja datos, solución, soluciones




Por CSA17256 #
El segundo párrafo de “Sitios compartidos” parece ambiguo, No parece quedar claro si, con el editor, se podrá editar un proyecto con varias cajas, cuando éstas estén en varios sitios.
Por ACU2496 #
Me voy a permitir reutilizar el comentario que hice sobre las cajas:
Subyace la filosofía de Velázquez. Si la plataforma original, abstraía a los programadores de los problemas típicos de un lenguaje de programación para centrarse en el diseño de aplicaciones de gestión, con la V7 se avanza un poco (o mucho). Se abstrae toda la bonita y retórica filosofía de programación orientada a objetos para centrarse en diseñar aplicaciones de gestión usando el concepto mas cercano de cajas y sitios.
Por CIB21863 #
Creo que está un poco lioso, si lo he entendido bien: trabajamos con las cajas de una carpeta y con las de otras carpetas que esten comprtidas.
Por jarboleya #
Csa17256 y Cib21863, si no os importa os responderé a los dos a la vez, pues vuestra duda es similar.
Lo primero deciros que en ambos casos vuestros comentario o duda es correcta, así que tomo nota sobre la falta de claridad del artículo pese a que vuestra idea final sea acertada.
En breve podremos mostraros imágenes, en la zona de captura de pantalla, en la que podréis apreciar la forma de crear los sitios, las cajas y como se visualiza la herencia (conocimiento) entre las cajas. Ya se sabe que una imagen vale más que mil palabras. Mientras tanto voy a tratar de aclarar estas dudas.
Partimos de tres afirmaciones:
- Una caja siempre estará ubicada en un sitio.
- Una caja solo puede conocer (heredar) cajas de “su sitio” o de otro sitio “compartido”.
- vDevelop solo permite editar una caja a la vez.
Csa17256, tú duda sera “No parece quedar claro si, con el editor, se podrá editar un proyecto con varias cajas, cuando éstas estén en varios sitios.”.
La respuesta es, sí, podrás editar cajas de otros sitios siempre que estas estén en heredadas por la caja en edición, por eso podemos afirmar que solo podrás editar cajas del sitio cargado y de los sitios compartidos cuyas cajas podrán estar heredadas.
Cib21863, tú duda era “trabajamos con las cajas de una carpeta y con las de otras carpetas que esten comprtidas.”
La respuesta nuevamente es sí, la explicación es la misma del párrafo anterior.
Este es un tema importante, que debe quedar claro pues es el primer paso que daremos en la creación de un proyecto. Por favor, si no está claro, seguid preguntando.
Por LUI19615 #
El concepto esta claro, sobre todo una vez explicado, pero quizas cuando se vea se entienda del todo. Se consigue con esta tecnologia un recogimiento de la zona de trabajo bastante interesante.
Por TIM21812 #
No se si conoceis la estética de Dreamweaver. Pero serviria para hacernos (o por lo menos hacerme) una idea del concepto de los SITIOS. Ya que en dicho software es como se plantea.
Las comparaciones son odiosas, lo se, pero es para comprender el concepto de SITIO.
Por victor #
No esta muy claro el tema de los sitios, me quede con la idea de que sirven para organizar las cajas y punto. Pero sería fundamental alguna imagen de como trabaja el vDeveloper para hacerse una idea del alcanze de los sitios.
Por jarboleya #
Tim21812 y Victor, un poco de paciencia, que en breve tendremos esas imágenes aclaratorias.
El concepto de sitio es mucho más sencillo que el de cajas:
Intentaré aclararlo con respuestas cortas.
¿Las cajas donde se guardan?
En el disco duro.
¿Dónde?
En sitios o lo que es lo mismo en carpetas del disco. 1 Sitio = 1 Carpeta.
¿Cuántos tipos de carpetas existen?
Existen 2 tipos las compartidas y las no compartidas.
¿Cuál es la diferencia entre que un sitio sea o no compartido?
Las cajas que estén en un sitio compartido son heredables por cualquier otra caja.
Entonces lo tengo fácil, ¿pongo todos los sitios como heredables?
No, sólo los que tengan cajas a heredar ya que si todos los sitios son heredables, cuando tengas muchos proyectos en el servidor de edición cada vez que quieras heredar una caja tendrás que buscarla entre una lista enorme de cajas. Recuerda, nunca es bueno abusar, organiza bien tus sitios y ten compartidos los estrictamente necesarios, ni uno más.
Espero que haya quedado más claro, en caso contrario, ¡preguntad!
Por victor #
Perfecto Arboleya, esas espuestas que nos has dado, ponlas en el documento y todo estará mas claro. A falta de imagenes buenas son esas respuestas.
Por EUR21539 #
Ha quedado claro, gracias a los comentarios.
La siguiente pregunta será: si el vDeveloper permite editar una caja a la vez,… ¿qué es una aplicación? Por lo que parece, en cualquier caja de objetos podría poner el equivalente a un “menú autoexec”, y funcionaría sólo con los objetos que tenga y con los que herede. Y podría tener cajas de objetos “no ejecutables”, simplemente con objetos que reutilizo en otras cajas.
Por FER21946 #
Entendido, y con las respuestas a Tim21812 y Victor, mucho mas.
Otra forma de entender los sitios compartidos, creo que, sería lo que ahora es el almacén de objetos y las carpetas que están debajo.
Es decir, todas las carpetas que ahora están debajo de la carpeta “almacén de objetos” equivalen a los sitios compartidos, y todos los mapas que existen en cada carpeta equivale a una caja heredable. ¿No es así?.
Con la gran diferencia, que no se copian los objetos en el mapa de trabajo, sino que solo se hace una referencia “herencia” a los mismos.
Los sitios no compartidos serían las carpetas de nuestras aplicaciones.
Ahora tenemos que replantearnos como organizar cada aplicación.
Por jarboleya #
Re: Eur21539, interesantes preguntas, seguimos adelantándonos, pero la curiosidad es sana, así que responderé a las preguntas pero sin enrollarme demasiado. Aunque estás preguntas son de cajas y no de sitios por lo que deberíamos mover estos comentarios, aunque de momento los dejamos aquí.
si el vDeveloper permite editar una caja a la vez,… ¿qué es una aplicación?
Una aplicación es una caja de datos y una caja de objetos (versión monolítica actual) o lo más normal a partir de ahora un conjunto de cajas de datos y objetos relacionadas entre sí mediante la herencia.
Por lo que parece, en cualquier caja de objetos podría poner el equivalente a un “menú autoexec”, y funcionaría sólo con los objetos que tenga y con los que herede.
Exacto, podrás tener tantas cajas de objetos como quieras, cada una con un menú autoexec diferente, lo que te facilita tener múltiples puntos de entrada a la aplicación y la personalización de cualquier objetos para un usuario o grupos de usuarios.
Y podría tener cajas de objetos “no ejecutables”, simplemente con objetos que reutilizo en otras caja.
Por supuesto, esto ya lo comentó Fer21946 en su comentario del artículo sobre cajas. Los típicos objetos de imágenes, toolbars, etc. que forman los recursos de las aplicaciones son el primer candidato para estar en una caja de un sitio compartido. Así cuando mañana cambies el objeto lo estarás haciendo en todas las cajas que hereden esta caja.
Por jarboleya #
Re: Fer21946, la analogía con el almacén de objetos es correcta con la aclaración final de que los objetos no se copian en la caja destino, pero además aclararía que cada sitio puede estar físicamente en cualquier disco, disco de red o dispositivo externo, sin que como el almacén sea preciso crear subcarpetas.
Los sitios no compartidos serían las carpetas de nuestras aplicaciones.
Probablemente sí, lo más normal es que tengas una carpeta por aplicación, como ahora ya se hace.
Ahora tenemos que replantearnos como organizar cada aplicación.
Pues va a ser que sí, pero con alegría que las posibilidades son enormes y la reutilización de código una gozada
Por CAR13924 #
Bueno, una vez pillado el concepto de caja, a mi este del sitio me parece más sencillo..
Entiendo que esta es la filosofía del divide y vencerás, esto es, muchas cajas sencillas en sitios compartidos facilitarán el mantenimiento de toda una gran aplicación. Si no es así es que no lo he entendido.
Por AGU3991 #
Repito un poco pero veo que la concepción de los proyectos cambia de forma radical.
Me equivo mucho o esta concepción por cajas y sitios no es la semilla que plantó en su dia la compartición de tablas?. Si es así me doy cuenta de que esto es mucho más potente. Tendremos que andar finos con las cajas para evitar repetir cosas y que las aplicaciones pesen de más.
Por CESARFI #
Por jarboleya #
Car13924, sí lo has entendido bien.
Agu3991, aunque la compartición de tablas se pueda parecer a un sitio compartido, el concepto de sitios-cajas-herencia va como bien dices mucho más lejos, creo que no hay comparación.
Por EFE21852 #
Bueno, bueno, bueno… me gusta. A partir de ahora las aplicaciones son una vuelta de tuerca más en la abstracción velazquiana:
Base de datos = Campos + índices + actualizaciones + procesos + variables + relaciones entre tablas.
Aplicación = Sitios + Databoxes + Objectboxex + relaciones entre objetos.
Esto se empieza a parecer a la teoría de supercuerdas… está claro que tendemos que cambiar la forma de pensar al enfrentarnos a los proyectos. Habrá que desterrar ideas que el propio Velázquez nos había impuesto… no importa, es para mejor.
Tendremos que hilar muy fino en el análisis, organización, reutilización y herencia de sitios, cajas y objetos. Tendremos que hacer una formación escrupulosamente clara, para que los usuarios de v7 aprovechemos todo su potencial.
Cuando usábamos Zeus, aunque el programa no estuviese muy fino, iba bien.
Al pasar a C/S la cosa cambia, ya hay que hacerlo un poco mejor para que vaya fino.
Con la v7 hay que dar otro paso más: Quién no conozca bien las bases, puede tener problemas.
Ya podremos desarrollar aplicaciones en las que tengamos un sitio, con las tablas maestras comunes a varios módulos, sin necesidad de mantener una copia de los formularios en cada módulo.
Me estoy adelantando (quizás demasiado) pero, ¿podremos condicionar, p. ej, los controles de un form en un sitio compartido para ver unos u otros en función del sitio desde dónde se usen?
Por RAMIRO #
Por SEC21999 #
No queda muy claro, aunque yo creo que lo entendi.
Esto de los sitios junto con las cajas, define el entorno. Tendremos cajas que reutilizaremos y estaran en sitios compartidos. Otras no seran llamadas por nuevas cajas, por ejemplo si hacemos una personalización especial para una empresa, la caja final dificilmente sera reutilizable para otra empresa.
Por jarboleya #
Sec21999,
“si hacemos una personalización especial para una empresa, la caja final dificilmente sera reutilizable para otra empresa.”
¿Difícilmente?, depende, puede ocurrir que como dices no sea reutilizable o que incluso la heredes para aprovechar esas personalizaciones y partiendo de ella hagas otra personalización ampliada, o si encuentras la empresa adecuada esa personalización puede servirte sin ninguna modificación.
Creo que una de las grandes virtudes de la herencia a nivel de aplicación es que vamos a reaprovechar código como nunca se ha hecho.
Por JOS1768 #
Por DIN16843 #