Cada vez me cuesta más, a nivel web con Velneo, hacer referencia a las imágenes que se muestran por su senda.
En web tienes la posibilidad de guardar las imágenes en una carpeta específica y, a la hora de, por ejemplo, mostrar un catálogo de productos, para cada imagen de producto leer la ruta (senda que has guardado en un campo de la ficha del producto) y mostrar esa imagen.
También tienes la otra posibilidad, que es guardar la imagen en un campo tipo objeto de la ficha del propio producto, y para mostrar la imagen en web hacer referencia al objeto guardado en el campo.
Cada posibilidad tiene sus pros y sus contras. Veamos cuales son.
Guardando las imagenes en una carpeta y referenciandolas sólo por su senda en la ficha del producto tienes la ventaja de que el contenedor de objetos de la tabla no engorda, pero puede pasar que la imagen se mueva de sitio o cambie de nombre o símplemente desaparezca, y es que aunque parezca lo contrario, las imagenes como cualquier otro tipo de archivo, tienen vida propia y a veces toman sus propias decisiones. Así puedes llegar a encontrarte con un verdadero desaguisado en la web.
Si guardas las imagenes en un campo tipo objeto en la tabla, el contenedor engorda, pero es más difícil, que la imagen desaparezca, y si desaparece, el historial del servidor me dirá cómo ha sido.
El problema del contenedor gordo no me preocupa, ya que compañeros de Velneo conviven con contenedores de 5GB que siguen engordando, y siguen yendo como todo en Velneo, como un tiro y estables.
Me preocupa más un "pinchar-arrastrar-uy-yonohesido" del usuario. Con el historial del servidor, eso me preocupa menos todavía.
Ahora viene la gran ventaja del campo objeto frente a la senda: fruto de experimentación práctica con ambos casos sobre la misma base de datos, puedo asegurar y aseguro que, un listado grande de productos con su imagen correspondiente en la web tarda menos leyendo el objeto desde el campo que desde la senda.
Quizás tenga algo que ver la indexación que realiza Velneo sobre la tabla, o no, pero esa es mi experiencia, y ahí queda por si os puede resultar de utilidad.
Be "soft" my friend!
viernes, 24 de noviembre de 2006
jueves, 16 de noviembre de 2006
Vídeos Velneo
miércoles, 8 de noviembre de 2006
Velneo existe!!!
Un amigo mío siempre dice: "Has estado allí? Lo has visto con tus propios ojos? No? Pues entonces no existe!!!"
Tanto es así que creía que Soria no existía hasta que le enseñé las fotos que hice yo mismo cuando estuve allí de vacaciones. Ah! Y entonces sólo se le ocurrió decirme: "Tío, eres raro de verdad! Programas en Velneo... y te vas de vacaciones a Soria!!!"
Bien, pues en mi empresa pasaba algo parecido con Velneo, trabajamos con la herramienta y nos va muy bién, pero eran realmente excépticos y no se acababan de creer que Velneo existiera y tuviese ese edificio (vCenter) en Porriño-Vigo, así que me dijeron: "Haz fotos, Domingo"
El tema de la visita Velneo surgió de una iniciativa del propio Velneo; llevar a su sede a varios desarrolladores Velneo con un claro perfil: jóvenes, guapos, dinámicos, con blog...
Bueno, fuera de coñas, buscaban desarrolladores Velneo con experiencia previa en otros entornos de desarrollo para hacer una serie de vídeos promocionales de la herramienta, comparándola con nuestras experiencias previas.
Así que recibí la llamada de Velneo invitándome a tal efecto y acepté rápidamente.
Nicolás Osuna, encargado del área de márketing de Velneo se puso en contacto con nosotros para concretar fecha, vuelo y horarios.
Yo fuí desde Valencia junto con Enrique Barbeito que venía de Alicante en coche (debió salir de allí de madrugada!!!).
Quedamos en el aeropuerto de Valencia a las 06:30h, en la terminal de salidas. No lo conocía personalmente, había visto fotos suyas en su blog, del que soy asíduo lector desde hace tiempo, y al llegar me pareció verlo entre la multitud, pero me dije: "No puede ser. Es demasiado joven", y continué buscando.
Tras no encontrar a otro candidato a ser ebarbeito decidí enviarle un mensaje al móvil y... efectívamente era él, estaba cogiendo el móvil para leer mi mensaje. Para mis adentros pensé: "Qué joven!! Cuando lees su blog y sus posts en el foro de Velneo, nunca pensarías que una persona tan joven tuviese la cabeza tan bién puesta sobre los hombros"
Tomamos un café corto y un café americano respectívamente mientras empezábamos un trasiego interminable de ideas y experiencias sobre la vida y sobre Velneo, haciendo tiempo para embarcar en el vuelo que nos llevaría a Vigo.
Ya se lo comenté a Enrique: "Verás qué vuelo más guay!", y así fué. Un reactor pequeñito, casi privado, con asientos de cuero y amables azafatas que nos obsequiaron con un suculento desayuno a base de zumo de naranja, donuts, prensa diaria y café con leche.
Leí un poco de "Sueñan los androides con ovejas mecánicas?" durante el vuelo y dejé descansar un rato a Enrique mientras amanecía y llegábamos a Vigo.
Vigo nos acogió con su cara más amable; Nico esperándonos en el aeropuerto, no llovía, temperatura muy agradable y un hermoso arcoiris sobre la ría. Ideal.
Rápidamente nos fuimos a un bar donde nos reunimos con Hugo, Hector, Juan, el hermano de Fran Abad (que se parece mogollón a él y hace camisetas personalizadas y diseña) y el resto del staf para el vídeo.
Entre más zumo, café con leche y unos deliciosos croasanes, mantuvimos una animada brainstorming sobre unos cortos animados de Velneo. Se barajaron ideas interesantes y divertidas como el "Be soft my friend", o el Coyote que machacaba al Correcaminos porque había cambiado de marca ACME a Velneo, y la inevitable referencia a los hechos bíblicos e históricos. Nico tomó notas en su libreta de gusanillo y tras desbarrar un rato más, nos dirigimos al estudio de grabación donde nos maquillaron, nos sentamos en el set y soltamos todo lo que se nos fué pasando por la cabeza sobre Velneo y nuestra experiencia.
Comenzó Enrique (VB vs Velneo) que estuvo como una hora hablando sin parar y mirando al infinito, seguí yo mismo, contando las experiencias más chorras y rayantes que se me ocurrieron (web y Velneo, y juegos con Velneo), para luego intervenir Hector (Textiles Saroni o cómo dos desarrolladores Velneo hacen lo que un equipo de ingenieros desarrolladores no pudieron con otras herramientas), que se quedó sin sonido y tuvo que repetirlo todo otra vez, y por fín Hugo nos contó cosas interesantísimas sobre Velneo y su enfoque en el mundo del negocio.
Fué una sesión sincera y no dirigida. Aunque cada uno había preparado unos apuntes tipo "rollete a soltar", al final Nico decidió que quería algo expontáneo y así fué, cada uno dijo lo que le vino en gana y como se le pasó por la cabeza. Lo mejor; las sonrisas cómplices e incluso la carcajada espontánea. Terminamos cada una de las intervenciones con aplausos. Aún recuerdo el agobio de Hector intentando quitarse el maquillaje y me entra la risa...
Ya veremos cómo se las apañan con el montaje de los vídeos, ya que reducir a un minuto lo que contó cada uno, será sin duda obra de gigantes.
Tras esto ya habíamos terminado el trabajo y sólo quedaba disfrutar de la visita a Velneo.
Nos dirijimos raudos y veloces, pero sin sobrepasar el límite de velocidad, al vCenter y por fín lo vimos y lo pudimos tocar, realmente existe!. El comentario generalizado fue: "Qué buenas son las fotos del vCenter que aparecen en la web!", ya que en marmol y cristal (por no decir carne y hueso) no parece tan grande. Antes de entrar en las interioridades del vCenter fuimos a comer a un restaurante que hay al lado. Allí nos juntamos los visitantes y parte de la plantilla de Velneo que trabaja en el vCenter.
Fué un verdadero disfrute por ambas partes; el equipo de Velneo estaba entusiasmado de tener contacto directo con los desarrolladores que usan la herramienta (Nico no paraba de recoger en su cámara de vídeo las perlas que íbamos soltando sobre Velneo, nuestras experiencias, etc), y el grupo de desarrolladores, y especialmente el que os cuenta esto, alucinába con el personal de Velneo. Tíos jóvenes, guapos, dinámicos y con una validez profesional extrema. Verdaderas joyas.
Durante la comida siguió la cada vez más animada charla sobre Velneo, nuestras experiencias, problemas técnicos, otras herramientas de desarrollo e ilusiones de futuro con la V7.
Cómo no, Enrique seguía con su interminable discurso sobre todo tipo de herramientas de desarrollo, lenguajes e interioridades técnicas varias, cuando le soltaron una indirecta acojonante: "Tienes novia?" (te auguro un gran futuro Enrique).
Tras devorar la exquisita carne regada con buén vino de aquellos lares, nos dirigimos al vCenter.
El edificio es de marmol negro y cristal, con un interior moderno y minimalista. Lo vimos todo, todo, todo; la recepción, el sótano (donde alguno se agenció los tomos 1 y 2 de Velneo, pero no el maletín para el portátil), el comedor, el servicio técnico, los servidores, las dos primeras plantas donde hay personal de soporte y desarrollo, y la tercera planta donde se encuentra el equipo de Velneo.
Allí charlé con Ricardo (comunicación externa, es periodista y antes presentaba el telediario edición nocturna en Galicia), Dani (diseñador, que nos mostró en primicia y bajo máximo secreto la futura imágen de diferentes productos V7), Alberto (webmaster, con el que estuve liado comentando las posibilidades de Velneo y la web), Fred (versión inglesa de la herramienta), Mario (Velneo directo, que nos enseñó la última beta funcional de V7, hasta en chino!!!) y Cacho (también de Velneo directo y relación con clientes, que me sorprendió por su tono de voz grave y profundo, y su extensísimo conocimiento del medio), y seguro que me dejo a alguien, pero que me perdone! Ya sabeis... el alzheimer.
Todos y cada uno de ellos me sorprendieron muy grátamente; gente jóven, muy formada, dinámica, emprendedora y con las ideas muy, muy claras. Si ya confiaba en Velneo como herramienta, al conocer a parte de las personas que hay detrás del proyecto, estoy absolútamente convencido de que el futuro es suyo. Si pudiese invertir en Velneo (me refiero a pasta gansa) lo haría sin dudar ya que va a subir como la espuma, y se van a comer el Mundo, porque tienen la mejor herramienta y sobre todo, el mejor equipo humano.
Charlamos sobre nuestras inquietudes acerca de la V7, plazos, adaptación, migración, plantillas, posible comportamiento futuro de usuarios actuales, intentamos absorver lo máximo de V7 con lo poco que pudimos fisgonear, pero sobre todo nos echamos unas buenas risas juntos. Me impresionó el buén ambiente reinante en la empresa.
Terminamos la visita en las puerta del vCenter donde nos hicimos una "foto para la historia" que no salió.
Tras esto fuimos Enrique, Hugo, Nico y yo a tomar unas cañas por Vigo, mientras hacíamos tiempo para coger el avión. Sentados en la terraza Hugo y Nico no paraban de saludar a la gente que pasaba y pensé: "O son muy famosos en Vigo o Vigo es como un pueblo grande y todos se conocen..."
Tras 15 horas de disfrute intensivo nos metimos en el avión de vuelta a Valencia, donde nos volvieron a obsequiar con bocata y cervecita. El vuelo se nos hizo corto y es que fué realmente corto: el piloto pisó el acelerador más de la cuenta y llegamos con adelanto!!!
Me despedí de Enrique, no sin antes indicarle el camino de regreso a Alicante y preocuparme sincéramente por él, ya que aún le quedaban un par de horas hasta llegar a casa, y me fuí a casa con la sensación de haber pasado una jornada única y extraordinaria.
No sé si se repetirá en el futuro, pero si es así, me gustaría volver a participar, y si no es así, seguro que nos vemos en alguna vConference.
Life is soft!!!
Tanto es así que creía que Soria no existía hasta que le enseñé las fotos que hice yo mismo cuando estuve allí de vacaciones. Ah! Y entonces sólo se le ocurrió decirme: "Tío, eres raro de verdad! Programas en Velneo... y te vas de vacaciones a Soria!!!"
Bien, pues en mi empresa pasaba algo parecido con Velneo, trabajamos con la herramienta y nos va muy bién, pero eran realmente excépticos y no se acababan de creer que Velneo existiera y tuviese ese edificio (vCenter) en Porriño-Vigo, así que me dijeron: "Haz fotos, Domingo"
El tema de la visita Velneo surgió de una iniciativa del propio Velneo; llevar a su sede a varios desarrolladores Velneo con un claro perfil: jóvenes, guapos, dinámicos, con blog...
Bueno, fuera de coñas, buscaban desarrolladores Velneo con experiencia previa en otros entornos de desarrollo para hacer una serie de vídeos promocionales de la herramienta, comparándola con nuestras experiencias previas.
Así que recibí la llamada de Velneo invitándome a tal efecto y acepté rápidamente.
Nicolás Osuna, encargado del área de márketing de Velneo se puso en contacto con nosotros para concretar fecha, vuelo y horarios.
Yo fuí desde Valencia junto con Enrique Barbeito que venía de Alicante en coche (debió salir de allí de madrugada!!!).
Quedamos en el aeropuerto de Valencia a las 06:30h, en la terminal de salidas. No lo conocía personalmente, había visto fotos suyas en su blog, del que soy asíduo lector desde hace tiempo, y al llegar me pareció verlo entre la multitud, pero me dije: "No puede ser. Es demasiado joven", y continué buscando.
Tras no encontrar a otro candidato a ser ebarbeito decidí enviarle un mensaje al móvil y... efectívamente era él, estaba cogiendo el móvil para leer mi mensaje. Para mis adentros pensé: "Qué joven!! Cuando lees su blog y sus posts en el foro de Velneo, nunca pensarías que una persona tan joven tuviese la cabeza tan bién puesta sobre los hombros"
Tomamos un café corto y un café americano respectívamente mientras empezábamos un trasiego interminable de ideas y experiencias sobre la vida y sobre Velneo, haciendo tiempo para embarcar en el vuelo que nos llevaría a Vigo.
Ya se lo comenté a Enrique: "Verás qué vuelo más guay!", y así fué. Un reactor pequeñito, casi privado, con asientos de cuero y amables azafatas que nos obsequiaron con un suculento desayuno a base de zumo de naranja, donuts, prensa diaria y café con leche.
Leí un poco de "Sueñan los androides con ovejas mecánicas?" durante el vuelo y dejé descansar un rato a Enrique mientras amanecía y llegábamos a Vigo.
Vigo nos acogió con su cara más amable; Nico esperándonos en el aeropuerto, no llovía, temperatura muy agradable y un hermoso arcoiris sobre la ría. Ideal.
Rápidamente nos fuimos a un bar donde nos reunimos con Hugo, Hector, Juan, el hermano de Fran Abad (que se parece mogollón a él y hace camisetas personalizadas y diseña) y el resto del staf para el vídeo.
Entre más zumo, café con leche y unos deliciosos croasanes, mantuvimos una animada brainstorming sobre unos cortos animados de Velneo. Se barajaron ideas interesantes y divertidas como el "Be soft my friend", o el Coyote que machacaba al Correcaminos porque había cambiado de marca ACME a Velneo, y la inevitable referencia a los hechos bíblicos e históricos. Nico tomó notas en su libreta de gusanillo y tras desbarrar un rato más, nos dirigimos al estudio de grabación donde nos maquillaron, nos sentamos en el set y soltamos todo lo que se nos fué pasando por la cabeza sobre Velneo y nuestra experiencia.
Comenzó Enrique (VB vs Velneo) que estuvo como una hora hablando sin parar y mirando al infinito, seguí yo mismo, contando las experiencias más chorras y rayantes que se me ocurrieron (web y Velneo, y juegos con Velneo), para luego intervenir Hector (Textiles Saroni o cómo dos desarrolladores Velneo hacen lo que un equipo de ingenieros desarrolladores no pudieron con otras herramientas), que se quedó sin sonido y tuvo que repetirlo todo otra vez, y por fín Hugo nos contó cosas interesantísimas sobre Velneo y su enfoque en el mundo del negocio.
Fué una sesión sincera y no dirigida. Aunque cada uno había preparado unos apuntes tipo "rollete a soltar", al final Nico decidió que quería algo expontáneo y así fué, cada uno dijo lo que le vino en gana y como se le pasó por la cabeza. Lo mejor; las sonrisas cómplices e incluso la carcajada espontánea. Terminamos cada una de las intervenciones con aplausos. Aún recuerdo el agobio de Hector intentando quitarse el maquillaje y me entra la risa...
Ya veremos cómo se las apañan con el montaje de los vídeos, ya que reducir a un minuto lo que contó cada uno, será sin duda obra de gigantes.
Tras esto ya habíamos terminado el trabajo y sólo quedaba disfrutar de la visita a Velneo.
Nos dirijimos raudos y veloces, pero sin sobrepasar el límite de velocidad, al vCenter y por fín lo vimos y lo pudimos tocar, realmente existe!. El comentario generalizado fue: "Qué buenas son las fotos del vCenter que aparecen en la web!", ya que en marmol y cristal (por no decir carne y hueso) no parece tan grande. Antes de entrar en las interioridades del vCenter fuimos a comer a un restaurante que hay al lado. Allí nos juntamos los visitantes y parte de la plantilla de Velneo que trabaja en el vCenter.
Fué un verdadero disfrute por ambas partes; el equipo de Velneo estaba entusiasmado de tener contacto directo con los desarrolladores que usan la herramienta (Nico no paraba de recoger en su cámara de vídeo las perlas que íbamos soltando sobre Velneo, nuestras experiencias, etc), y el grupo de desarrolladores, y especialmente el que os cuenta esto, alucinába con el personal de Velneo. Tíos jóvenes, guapos, dinámicos y con una validez profesional extrema. Verdaderas joyas.
Durante la comida siguió la cada vez más animada charla sobre Velneo, nuestras experiencias, problemas técnicos, otras herramientas de desarrollo e ilusiones de futuro con la V7.
Cómo no, Enrique seguía con su interminable discurso sobre todo tipo de herramientas de desarrollo, lenguajes e interioridades técnicas varias, cuando le soltaron una indirecta acojonante: "Tienes novia?" (te auguro un gran futuro Enrique).
Tras devorar la exquisita carne regada con buén vino de aquellos lares, nos dirigimos al vCenter.
El edificio es de marmol negro y cristal, con un interior moderno y minimalista. Lo vimos todo, todo, todo; la recepción, el sótano (donde alguno se agenció los tomos 1 y 2 de Velneo, pero no el maletín para el portátil), el comedor, el servicio técnico, los servidores, las dos primeras plantas donde hay personal de soporte y desarrollo, y la tercera planta donde se encuentra el equipo de Velneo.
Allí charlé con Ricardo (comunicación externa, es periodista y antes presentaba el telediario edición nocturna en Galicia), Dani (diseñador, que nos mostró en primicia y bajo máximo secreto la futura imágen de diferentes productos V7), Alberto (webmaster, con el que estuve liado comentando las posibilidades de Velneo y la web), Fred (versión inglesa de la herramienta), Mario (Velneo directo, que nos enseñó la última beta funcional de V7, hasta en chino!!!) y Cacho (también de Velneo directo y relación con clientes, que me sorprendió por su tono de voz grave y profundo, y su extensísimo conocimiento del medio), y seguro que me dejo a alguien, pero que me perdone! Ya sabeis... el alzheimer.
Todos y cada uno de ellos me sorprendieron muy grátamente; gente jóven, muy formada, dinámica, emprendedora y con las ideas muy, muy claras. Si ya confiaba en Velneo como herramienta, al conocer a parte de las personas que hay detrás del proyecto, estoy absolútamente convencido de que el futuro es suyo. Si pudiese invertir en Velneo (me refiero a pasta gansa) lo haría sin dudar ya que va a subir como la espuma, y se van a comer el Mundo, porque tienen la mejor herramienta y sobre todo, el mejor equipo humano.
Charlamos sobre nuestras inquietudes acerca de la V7, plazos, adaptación, migración, plantillas, posible comportamiento futuro de usuarios actuales, intentamos absorver lo máximo de V7 con lo poco que pudimos fisgonear, pero sobre todo nos echamos unas buenas risas juntos. Me impresionó el buén ambiente reinante en la empresa.
Terminamos la visita en las puerta del vCenter donde nos hicimos una "foto para la historia" que no salió.
Tras esto fuimos Enrique, Hugo, Nico y yo a tomar unas cañas por Vigo, mientras hacíamos tiempo para coger el avión. Sentados en la terraza Hugo y Nico no paraban de saludar a la gente que pasaba y pensé: "O son muy famosos en Vigo o Vigo es como un pueblo grande y todos se conocen..."
Tras 15 horas de disfrute intensivo nos metimos en el avión de vuelta a Valencia, donde nos volvieron a obsequiar con bocata y cervecita. El vuelo se nos hizo corto y es que fué realmente corto: el piloto pisó el acelerador más de la cuenta y llegamos con adelanto!!!
Me despedí de Enrique, no sin antes indicarle el camino de regreso a Alicante y preocuparme sincéramente por él, ya que aún le quedaban un par de horas hasta llegar a casa, y me fuí a casa con la sensación de haber pasado una jornada única y extraordinaria.
No sé si se repetirá en el futuro, pero si es así, me gustaría volver a participar, y si no es así, seguro que nos vemos en alguna vConference.
Life is soft!!!
martes, 7 de noviembre de 2006
Sesiones de usuario en Velneo (i)
Veamos cómo montar una web en Velneo con control de visitas y acceso a zona privada.
Lo primero será la estructura de tablas.
Vamos a necesitar una tabla de USUARIOS donde almacenar los usuarios que tienen permiso para acceder a la zona privada de la web.
La estructura de esta tabla será, por ejemplo:
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo NOMBRE para almacenar el nombre real completo del usuario autorizado
Campo RAZON-SOCIAL para almacenar la empresa del usuario autorizado
Campo USUARIO para almacenar el nombre de usuario autorizado
Campo CONTRASENYA para almacenar la contraseña del usuario autorizado
Montaremos los índices de clave única necesarios para que no se puedan repetir el mismo NOMBRE y RAZON-SOCIAL, ni el mismo USUARIO y CONTRASENYA, o ni el mismo USUARIO, ni la misma CONTRASENYA.
Vamos a necesitar también una tabla NAVEGANTES donde almacenaremos las visitas únicas a la web.
La estructura de esta tabla será, por ejemplo:
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo USUARIO enlazado a la tabla de datos maestra USUARIOS
Campo FECHA de tipo fecha con contenido inicial fHoy(), para almacenar la fecha de inicio de sesión de ese NAVEGANTE
Campo HORA de tipo hora con contenido inicial fAhora(), para almacenar la hora de inicio de sesión de ese NAVEGANTE
Si además queremos controlar el histórico de movimientos a través de la web de los diferentes NAVEGANTES, montaremos una tabla VISITAS que será submaestra de NAVEGANTES.
La estructura de esta tabla será, por ejemplo:
Campo NAVEGANTE enlazado a la tabla de datos maestra NAVEGANTES
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo PAGINA donde almacenaremos la referencia de la página visitada (si utilizamos un sistema parecido al de vWeb, será el código de página)
Campo FECHA de tipo fecha con contenido inicial fHoy(), para almacenar la fecha de la visita a la página en cuestión
Campo HORA de tipo hora con contenido inicial fAhora(), para almacenar la hora de la visita a la página en cuestión
Lo segundo será la estructura html de la web.
Para empezar usaremos un refinamiento que permitirá que nuestra página inicial por defecto en vez de ser una página PAG sea un proceso PRO.
Esto lo conseguiremos haciendo que nuestra página INDEX.PAG defina una estructura de frames como la siguiente:
[html]
[head]
[title]Título de la web (muy importante)[/title]
[meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"]
[meta name="keywords" content="palabras por las que queremos aparecer en los buscadores separadas por espacios"]
[meta name="description" content="Breve descripción de la web. Este es el párrafo resumen que aparece en los buscadores"]
[/head]
[frameset border="0" framespacing="0" frameborder="0" cols="100%,*"]
[frame src="INDEX.PRO" name="web" frameborder="0" framespacing="0" noresize]
[/frameset]
[noframes]
[body bgcolor="#FFFFFF"]
Su navegador no soporta frames. Actualice su versión.
[/body]
[/noframes]
[/html]
Como veis definimos un frameset con dos columnas; la primera del 100% de ancho y la otra del resto, es decir, nada, y como contenido de la primera columna ponemos el INDEX.PRO
Así conseguimos varios efectos colaterales:
1.- Tener una página inicial que es un proceso y no una página. En un proceso podemos hacer lo que queramos, una página es html "tonto".
2.- Escondemos toda la web dentro de un frame. La dirección en la barra del navegador siempre mostrará el título de la página principal y no se verán cosas
raras ni incómodas como la ip de nuestro servidor, la pasarela cgi de Velneo, los nombres de los procesos y las variables globales que manejamos.
3.- Si tenemos nuestro dominio.com contratado en un servidor externo, la redirección será siempre la misma; http://ip_servidor/cgi-vel/alias_aplicacion/ y no deberemos apuntar a una INDEX.PAG o un INDEX.PRO
4.- Por aquí sólo se pasará una vez en cada sesión, al conectar por primera vez con nuestra web, el resto de veces, desde cualquier punto interno de la web, iremos directamente al INDEX.PRO
Ahora, de momento, sólo queda ver cómo es el proceso inicial INDEX.PRO
En este proceso veremos si hay un NAVEGANTE o no. Si lo hay (el usuario procede del interior de la web), lo conservaremos, y si no lo hay (el usuario procede del exterior de la web), lo daremos de alta.
Para ello usaremos una variable global NAV en memoria independiente para cada tarea en segundo plano accesible web de tipo numérico con la misma longitud que el campo CODIGO de la tabla de NAVEGANTES.
El proceso puede ser algo como:
Rem-] Inicializamos la página html
Set-] pagina,""
Rem-] Recibimos el Navegante
Set-] navegante,$NAV$
Rem-] Comprobamos si viene de fuera o de dentro
if-] fCampoVacio('navegante')
Rem-] Viene de fuera
Rem-] y le asignamos un Navegante
Alta directa-] NAVEGANTES
Pre
Libre
Post
Set-] navegante, %CODIGO%
Rem-] Apuntamos la visita
Alta directa-] VISITAS
Pre
Modificar campo-] NAVEGANTE, 'navegante'
Modificar campo-] PAGINA, "Entrada a la web"
Post
Libre
Rem-] Componemos la página, pasando el parámetro 'navegante'
Html: ejecutar componente-] pagina, INDEX, 'navegante'
Rem-] Devolvemos la página
Añadir retorno texto-] 'pagina'
Analicemos el proceso en profundidad.
Lo primero que hacemos es inicializar la variable local 'pagina' que es la que contendrá el resultado de ejecutar el componente html que compondrá la página html. Es conveniente hacer siempre esta inicialización.
Pasamos el contenido de la variable global NAV a la variable local 'navegante' y comprobamos si está vacía con la función fCampoVacío(). Si está vacía quiere decir que esta visita viene de fuera de nuestra web y le asignamos un NAVEGANTE mediante alta directa en la tabla NAVEGANTES. Si no está vacía, quiere decir que esta visita proviene del interior de nuestra web, y conservamos su valor.
Apuntamos la visita a esta página mediante alta directa en la tabla VISITAS, especificando el NAVEGANTE y la página visitada.
Ahora ejecutamos el componente html INDEX que compondrá nuestra web, pasándole el parámetro 'navegante', y devolvemos como resultado la página html.
Con esto hemos conseguido que, a partir de aquí, cualquier visita a nuestra web tenga asignado un NAVEGANTE que arrastraremos por el resto de páginas de la web, pasándolo siempre como parámetro.
En el momento en que un usuario haga login positivo podemos apuntar el USUARIO en la tabla NAVEGANTES y de ahí en adelante ya lo tenemos identificado en cualquier página de la web.
En una próxima entrega, espero que muy pronto, seguiremos con este desarrollo para completar el login, ver la posibilidad de la caducidad de las sesiones de usuario, y hacer un estudio completo del histórico de visitas a nuestra web.
Hasta pronto!!
Lo primero será la estructura de tablas.
Vamos a necesitar una tabla de USUARIOS donde almacenar los usuarios que tienen permiso para acceder a la zona privada de la web.
La estructura de esta tabla será, por ejemplo:
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo NOMBRE para almacenar el nombre real completo del usuario autorizado
Campo RAZON-SOCIAL para almacenar la empresa del usuario autorizado
Campo USUARIO para almacenar el nombre de usuario autorizado
Campo CONTRASENYA para almacenar la contraseña del usuario autorizado
Montaremos los índices de clave única necesarios para que no se puedan repetir el mismo NOMBRE y RAZON-SOCIAL, ni el mismo USUARIO y CONTRASENYA, o ni el mismo USUARIO, ni la misma CONTRASENYA.
Vamos a necesitar también una tabla NAVEGANTES donde almacenaremos las visitas únicas a la web.
La estructura de esta tabla será, por ejemplo:
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo USUARIO enlazado a la tabla de datos maestra USUARIOS
Campo FECHA de tipo fecha con contenido inicial fHoy(), para almacenar la fecha de inicio de sesión de ese NAVEGANTE
Campo HORA de tipo hora con contenido inicial fAhora(), para almacenar la hora de inicio de sesión de ese NAVEGANTE
Si además queremos controlar el histórico de movimientos a través de la web de los diferentes NAVEGANTES, montaremos una tabla VISITAS que será submaestra de NAVEGANTES.
La estructura de esta tabla será, por ejemplo:
Campo NAVEGANTE enlazado a la tabla de datos maestra NAVEGANTES
Campo CODIGO numérico de la longitud necesaria con contenido inicial siguiente al último
Campo PAGINA donde almacenaremos la referencia de la página visitada (si utilizamos un sistema parecido al de vWeb, será el código de página)
Campo FECHA de tipo fecha con contenido inicial fHoy(), para almacenar la fecha de la visita a la página en cuestión
Campo HORA de tipo hora con contenido inicial fAhora(), para almacenar la hora de la visita a la página en cuestión
Lo segundo será la estructura html de la web.
Para empezar usaremos un refinamiento que permitirá que nuestra página inicial por defecto en vez de ser una página PAG sea un proceso PRO.
Esto lo conseguiremos haciendo que nuestra página INDEX.PAG defina una estructura de frames como la siguiente:
[html]
[head]
[title]Título de la web (muy importante)[/title]
[meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"]
[meta name="keywords" content="palabras por las que queremos aparecer en los buscadores separadas por espacios"]
[meta name="description" content="Breve descripción de la web. Este es el párrafo resumen que aparece en los buscadores"]
[/head]
[frameset border="0" framespacing="0" frameborder="0" cols="100%,*"]
[frame src="INDEX.PRO" name="web" frameborder="0" framespacing="0" noresize]
[/frameset]
[noframes]
[body bgcolor="#FFFFFF"]
Su navegador no soporta frames. Actualice su versión.
[/body]
[/noframes]
[/html]
Como veis definimos un frameset con dos columnas; la primera del 100% de ancho y la otra del resto, es decir, nada, y como contenido de la primera columna ponemos el INDEX.PRO
Así conseguimos varios efectos colaterales:
1.- Tener una página inicial que es un proceso y no una página. En un proceso podemos hacer lo que queramos, una página es html "tonto".
2.- Escondemos toda la web dentro de un frame. La dirección en la barra del navegador siempre mostrará el título de la página principal y no se verán cosas
raras ni incómodas como la ip de nuestro servidor, la pasarela cgi de Velneo, los nombres de los procesos y las variables globales que manejamos.
3.- Si tenemos nuestro dominio.com contratado en un servidor externo, la redirección será siempre la misma; http://ip_servidor/cgi-vel/alias_aplicacion/ y no deberemos apuntar a una INDEX.PAG o un INDEX.PRO
4.- Por aquí sólo se pasará una vez en cada sesión, al conectar por primera vez con nuestra web, el resto de veces, desde cualquier punto interno de la web, iremos directamente al INDEX.PRO
Ahora, de momento, sólo queda ver cómo es el proceso inicial INDEX.PRO
En este proceso veremos si hay un NAVEGANTE o no. Si lo hay (el usuario procede del interior de la web), lo conservaremos, y si no lo hay (el usuario procede del exterior de la web), lo daremos de alta.
Para ello usaremos una variable global NAV en memoria independiente para cada tarea en segundo plano accesible web de tipo numérico con la misma longitud que el campo CODIGO de la tabla de NAVEGANTES.
El proceso puede ser algo como:
Rem-] Inicializamos la página html
Set-] pagina,""
Rem-] Recibimos el Navegante
Set-] navegante,$NAV$
Rem-] Comprobamos si viene de fuera o de dentro
if-] fCampoVacio('navegante')
Rem-] Viene de fuera
Rem-] y le asignamos un Navegante
Alta directa-] NAVEGANTES
Pre
Libre
Post
Set-] navegante, %CODIGO%
Rem-] Apuntamos la visita
Alta directa-] VISITAS
Pre
Modificar campo-] NAVEGANTE, 'navegante'
Modificar campo-] PAGINA, "Entrada a la web"
Post
Libre
Rem-] Componemos la página, pasando el parámetro 'navegante'
Html: ejecutar componente-] pagina, INDEX, 'navegante'
Rem-] Devolvemos la página
Añadir retorno texto-] 'pagina'
Analicemos el proceso en profundidad.
Lo primero que hacemos es inicializar la variable local 'pagina' que es la que contendrá el resultado de ejecutar el componente html que compondrá la página html. Es conveniente hacer siempre esta inicialización.
Pasamos el contenido de la variable global NAV a la variable local 'navegante' y comprobamos si está vacía con la función fCampoVacío(). Si está vacía quiere decir que esta visita viene de fuera de nuestra web y le asignamos un NAVEGANTE mediante alta directa en la tabla NAVEGANTES. Si no está vacía, quiere decir que esta visita proviene del interior de nuestra web, y conservamos su valor.
Apuntamos la visita a esta página mediante alta directa en la tabla VISITAS, especificando el NAVEGANTE y la página visitada.
Ahora ejecutamos el componente html INDEX que compondrá nuestra web, pasándole el parámetro 'navegante', y devolvemos como resultado la página html.
Con esto hemos conseguido que, a partir de aquí, cualquier visita a nuestra web tenga asignado un NAVEGANTE que arrastraremos por el resto de páginas de la web, pasándolo siempre como parámetro.
En el momento en que un usuario haga login positivo podemos apuntar el USUARIO en la tabla NAVEGANTES y de ahí en adelante ya lo tenemos identificado en cualquier página de la web.
En una próxima entrega, espero que muy pronto, seguiremos con este desarrollo para completar el login, ver la posibilidad de la caducidad de las sesiones de usuario, y hacer un estudio completo del histórico de visitas a nuestra web.
Hasta pronto!!
viernes, 3 de noviembre de 2006
Fondo Velneo 002
Primeros pasos con Velneo
Sirva esta anotación para contaros mi experiencia de aprendizaje de Velneo, aunque si ya leisteis esta otra anotación sabreis algo más sobre ello.
Como decía en otro post anterior, parte fundamental del aprendizaje de Velneo se basa en el cambio de chip. Velneo es otro mundo y si provienes de otros entornos de desarrollo como Access, Visual Basic, Delphi, php, asp, .net u otros similares, quizás lo más difícil sea olvidar la forma en que trabajabas antes, ya que en Velneo, las cosas son más sencillas, más directas, menos artificiales, más lógicamente naturales.
Empecé con Velneo siendo prácticamente virgen como programador (aquí está explicado), y tuve la enorme suerte de recibir clase de un experto programador de Velneo; concrétamente tres sesiones de tres horas cada una durante tres días.
Ahí conocí por primera vez la estructura de la base de datos; los tipos de tabla, los tipos de campo, los punteros, las actualizaciones, los eventos de tabla..., y fué realmente satisfactorio encontrar un entorno de desarrollo que traducía de una forma tan fiel la idea de base de datos que tenía en la cabeza expresada con conceptos y expresiones, en estructura y relaciones dentro del modelo de base de datos real.
Hasta ese momento mi función dentro de la empresa donde trabajo, a nivel de programación, había sido de colaborador lateral de los programadores, aportando otros puntos de vista a la hora de intentar resolver problemas, como pensador lateral: "Hombre, si tuvieses la posibilidad desde ahí de saber el último precio al que vendiste ese mismo producto a ese mismo cliente..."
Inmediatamente me agencié los dos tomos de Velneo y los devoré incesantemente una y otra vez. Por las noches abandoné lecturas como "El perfume", "El ocho" o "Los pilares de la Tierra", por los dichosos tomos 1 y 2 de Velneo.
El primer tomo es fácil de asimilar, empiezas a conocer Velneo y su forma de trabajar y plantear las cosas, y rápidamente desarrollas tu primera aplicación donde plasmas los dos o tres conceptos que has asimilado, y te entusiasma ver que ya tienes tu primera aplicación funcionando en pocas horas.
Esto me hizo pensar que Velneo era muy fácil, pero más adelante me dí cuenta de que no era así.
El segundo tomo es más difícil de asimilar, ya que trata de tipos de enlaces entre tablas que hasta entonces desconocía al no haberlos encontrado en otros entornos de desarrollo. Parece una tontería, pero aún sigo deleitándome con la lectura esporádica del tomo 2 para refrescar y mantener conceptos.
Tras esto hice los cursos "Básico" y "Avanzado" en la Universidad de La Florida; dos semanas muy productivas tanto por los conocimientos adquiridos como por las personas conocidas allí. Comenzábamos pronto por la mañana, almorzábamos en el bar de la universidad, continuábamos hasta la hora de comer y nos íbamos todos juntos a un bar cercano a la universidad, a comentar nuestras experiencias, nuestras empresas, nuestros desarrollos y las inmensas posibilidades de negocio que nos brindaba la herramienta Velneo. Seguíamos por la tarde hasta que se hacía de noche y nos despedíamos con ganas de que llegase el día
siguiente para seguir descubriendo velneo.
Una vez oficialmente formado en Velneo me incorporé completamente al equipo de desarrollo como programador Velneo con el primer reto de migrar todos nuestros desarrollos anteriores en Access y Visual Basic a Velneo. Tres meses después teníamos todos nuestros desarrollos esenciales migrados. Esta migración nos permitió estandarizar nuestras aplicaciones y, por fín, tras años de infructuosos intentos, disponer de un modelo estandard de desarrollo a partir del cuál realizar personalizaciones a clientes.
Un año después lanzábamos al mercado reservaentradas, la primera suite de ticketing multicanal íntegramente desarrollada en velneo, que actualmente compite con los gigantes del mercado como Tice y Servicaixa.
Pasábamos horas planteando y discutiendo la estructura de la base de datos hasta encontrar una solución óptima. Podíamos permitirnos dedicar el 33% del tiempo de desarrollo a esta fase ya que, una vez definida la estructura conveniente, el resto salía solo, gracias a Velneo.
Aquí fué cuando me dí cuenta de que Velneo, aunque parece fácil, no lo es en absoluto. Requiere muchísima abstracción y conceptos básicos muy claros.
Desde entonces hasta ahora, todo ha sido un camino cada vez más llano. Surgieron las plantillas empresariales y, ni cortos ni perezosos, adaptamos nuestro software a las mismas, consiguiendo integrar en una solución única los diversos desarrollos que manteníamos hasta el momento.
Descubrimos y explotamos al máximo las funciones remotas que nos permitieron hacer replicación de datos en caliente entre servidores, consolidación de datos en grupos de trabajo, etc, e incorporamos a nuestros desarrollos los nuevos objetos TCP/UDP que expandían las posibilidades de comunicación y control de dispositivos externos como lectores biométricos de huellas dactilares.
Ahora seguimos investigando y desarrollando las posibilidades de Velneo en la web que son ricas y variadas.
Así pues, dada mi experiencia con Velneo, mi consejo a los que se quieran iniciar en el maravilloso mundo de Velneo es:
1.- Descárgate los manuales de Velneo, léelos y asimílalos. Es fundamental cambiar el chip y comprender la filosofía de desarrollo Velneo. Si no lo haces, perderás mucho tiempo haciendo procesos que te solucionaría la estructura de la base de datos por sí misma.
2.- Haz los ejemplos de los tomos 1 y 2. Parece que no, pero ayudan mucho.
3.- Lee la ayuda del editor.
4.- Recurre siempre que puedas al soporte de Velneo. Es muy bueno.
5.- Consulta la FAQ, los tutoriales y la vBdC de Velneo. La base de datos del conocimiento es una inmensa recopilación de información útil para el desarrollador Velneo.
6.- Investiga el contenido del almacén de objetos, te sorprenderá. Ahí puedes observar el verdadero estilo de programación Velneo.
7.- Si puedes, realiza algún curso de Velneo, presencial u on-line en la web.
8.- Lee y aprende de las anotaciones publicadas en el foro de Velneo. Hay gente estupenda con muchísima experiencia que no duda en ayudar a los demás.
Ante todo documéntate, lee todo lo que puedas sobre Velneo y cambia el chip.
Si Velneo es una herramienta potentísima, si reduce el tiempo de desarrollo de aplicaciones de gestión de información de forma drástica, es gracias a las estructuras y relaciones de la base de datos, así que "pierde" todo el tiempo que quieras en conocerlas a fondo, te compensará.
Ánimo y bienvenido a Velneo!
Como decía en otro post anterior, parte fundamental del aprendizaje de Velneo se basa en el cambio de chip. Velneo es otro mundo y si provienes de otros entornos de desarrollo como Access, Visual Basic, Delphi, php, asp, .net u otros similares, quizás lo más difícil sea olvidar la forma en que trabajabas antes, ya que en Velneo, las cosas son más sencillas, más directas, menos artificiales, más lógicamente naturales.
Empecé con Velneo siendo prácticamente virgen como programador (aquí está explicado), y tuve la enorme suerte de recibir clase de un experto programador de Velneo; concrétamente tres sesiones de tres horas cada una durante tres días.
Ahí conocí por primera vez la estructura de la base de datos; los tipos de tabla, los tipos de campo, los punteros, las actualizaciones, los eventos de tabla..., y fué realmente satisfactorio encontrar un entorno de desarrollo que traducía de una forma tan fiel la idea de base de datos que tenía en la cabeza expresada con conceptos y expresiones, en estructura y relaciones dentro del modelo de base de datos real.
Hasta ese momento mi función dentro de la empresa donde trabajo, a nivel de programación, había sido de colaborador lateral de los programadores, aportando otros puntos de vista a la hora de intentar resolver problemas, como pensador lateral: "Hombre, si tuvieses la posibilidad desde ahí de saber el último precio al que vendiste ese mismo producto a ese mismo cliente..."
Inmediatamente me agencié los dos tomos de Velneo y los devoré incesantemente una y otra vez. Por las noches abandoné lecturas como "El perfume", "El ocho" o "Los pilares de la Tierra", por los dichosos tomos 1 y 2 de Velneo.
El primer tomo es fácil de asimilar, empiezas a conocer Velneo y su forma de trabajar y plantear las cosas, y rápidamente desarrollas tu primera aplicación donde plasmas los dos o tres conceptos que has asimilado, y te entusiasma ver que ya tienes tu primera aplicación funcionando en pocas horas.
Esto me hizo pensar que Velneo era muy fácil, pero más adelante me dí cuenta de que no era así.
El segundo tomo es más difícil de asimilar, ya que trata de tipos de enlaces entre tablas que hasta entonces desconocía al no haberlos encontrado en otros entornos de desarrollo. Parece una tontería, pero aún sigo deleitándome con la lectura esporádica del tomo 2 para refrescar y mantener conceptos.
Tras esto hice los cursos "Básico" y "Avanzado" en la Universidad de La Florida; dos semanas muy productivas tanto por los conocimientos adquiridos como por las personas conocidas allí. Comenzábamos pronto por la mañana, almorzábamos en el bar de la universidad, continuábamos hasta la hora de comer y nos íbamos todos juntos a un bar cercano a la universidad, a comentar nuestras experiencias, nuestras empresas, nuestros desarrollos y las inmensas posibilidades de negocio que nos brindaba la herramienta Velneo. Seguíamos por la tarde hasta que se hacía de noche y nos despedíamos con ganas de que llegase el día
siguiente para seguir descubriendo velneo.
Una vez oficialmente formado en Velneo me incorporé completamente al equipo de desarrollo como programador Velneo con el primer reto de migrar todos nuestros desarrollos anteriores en Access y Visual Basic a Velneo. Tres meses después teníamos todos nuestros desarrollos esenciales migrados. Esta migración nos permitió estandarizar nuestras aplicaciones y, por fín, tras años de infructuosos intentos, disponer de un modelo estandard de desarrollo a partir del cuál realizar personalizaciones a clientes.
Un año después lanzábamos al mercado reservaentradas, la primera suite de ticketing multicanal íntegramente desarrollada en velneo, que actualmente compite con los gigantes del mercado como Tice y Servicaixa.
Pasábamos horas planteando y discutiendo la estructura de la base de datos hasta encontrar una solución óptima. Podíamos permitirnos dedicar el 33% del tiempo de desarrollo a esta fase ya que, una vez definida la estructura conveniente, el resto salía solo, gracias a Velneo.
Aquí fué cuando me dí cuenta de que Velneo, aunque parece fácil, no lo es en absoluto. Requiere muchísima abstracción y conceptos básicos muy claros.
Desde entonces hasta ahora, todo ha sido un camino cada vez más llano. Surgieron las plantillas empresariales y, ni cortos ni perezosos, adaptamos nuestro software a las mismas, consiguiendo integrar en una solución única los diversos desarrollos que manteníamos hasta el momento.
Descubrimos y explotamos al máximo las funciones remotas que nos permitieron hacer replicación de datos en caliente entre servidores, consolidación de datos en grupos de trabajo, etc, e incorporamos a nuestros desarrollos los nuevos objetos TCP/UDP que expandían las posibilidades de comunicación y control de dispositivos externos como lectores biométricos de huellas dactilares.
Ahora seguimos investigando y desarrollando las posibilidades de Velneo en la web que son ricas y variadas.
Así pues, dada mi experiencia con Velneo, mi consejo a los que se quieran iniciar en el maravilloso mundo de Velneo es:
1.- Descárgate los manuales de Velneo, léelos y asimílalos. Es fundamental cambiar el chip y comprender la filosofía de desarrollo Velneo. Si no lo haces, perderás mucho tiempo haciendo procesos que te solucionaría la estructura de la base de datos por sí misma.
2.- Haz los ejemplos de los tomos 1 y 2. Parece que no, pero ayudan mucho.
3.- Lee la ayuda del editor.
4.- Recurre siempre que puedas al soporte de Velneo. Es muy bueno.
5.- Consulta la FAQ, los tutoriales y la vBdC de Velneo. La base de datos del conocimiento es una inmensa recopilación de información útil para el desarrollador Velneo.
6.- Investiga el contenido del almacén de objetos, te sorprenderá. Ahí puedes observar el verdadero estilo de programación Velneo.
7.- Si puedes, realiza algún curso de Velneo, presencial u on-line en la web.
8.- Lee y aprende de las anotaciones publicadas en el foro de Velneo. Hay gente estupenda con muchísima experiencia que no duda en ayudar a los demás.
Ante todo documéntate, lee todo lo que puedas sobre Velneo y cambia el chip.
Si Velneo es una herramienta potentísima, si reduce el tiempo de desarrollo de aplicaciones de gestión de información de forma drástica, es gracias a las estructuras y relaciones de la base de datos, así que "pierde" todo el tiempo que quieras en conocerlas a fondo, te compensará.
Ánimo y bienvenido a Velneo!
Suscribirse a:
Entradas (Atom)